更名装置及处理器制造方法及图纸

技术编号:2882040 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了不使硬件变得复杂且能进行灵活性的寄存器更名处理的更名装置及处理器,该处理器包括指令存储器(1)、取指令单元(2)、译码单元(3)、执行后述的更名指令的更名控制单元(RCU)(4)、更名控制寄存器(RCR)(5)、执行译码指令的运算处理单元(ALU)7。根据用于指定物理寄存器号码与逻辑寄存器号码对应关系的专用指令即寄存器更名指令,相对于控制寄存器内任意的束为每个束指定物理寄存器号码与逻辑寄存器号码的对应关系。从而可以不增加指令数,并抑制流水线气泡的发生。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及微处理器与数字信号处理器(DSP)那种要求高频作业的处理器和要求进行寄存器更名的更名装置,特别涉及到进行软件流水线化的技术。
技术介绍
为了谋求高性能,一定要提高处理器的频率,增多流水线阶段数,从而增多了流水线气泡(pipeline bubble)(流水线失速(pipeline stall))。为了隐藏气泡,一般进行软件的流水线化。图18示明某种处理器的流水线阶段,图19例示执行图18的处理程序的程序。图18的处理器是在执行图19的程序时,假定完全没有数据的旁路,只是在W阶段对寄存器进行写入后,于D阶段才能读入数据。能够执行具有1 issue-互锁机能流水线的处理器,按图20的程序执行图19的程序。在指令1的Wa(第5周期),将数据写入寄存器r1,在指令2的Wb(第6周期),将数据写入寄存器r2。指令3用于在Dc读入寄存器r1、r2,使3个周期互锁(失速)。这是取决于数据依存关系的流水线气泡,在图20中以“*”表示。在图20的例子中,存在6个流水线气泡。同样,将于指令3的Wd写入的寄存器r3由指令4于De读入。指令5是普通的转移指令,与其他指令不存在依存关系,因此可直接于下一周期执行。此外,图20中出于简化目的,将循环的转移命令作为无补偿的(无转移延迟时隙),而装入存储指令的地址加1也作为能够在1个周期实现。为了解决图20中的流水线气泡,进行了各循环的重叠。图21例示重叠的执行。在图21的例子中,于3个循环中只发生一个流水线气泡。而在图20的例子中,每1个循环就发生6个流水线气泡,因而能使气泡数剧减到其1/18。为了提高指令吞吐量的性能,最初是将程序组成软件流水线的方式来实现。此种程序例如是图22中所示的。在图22的例子中,于循环1使用了寄存器r1、r2、r7、a1、a2、a7,于循环2使用了寄存器r3、r4、r8、a3、a4、a8,于循环3使用了寄存器r5、r6、r9、a5、a6、a9。这样,在图22的例子中,由于各循环分别使用了不同的寄存器,程序的指令数增多为3倍,因而必需指定程序使在重叠的各个循环中的寄存器不会相交。作为用于解决上述烦杂性的先有技术已提出了以下两种。一种是具有失序发布功能和自动寄存器更名功能的处理器,此种处理器按图19的程序所述,进行图21那种理想的作业。但是有用于实现失序发布功能的软件太庞大的问题。第二种是Intel公司的Itanium与Cydzome等的计算机中实际安装的寄存器循环移位功能。用寄存器循环移位来实现图22的例子时即如图23所示。在branch-regrot指令下,于执行循环的跳转命令的同时,进行寄存器的循环移位。循环移位时,3个寄存器各进行变换。此时的程序如图24所示,而流水线的作业如图25所示。第一循环结束时的寄存器的对应关系如图26所示。第二循环结束时的寄存器的对应关系如图27所示。既有的自动更名功能存在有软件复杂的问题。此外,先有的寄存器循环移位功能的灵活性低,具有不适用于单纯循环移位以外的问题。
技术实现思路
本专利技术是在考虑到上述各问题提出的,其目的在于提供能不使硬件复杂而实现富于灵活性的寄存器更名功能的处理器。本专利技术的另一目的在于提供能由简单的电路结构来实现寄存器更名功能的更名装置。为了实现上述目的,本专利技术在具有寄存器的更名功能,进行软件流水线化的处理器中,包括示明物理寄存器号码与逻辑寄存器号码对应关系的控制寄存器;在发布的指令序列中包含有指示为上述控制寄存器设定值的指令的情况下,根据上述指令内容,对上述控制寄存器进行值设定的控制寄存器设定装置。本专利技术由于能根据在控制寄存器中所设定的值,任意变更设定的物理寄存器号码与逻辑寄存器号码的对应关系,故可不使硬件的结构复杂化而实现灵活的寄存器更名功能。此外,由于是把多个寄存器组成的存储体为单位,进行物理寄存器号码与逻辑寄存器号码的对应,因此能简便快速地进行寄存器更名。再有,由于是在控制寄存器中设置第1~第3寄存器部而利用各寄存器部进行寄存器更名,因此能更快速地进行寄存器更名。本专利技术配备有对于以多个物理寄存器或逻辑寄存器为单位的许多存储体的每一个,存储物理寄存器号码与逻辑寄存器号码对应关系的控制寄存器;在发布的指令中包含有变更以上述存储体为单位的物理寄存器号码和逻辑寄存器号码的对应关系的相应变更指令时,将对应于上述指令指示的存储体的上述控制寄存器的内容进行复位的复位装置;根据上述相应变更指令指示的进行相应变更的存储体种类的有关信息和与相应变更量有关的信息,于复位的上述控制寄存器中设定新值的控制寄存器设定装置。如以上详述,根据本专利技术,设有示明物理寄存器号码与逻辑寄存器号码对应关系的控制寄存器,根据程序指定的命令能于控制寄存器中任意设定值,因而可以不使硬件的结构复杂并抑制流水线气泡的发生。特别是还可利用具有先有的失序发布功能的超标量体系结构的处理器等,从而可大幅度简化硬件的结构。此外,由于程序能对物理寄存器号码和逻辑寄存器号码的对应关系进行任意的设定变更,故可实现比具有循环移位功能的处理器更灵活的寄存器循环移位。再有,根据本专利技术,当发布了相应的变更命令,一旦对控制寄存器的内容更名后,按照相应变更命令指示的内容便可为控制寄存器设定新的值,因而能在各区段之间即使不进行数据交换也可进行相应的变更,也能大幅度简化由硬件实现相应装置时的电路结构。于是,能在减少布线量的同时缩短各个布线,从而可以结合处理器的流水线作业进行工作,容易高速地与时钟对应。附图说明图1是示明本专利技术的处理器概略结构的框图。图2例示分5阶段进行的流水线处理。图3例示命令集。图4是示明RENAME(更名)指令执行时的更名控制单元4的处理操作的流程图。图5说明RENAME指令的执行程序。图6例示ROTATE(循环移位)指令的作业。图7例示ROTATE(循环移位)指令的作业。图8例示ROTATE(循环移位)指令的作业。图9例示ROTATE(循环移位)指令的作业。图10例示ROTATE(循环移位)指令的作业。图11例示ROTATE(循环移位)指令的作业。图12示明在寄存器更名的指令下,指定From=2、To=a、Shift=3时的循环移位作业。图13示明进行实际地存取的物理地址。图14例示束数为“8”时的数据总线。图15是本专利技术的更名装置一实施形式的框图。图16示明控制寄存器的值。图17是示明按流水线操作处理器时更名装置的工作状态的框图。图18示明某种处理器的流水线阶段。图19例示图18的处理器执行的程序。图20示明图19的流水线作业。图21例示重叠的执行。图22例示执行软件流水线技术的程序。图23例示寄存器循环移位。图24示明与图23相对应的程序。图25示明图24的流水线作业。图26示明第一循环结束时寄存器的对应关系。图27示明第二循环结束时寄存器的对应关系。图中各标号的意义如下1.指令存储器;2.取指令单元;3.译码单元;4.更名控制单元;5.更名控制寄存器;6.寄存器堆;7.运算处理单元;11.第1判定部;12.第1选择部;13.第1束的号码运算部;14.第2判定部;15.第2选择部;16.“与”电路;17.第2束的号码运算部;18.控制寄存器;19.第3选择部;20.第4选择部;21.寄存器堆。具体实施例方式下面参考附图具体说明本专利技术本文档来自技高网
...

【技术保护点】
一种设定物理寄存器号码与逻辑寄存器号码对应关系的更名装置,包括:存储物理寄存器号码与逻辑寄存器号码对应关系的控制寄存器;在发布的指令序列中包含有设定物理寄存器号码与逻辑寄存器号码对应关系的指令时,根据此指令的内容进行上述控制寄存器设定的控制寄存器设定装置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:国松敦渡边幸男
申请(专利权)人:株式会社东芝
类型:发明
国别省市:JP[日本]

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

1