处理器及其操作方法技术

技术编号:27205974 阅读:31 留言:0更新日期:2021-01-31 12:29
本发明专利技术提出一种处理器及其操作方法。处理器包括多个实体缓存器以及一重命名电路。重命名电路耦接于多个实体缓存器。重命名电路被配置为接收微指令序列,并且检查微指令序列。当微指令序列中的当前指令包括移动指令时,重命名电路将被分配给当前指令的源逻辑缓存器的一第一实体缓存器分配给当前指令的目的逻辑缓存器,其中,所述第一实体缓存器为所述多个实体缓存器之一。实体缓存器之一。实体缓存器之一。

【技术实现步骤摘要】
处理器及其操作方法


[0001]本专利技术是有关于一种处理器及其操作方法,特别是关于一种可以提高微指令序列执行效率的处理器及其操作方法。

技术介绍

[0002]在一般的处理器架构中,实体缓存器的数量是有限的。特别是,移动指令需要将数据从源逻辑缓存器搬移到目的逻辑缓存器。针对这个移动指令,已知的处理器会分配两个实体缓存器作为这个移动指令的目的逻辑缓存器和源逻辑缓存器。再者,已知的处理器在执行移动指令时会在两个实体缓存器之间进行数据搬移,然而数据搬移需要耗费处理器资源与时间。如何优化实体缓存器的使用效率,以及减少对处理器资源与时间的消耗是急需解决的课题。

技术实现思路

[0003]本专利技术提供一种处理器及其操作方法,以优化实体缓存器的使用效率,并减少对处理器资源与时间的消耗。
[0004]本专利技术的一种处理器包括多个实体缓存器以及一重命名电路。重命名电路耦接于多个实体缓存器。重命名电路被配置为接收微指令序列,并且检查微指令序列。当微指令序列中的当前指令包括移动指令时,重命名电路将被分配给当前指令的源逻辑缓存器的一第一实体缓存器分配给当前指令的目的逻辑缓存器,其中,所述第一实体缓存器为所述多个实体缓存器之一。
[0005]本专利技术的一种处理器的操作方法包括:接收微指令序列;检查微指令序列;当微指令序列中的当前指令包括移动指令时,将被分配给当前指令的源逻辑缓存器的一第一实体缓存器分配给当前指令的目的逻辑缓存器,其中,所述第一实体缓存器为多个实体缓存器之一。
[0006]基于上述,在本专利技术的诸多实施例中,处理器及其操作方法可以检查微指令序列。藉由检查在微指令序列中的当前指令是否包括移动指令,处理器可以决定是否要将已经被分配给当前指令的源逻辑缓存器的一第一实体缓存器分配给当前指令的目的逻辑缓存器。如此一来,实体缓存器的使用效率可以被优化,并可减少对处理器资源与时间的消耗。
附图说明
[0007]图1是根据本专利技术的一实施例绘示一种处理器的电路方块(circuit block) 示意图。
[0008]图2是根据本专利技术的一实施例绘示一种处理器的操作方法的流程示意图。
[0009]图3是根据本专利技术的一实施例绘示一种重命名电路的电路方块示意图。
[0010]图4A与图4B是根据本专利技术的另一实施例绘示一种处理器的操作方法的流程示意图。
符号说明:100:处理器110:实体缓存器单元111、112、11x:实体缓存器120:重命名电路130:指令翻译电路140:重排序缓冲器电路150:保留站电路160:执行电路S210、S230、S240、S260:步骤310:更名表模块320:多路复用器330:实体缓存器分配模块340:快速移动检查模块fastmov:检查结果uopinfo:微指令的相关信息S410、S430、S431、S432、S433、S434、S435、S436、S437、S460、S470、 S475、S480、S490:步骤
具体实施方式
[0011]图1是根据本专利技术的一实施例绘示一种处理器100的电路方块(circuitblock)示意图。请参考图1,处理器100包括实体缓存器单元110以及重命名电路120。重命名电路120耦接于实体缓存器单元110。实体缓存器单元 110具有多个实体缓存器(physical register),例如图1所示实体缓存器111、 112、

、11x。这些实体缓存器111~11x,例如可以是在处理器中有限储存容量的储存元件,可以用来存储数据。
[0012]处理器100还包括指令翻译(instruction translator)电路130。指令翻译电路130可以从指令高速缓存(instruction cache,未绘示)接收/取得至少一个原指令。指令翻译电路130可以将所述至少一个原指令转换(翻译)为微指令序列。微指令序列可以是由多条微指令所组成的序列,并且,每条微指令可以包括指令种类、目的操作数(例如目的逻辑缓存器,逻辑缓存器即架构缓存器,下同)以及源操作数(例如源逻辑缓存器)。以下为微指令序列的一个示例:
[0013]ADD RAX IMM;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
微指令(1)
[0014]MOV RCX RAX;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
微指令(2)
[0015]ADD RDX RCX;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
微指令(3)
[0016]以上的示例所示微指令序列包括3条微指令,其中,微指令(1)的指令种类为ADD(加法指令),目的操作数为逻辑缓存器RAX(逻辑缓存器AX的全部位),而源操作数为立即数IMM。微指令(2)的指令种类为MOV(移动指令),目的操作数为逻辑缓存器RCX(逻辑缓存器CX的全部位),而源操作数为逻辑缓存器RAX。微指令(3)的指令种类为ADD(加法指令),目的操作数为逻辑缓存器RDX(逻辑缓存器DX的全部位),而源操作数为逻辑缓存器RCX。在本实施
例中,依照微指令序列中微指令的先后顺序,当微指令(2) 是“当前指令”时,微指令(1)是微指令(2)的“前一指令”,而微指令(3)是微指令(2)的“后一指令”。需要注意的是,在本专利技术中,“前一指令”和“后一指令”仅用于表示指令之间的先后顺序,并不表示微指令之间一定存在相邻关系。例如,微指令(1)是微指令(2)的“前一指令”,仅仅表示微指令(1)位于微指令(2)的前面。微指令(1)和微指令(2)之间还可以包含其它微指令,也可以相邻。同理,微指令(3)是微指令(2)的“后一指令”,仅仅表示微指令(3)位于微指令 (2)的后面。微指令(2)和微指令(3)之间还可以包含其它微指令,也可以相邻。
[0017]如图1所示,处理器100还包括重排序缓冲器电路140、保留站电路150 以及执行电路160。重命名电路120从指令翻译电路130接收微指令序列,并为上述微指令序列中的每个微指令的源逻辑缓存器或目的逻辑缓存器分配实体缓存器(实体缓存器位于实体缓存器单元110中)。重命名电路120将上述微指令序列发送给重排序电路140和保留站电路150。然后,重命名电路 120更新在重命名电路120中保存的实体缓存器的状态。保留站电路150根据重命名电路120为微指令的源操作数分配的物理缓存器编号,建立微指令之间的依赖关系。等操作数准备完成后,保留站电路150将微指令序列发送给执行电路160去执行。执行电路160执行完上述微指令序列后,将结果存入实体缓存器单元110,并将执行完的微指令标记为等待退休状态。
[0018]图2是根据本专利技术的一实施例绘示一种处理器的操作方法的流程示意图。请参照图1与图2。在本实施例中,重命名电路120耦接至指令翻译电路130 以接收微指令序列(步骤S210)。重命名电路120还可以检查微指令序列(步骤S230)。当微指令序列中的当前指令不包括移动指令时(步骤S230的判断结果为“否”)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,包括:多个实体缓存器;以及一重命名电路,耦接于所述多个实体缓存器,被配置为接收一微指令序列,并且检查所述微指令序列,其中当所述微指令序列中的一当前指令包括一移动指令时,所述重命名电路将被分配给所述当前指令的一源逻辑缓存器的一第一实体缓存器分配给所述当前指令的一目的逻辑缓存器,其中,所述第一实体缓存器为所述多个实体缓存器之一。2.如权利要求1所述的处理器,其中所述重命名电路包括:一更名表模块;以及一快速移动检查模块,被配置为检查所述微指令序列的所述当前指令,当所述当前指令包括所述移动指令时,所述重命名电路依据所述更名表模块中的记录,将被分配给所述当前指令的所述源逻辑缓存器的所述第一实体缓存器分配给所述当前指令的所述目的逻辑缓存器,并且将所述当前指令的所述目的逻辑缓存器与所述第一实体缓存器之间的对应关系记录在所述更名表模块中。3.如权利要求2所述的处理器,其中所述重命名电路还包括:一多路复用器,具有一输出端与一第一输入端,所述多路复用器通过所述输出端与所述第一输入端耦接至所述更名表模块;以及一实体缓存器分配模块,耦接至所述多路复用器的一第二输入端,被配置为当所述当前指令不包括所述移动指令时,进行一分配操作以将一第二实体缓存器分配给所述当前指令的所述目的逻辑缓存器,其中所述第二实体缓存器为所述多个实体缓存器其中之一,其中当所述当前指令包括所述移动指令时,所述快速移动检查模块向所述多路复用器发出一启用快速移动信号,所述多路复用器根据所述启用快速移动信号选择所述第一输入端,从所述更名表模块中读出之前被分配给所述当前指令的所述源逻辑缓存器的所述第一实体缓存器分配给所述当前指令的所述目的逻辑缓存器,并将所述当前指令的所述目的逻辑缓存器与所述第一实体缓存器之间的对应关系通过所述输出端记录在所述更名表模块中。4.如权利要求1所述的处理器,还包括:一重排序缓冲器电路,耦接至所述重命名电路,当所述当前指令包括所述移动指令时,所述重命名电路生成一启用快速移动信号,并将所述当前指令与所述启用快速移动信号发送给所述重排序缓冲器电路;所述重排序缓冲器电路存储所述当前指令,并根据所述启用快速移动信号将所述当前指令标记为等待退休状态。5.如权利要求1所述的处理器,还包括:一保留站电路,耦接至所述重命名电路,当所述当前指令包括所述移动指令时,所述重命名电路生成一启用快速移动信号,并将所述当前指令与所述启用快速移动信号发送给所述保留站电路;所述保留站电路根据所述启用快速移动信号忽略所述当前指令。6.如权利要求1所述的处理器,其中所述第一实体缓存器的所有位至少被分为一高位部分以及一低位部分,所述重命名电路还检查所述当前指令的所述源逻辑缓存器的一第一使用位数量与所述当前指令的所述目的逻辑缓存器的一第二使用位数量,以及
当所述第一使用位数量与所述第二使用位数量其中至少一个小于所述第一实体缓存器的一数据位数量时,并且当所述当前指令包括所述移动指令时,所述重命名电路将所述源逻辑缓存器所对应的所述第一实体缓存器的一清除位标记置为第一数值,并将所述清除位标记存入一更名表模块中,以通知一执行电路去清除所述第一实体缓存器的所述高位部分。7.如权利要求6所述的处理器,其中当所述第一使用位数量与所述第二使用位数量等于所述数据位数量时,所述重命名电路将所述清除位标记置为第二数值,并将其存入所述更名表模块中。8.如权利要求1所述的处理器,其中所述微指令序列还包括一前一指令,当所述当前指令的所述源逻辑缓存器相同于所述前一指令的目的逻辑缓存器时,所述重命名电路将之前分配给所述前一指令的目的逻辑缓存器的所述第一实体缓存器分配给所述当前指令的所述源逻辑缓存器。9.如权利要求8所述的处理器,其中所述微指令序列还包括一后一指令,当所述后一指令的源逻辑缓存器相同于所述当前指令的所述目的逻辑缓存器时,所述重命名电路将之前分配给所述当前指令的所述目的逻辑缓存器的所述第一实体缓存器分配给所述后一指令的源逻辑缓存器。10.如权利要求1所述的处理器,其中当所述当前指令不包括所述移动指令时,所述重命名电路读取一更名表模块以获知所述当前指令的所述源逻辑缓存器所对应的所述第一实体缓存器以及所述第一实体缓存器的一清除位标记,以及将关于所述当前指令、所述第一实体缓存器与所述清除位标记信息提供给所述处理器的一保留站电路。11.如权利要求10所述的处理器,其中所述重命名电路进行一分配操作以将一第二实体缓存器分配给所述当前指令的所述目的逻辑缓存器,并且所述重命名电路还将关于所述第二实体缓存器的信息提供给所述保留站电路,其中,所述第二实体缓存器为所述多个实体缓存器之一。12.如权利要求10所述的处理器,其中所述保留站电路将关于所述当前指令、所述第一实体缓存器与所述清除位标记所述信息发送给所述处理器的一执行电路。13.如权利要求12所述的处理器,其中当所述当前指令的所述第一实体缓存器的所述清除位标记为第一数值时,所述执行电路清除所述当前指令的所述源逻辑缓存器所对应的所述第一实体缓存器的一高位部分,然后执行所述当前指令;以及当所述当前指令的所述第一实体缓存器的所述清除位标记为第二数值时,所述执行电路执行所述当前指令。14.如权利要求10所述的处理器,还包括:一重排序缓冲器电路,耦接至所述重命名电路,其中当所述当前指令不包括所述移动指令时,在所述当前指令被执行完之后,并且发现该当前指令需要被回放或重发送时,所述重排序缓冲器电路将所述当前指令、所述第一实体缓存器与所述清除位标记信息再次提供给所述保留站电路。15.如权利要求1所述的处理器,其中,当所述当前指令包括所述移动指令时,所述重命名电路检查所述当...

【专利技术属性】
技术研发人员:宋晨晨张余杨梦晨王健斌张秋旋
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:

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

1