[发明专利]超长指令字变长指令实现方法及实现该方法的处理器无效
申请号: | 201210076708.6 | 申请日: | 2012-03-21 |
公开(公告)号: | CN102662635A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 郭德源;何虎 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 贾玉健 |
地址: | 100084 北京市海淀区1*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 超长 指令 变长 实现 方法 处理器 | ||
技术领域
本发明属于指令编码架构领域,涉及对复杂计算操作指令编码的拆分,特别涉及一种超长指令字变长指令实现方法及实现该方法的处理器。
背景技术
对于采用固定长度或有限长度指令编码的处理器架构,一些复杂的计算操作由于指令编码长度的限制而无法用一条指令来实现,必须将这些复杂的计算操作拆分为互相有数据依赖关系的多条简单指令。
依据指令集架构来分类,处理器架构可分为复杂指令集计算(CISC,Complex Instruction Set Computing)和精简指令集计算(RISC,Reduced Instruction Set Computing)两种。
在CISC架构的处理器中,往往采用可变长度的指令,很容易用单条指令来实现复杂的计算操作。然而对于RISC架构的处理器来说,它的指令编码一般具有固定的长度,每条指令的功能也较为简单。通常情况下,RISC处理器的每条指令的长度不超过32bit,这是由指令编码空间和可执行代码体积两个因素决定的,采用32bit或16bit的指令编码,能够在指令编码空间和代码体积之间取得较好的均衡。如清华大学微电子所DSP实验室自主研发的第三代数字信号处理器Magnolia采用32bit固定长度的指令编码,而该实验室自主研发的第二代数字信号处理器Lily则采用16bit和32bit混合长度的指令编码方式。
类似RISC架构这种固定长度或有限长度的指令编码方式,为其带来一个问题,就是一些复杂的计算操作,由于指令编码长度的限制,无法用一条简单的指令来实现。如对32/64bit位宽的立即数或地址的操作,复数运算、向量运算、加/解密、通信、多媒体等领域中包含多个操作数的复杂计算操作,对内存中的数据进行复杂操作等。
在传统的采用固定长度或有限长度指令编码的处理器设计中,为了实现这些复杂的计算操作,往往把这些操作拆分为互相有数据依赖关系的多条简单指令。由于数据依赖关系的存在,这些指令必须按照选择顺序,在多个时钟周期内顺次执行,无法在单个时钟周期内完成。如果不对这些复杂的计算操作进行拆分,而是像CISC处理器那样定义不规则长度的指令来实现,则不仅会破坏处理器指令集的一致性,还会对处理器的取指、译码、分发等硬件逻辑设计造成较大影响,甚至可能成为关键路径,降低处理器的性能。
当今的处理器架构设计中,为了提高处理器的计算能力,往往使用多发射(Multiple Issue)技术来实现指令级并行(ILP,Instruction Level Parallelism)。多发射技术可通过在处理器中设计一系列独立的硬件执行单元来实现,多个硬件执行单元可以并行地执行不同的指令。根据数据依赖关系判定和指令并行性判定方式的不同,又可以把采用了多发射技术的处理器架构分为超标量(Superscalar)、超长指令字(VLIW,Very Long Instruction Word)、显式并行指令计算(EPIC,Explicitly Parallel Instruction Computing)等。如清华大学微电子所DSP实验室自主研发的第二代和第三代数字信号处理器都是采用了多发射技术的VLIW架构处理器,第二代的Lily处理器具有6个独立的硬件执行单元,第三代的Magnolia处理器具有8个独立的硬件执行单元,即能够实现最多6条或8条指令的并行执行。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种超长指令字变长指令实现方法及实现该方法的处理器,解决了复杂的计算操作难以用单条指令实现的问题。
为了实现上述目的,本发明采用的技术方案是:
一种超长指令字变长指令实现方法,首先将难以用固定长度或有限长度指令编码实现的复杂计算操作拆分为多条简单指令,将互相有数据依赖关系的多条简单指令在单个时钟周期内分发到采用多发射技术的处理器的多个硬件执行单元中,通过多个硬件执行单元之间的数据交互与协作,并行地完成计算操作,所述的简单指令是指这些指令符合处理器的固定长度或有限长度的指令编码规则,该组在同一个时钟周期并行执行的有数据依赖关系的多条简单指令视为一条超长指令。
所述多个硬件执行单元之间存在数据交互行为。
所述互相有数据依赖关系的多条简单指令是这些指令之间存在RAW(Read After Write)、WAW(Write After Write)或WAR(Write After Read)类型的数据相关性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210076708.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:肽清除剂
- 下一篇:一种液压系统及工程机械车辆