当前位置: 首页 > 专利查询>清华大学专利>正文

超长指令字变长指令实现方法及实现该方法的处理器技术

技术编号:7758810 阅读:192 留言:0更新日期:2012-09-14 00:18
一种超长指令字变长指令实现方法及实现该方法的处理器,该方法是首先将难以用固定长度或有限长度指令编码实现的复杂计算操作拆分为多条简单指令,然后将互相有数据依赖关系的多条简单指令在单个时钟周期内分发到处理器的多个硬件执行单元中,通过多个硬件执行单元之间的数据交互与协作,并行地完成复杂的计算操作,该处理器是采用多发射技术,在其多个独立的硬件执行单元之间存在数据交互行为,本发明专利技术在多个执行单元之间增加数据交互的能力,使多条指令能够并行地被分发到多个执行单元中,从而提高了执行效率,通过本发明专利技术能够突破指令编码长度限制,用同一时钟周期并行执行的多条指令来实现复杂的计算操作,扩展了指令编码空间,增强了处理器的数据处理能力。

【技术实现步骤摘要】

本专利技术属于指令编码架构领域,涉及对复杂计算操作指令编码的拆分,特别涉及一种超长指令字变长指令实现方法及实现该方法的处理器
技术介绍
对于采用固定长度或有限长度指令编码的处理器架构,一些复杂的计算操作由于指令编码长度的限制而无法用一条指令来实现,必须将这些复杂的计算操作拆分为互相有数据依赖关系的多条简单指令。依据指令集架构来分类,处理器架构可分为复杂指令集计算(CISC,ComplexInstruction 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,VeryLong Instruction Word)、显式并行指令i十算(EPIC, Explicitly Parallel InstructionComputing)等。如清华大学微电子所DSP实验室自主研发的第二代和第三代数字信号处理器都是采用了多发射技术的VLIW架构处理器,第二代的Lily处理器具有6个独立的硬件执行单元,第三代的Magnolia处理器具有8个独立的硬件执行单元,即能够实现最多6条或8条指令的并行执行。
技术实现思路
为了克服上述现有技术的不足,本专利技术的目的在于提供一种超长指令字变长指令实现方法及实现该方法的处理器,解决了复杂的计算操作难以用单条指令实现的问题。为了实现上述目的,本专利技术采用的技术方案是一种超长指令字变长指令实现方法,首先将难以用固定长度或有限长度指令编码实现的复杂计算操作拆分为多条简单指令,将互相有数据依赖关系的多条简单指令在单个时钟周期内分发到采用多发射技术的处理器的多个硬件执行单元中,通过多个硬件执行单元之间的数据交互与协作,并行地完成计算操作,所述的简单指令是指这些指令符合处理器的固定长度或有限长度的指令编码规则,该组在同一个时钟周期并行执行的有数据依赖 关系的多条简单指令视为一条超长指令。所述多个硬件执行单元之间存在数据交互行为。所述互相有数据依赖关系的多条简单指令是这些指令之间存在RAW (Read AfterWrite) > WAff (Write After Write) 5 WAR (Write After Read)类型的数据相关性。一种实现所述超长指令字变长指令实现方法的处理器,采用多发射技术,并且在处理器的多个硬件执行单元之间增加了数据交互,所述的数据交互行为用于传递中间计算结果、寄存器值或控制信息。与现有技术相比,本专利技术提供的优点是I)允许采用固定长度或有限长度指令编码的处理器以此种方式来突破指令编码长度限制,实现复杂的计算操作;2)采用本专利技术的解决方案,可以减少不规则指令编码对处理器的取指、译码、分发逻辑设计的不良影响;3)本专利技术能够使处理器处理复杂计算操作的周期数大幅缩短,从而增强了处理器的并行计算能力,提高了处理器的性能;附图说明图I为本专利技术的方法示意图。图2为本专利技术实施例中传统方式向寄存器写入64bit立即数。图3为本专利技术实施例中采用本专利技术方法的处理器在单周期执行64bit立即数指令。具体实施例方式下面结合附图和实施例对本专利技术做进ー步详细说明。以清华大学微电子所DSP实验室自主研发的第三代数字信号处理器Magnolia为例,它是ー款VLIW架构的处理器。Magnolia处理器中共有8个执行单元,并采用了 32位定长指令编码,如图I所示。对于VLIW架构的处理器来说,各条指令的数据依赖关系是由编译器来判定的,编译器能够在满足各种硬件资源限制的条件下,把没有数据依赖关系的指令安排到同一个时钟周期并行地执行。在实际执行过程中,处理器对指令并行性的判定则采用了该处理器特有的“功能単元升序”的方式来判定。由此可见,Magnolia处理器完全具有本专利技术实现的条件a、采用32bit固定长度的指令编码;b、有多个硬件执行单元,实现了多发射技木。在此基础上,以ー个典型的64bit立即数指令为例,描述本专利技术的具体实施方式。首先,对复杂的计算操作进行拆分。64bit立即数指令要完成向寄存器中写入ー个64位数据的任务,然而一条指令只有有限的32bit,无法同时容纳功能単元、目的寄存器、指令操作码和这个64bit的立即数。在不损害Magnolia处理器的编码方式和指令并行性判定原则的条件下,传统的拆分方式是将此操作拆分成4条独立的指令,每条指令都向同ー个目的寄存器写入64bit立即数的一部分。由于这几条指令的目的寄存器是同一个,所以它们之间存在数据依赖关系,只能由同一个执行单元按先后顺序执行,如图2所示。采用本专利技术的拆分方式为,仍将此操作拆分为4条独立指令,它们使用同一个目 的寄存器,因而仍存在数据依赖关系。但是这4条独立指令被安排到不同的执行单元,这样才能够利用处理器的多发射技木,实现并行的分发和执行。Magnolia处理器共有AAMMDDFF共8个执行单元,本实施例中的4条独立指令,分别被编码到A、M、M、D四个执行单元之中。其次是实现硬件执行单元的数据交互。传统意义的硬件执行单元之间没有耦合,不能够进行数据交互。在本专利技术的方案中,多个硬件执行单元本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:郭德源何虎
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1