电力高效获取适应制造技术

技术编号:17573080 阅读:21 留言:0更新日期:2018-03-28 20:37
系统和方法涉及例如超标量处理器等处理器的指令获取单元。所述指令获取单元包含获取带宽预测器FBWP,其经配置以预测将在所述处理器的管线级中在指令获取群组中获取的指令的数目。FBWP的对应于所述获取群组的第一条目对应于基于所预测的所取得分支指令在所述获取群组中的出现和位置以及与所述预测字段中的所述所预测数目相关联的置信级,将获取的指令的所述数目的预测。所述指令获取单元经配置以在所述置信级大于预定阈值的情况下,仅获取所述所预测数目的指令,而不是可在所述管线级中获取的最大数目的条目。以此方式,避免浪费的指令获取。

【技术实现步骤摘要】
【国外来华专利技术】电力高效获取适应
所揭示的方面涉及处理器中的指令获取。更具体地说,示范性方面涉及用于获取一或多个指令的指令获取单元的改进的电力效率。
技术介绍
一些处理器设计成通过例如在每一时钟循环中并行地获取和执行多个指令来利用指令级并行度。处理器(例如超标量处理器)的指令获取单元可经配置以在单个循环中从指令高速缓冲存储器获取多个指令,被称作指令的获取份额或获取群组,将所述指令群组调度到在执行管线中的两个或更多个功能单元,其中可并行地处理所述指令群组。然而,改变指令(例如所述指令群组中的分支指令)的控制流的存在可导致浪费的指令获取,从而导致电力和资源的浪费。下文将参考常规指令获取单元设计来阐述此浪费。在图1A中,说明常规管线化指令获取单元100用于处理器(未图示)的操作。如图所示,指令获取单元100经配置以在管线的第一获取级(或获取级1)中存取指令高速缓冲存储器110,且在管线的后续、第二获取级(或获取级2)中使用分支预测器112执行分支预测。获取级1形成于管线锁存器102与104与之间。获取级2形成于管线锁存器104与后续管线锁存器(未图示)之间。通过现在组合参考图1A到B,描述通过管线化获取级1和2的指令的实例流。在第一时钟循环(例如图1B的“第1循环”)中,在获取级1中,从通过当前程序计数器(PC)120指向的指令地址开始,从指令高速缓冲存储器110读取或获取获取宽度为W(=5)个循序指令I1、I2、I3、I4和I5(还被称作W个指令的第一群组)的获取群组。这些指令分别涉及“相加”、“分支”、“相减”、“相乘”和“或”指令,其通过所述处理器并行地处理。将W个指令的这些第一群组馈入到第二时钟循环(循环2)中的获取级2,其中将它们解码为上述五个指令。然而,指令I2(其为分支指令)在W个指令的第一群组中的存在可改变后续指令的控制流,不仅针对W个指令的第一群组中的一或多个指令,而且针对一或多个以下群组的指令中的一或多个指令。举例来说,如果取得指令I2的分支指令,那么将需要从所述分支指令的分支目标地址获取后续指令。否则,如果未获得所述分支指令,那么所述控制流可保持不变。为了确定在循环2中从哪开始获取下一(第二)群组的W个指令,获取级1包括计算下一PC116的逻辑。下一PC116是在循环2中将从其获取指令的下一地址或PC,这可取决于第一获取群组种是否曾存在改变分支指令的控制流。在获取级2中,分支预测器112提供将取得还是不取得分支指令I2的预测,且因此提供所预测的分支目标地址114。然而,所预测的分支目标地址114仅在循环2中从获取级2可用。在获取级1、循环1中,加法器106将当前PC120与偏移量118相加,其是基于获取宽度(在此情况下,W=5)和指令编码大小。这提供从其开始获取第二群组W个指令的下一循序地址(针对此情况,在控制流中不存在改变时)。由于加法器106的输出在循环1中从获取级1可用,多路复用器108选择加法器106的输出来在循环2中存取指令高速缓冲存储器110,以获得第二群组的W个指令。对于以下第三循环(循环3,未图示),多路复用器108将能够选择获自循环2的所预测分支目标地址114以存取指令高速缓冲存储器110,但到此时为止,将已经获取第二群组W个指令。因此,在循环2中,通过获取级1,获取第二群组W个指令包括I6、I7、I8、I9和I10(其分别示出为“且”、“除以”、“或”、“相加”和“相减”指令),假定在下一PC116处开始加法器106的输出,同时等待获得所预测的分支目标地址114。在图1B中示出的实例中,此假定变为不正确的,因为预测I2是具有不同于加法器106的输出的所预测分支目标地址114的所取得分支。因此,将丢弃或冲洗所取得分支指令I2之后的指令。将丢弃的I2之后的指令分类成图1B中的两个类别。在第一类别(类型1)中,丢弃与I2相同的第一群组W个指令中的I2之后的指令I3、I4和I5。在第二类别(类型2)中,丢弃不正确地获取的第二群组W个指令中的指令I6、I7、I8、I9和I10,因为所预测的分支目标地址114早先不可用。接着将重新引导指令获取单元100,以在循环3中从所预测的分支目标地址114开始获取新群组的W个指令。如所看到,类型1和类型2指令两者被浪费(即,获取但在执行之前被丢弃),且涉及伴随的电力和资源的浪费。更详细地考虑这些类型1和2,发现如果所预测的分支目标地址114较早(例如,在循环1中)可用,那么类型2指令可能尚未浪费,类似于加法器106的输出。如果存取指令高速缓冲存储器110且从相同管线级(例如获取级1)中可能的分支预测器112获得所预测的分支目标地址114,那么这将已经是可能的。一些常规实施方案尝试通过在单个时钟循环中执行指令高速缓冲存储器存取和分支预测,来防止类型2指令的浪费。图2说明另一常规指令获取单元200,其设计成避免类型2指令的浪费。指令获取单元200类似于许多方面中的指令获取单元100,其中具有相同参考编号的功能单元执行类似功能,且因此将不再重复这些功能的具体阐释。聚焦在指令获取单元100与200之间的显著差异,将指令获取单元200设计成仅具有单个管线级,获取级1,其形成于管线锁存器102与204之间。如可看出,以此方式放置管线锁存器204,以便将分支预测器212容纳在获取级1中。这意味着可存取指令高速缓冲存储器110来在获取级1(例如在循环1)中获取第一群组的指令,其可在同一循环(循环1)中将指令馈送到分支预测器212。分支预测器212可在获取级1、循环1中预测第一群组中的任何分支的方向和目标地址。举例来说,分支预测器212可在获取级1、循环1中提供分支指令I2的所预测的分支目标地址214。多路复用器108可因此选择所预测的分支目标地址214作为下一PC116(其在指令获取单元100中将不可能)。在下一循环(循环2)中,将使用下一PC116来存取指令高速缓冲存储器110。因此,在循环2中,可从所预测的分支目标地址214开始获取正确群组的指令,这将消除类型2指令的浪费。然而,类型1指令将仍被浪费,因为仍将需要丢弃(再次,假定I2的所预测的分支目标地址214不同于从加法器106输出的下一循序地址)例如第一群组的指令中在分支指令I2之后的指令I3、I4和I5。将仅将第一群组中的其余指令(即,所取得分支指令I2以及在I2之前的指令I1)提供到处理器的下一管线级(未图示),以供进一步处理。指令高速缓冲存储器是指令获取单元的最缺电力的组件中的一者。因此,甚至最终丢弃的类型1指令的浪费的获取相当于显著的电力浪费。期望减少或消除因为最终将被丢弃的指令(例如类型1和类型2指令)的不必要的获取而产生的电力浪费。
技术实现思路
示范性方面包含与为处理器设计的指令获取单元有关的系统和方法,所述指令获取单元每时钟循环能够获取一或多个指令的获取群组。在一些方面中,所述处理器可为超标量处理器。所述指令获取单元包含获取带宽预测器(FBWP),其经配置以预测将在处理器的管线级中在指令获取群组中获取的指令的数目。FBWP的对应于获取群组的条目包含预测字段,包括基于所预测的所取得分支指令在获取群组中的出现和位置以及与预测字段中的所预测数目相关联的置信级,将获取的指令的数目的预测。所述指令获本文档来自技高网
...
电力高效获取适应

【技术保护点】
一种为处理器获取指令的方法,所述方法包括:至少部分地基于所预测的所取得分支指令在所述第一获取群组中的出现和位置,预测将在第一指令获取群组中获取的指令的数目;确定与所述所预测指令数目相关联的置信级是否大于预定阈值;以及如果所述置信级大于所述预定阈值,那么在所述处理器的管线级中获取所述所预测数目的指令。

【技术特征摘要】
【国外来华专利技术】2015.08.14 US 14/827,2621.一种为处理器获取指令的方法,所述方法包括:至少部分地基于所预测的所取得分支指令在所述第一获取群组中的出现和位置,预测将在第一指令获取群组中获取的指令的数目;确定与所述所预测指令数目相关联的置信级是否大于预定阈值;以及如果所述置信级大于所述预定阈值,那么在所述处理器的管线级中获取所述所预测数目的指令。2.根据权利要求1所述的方法,其中所述所预测指令数目小于可在所述管线级中获取的指令的最大数目。3.根据权利要求1所述的方法,其包括从与所述处理器相关联的指令高速缓冲存储器获取所述所预测数目的指令。4.根据权利要求1所述的方法,其中所述所预测的所取得分支指令是预测将改变所述第一获取群组中的一或多个指令的控制流的指令。5.根据权利要求1所述的方法,其包括从包括关于所预测的所取得分支指令在获取群组中的出现和位置的信息的表,确定所述所预测的所取得分支指令在所述第一获取群组中的所述出现和位置。6.根据权利要求5所述的方法,其中所述第一获取群组的所述信息存储在所述表的第一条目中。7.根据权利要求6所述的方法,其包括基于所述第一获取群组的第一指令的地址以及分支指令的历史来存取所述第一条目。8.根据权利要求6所述的方法,其中存储在所述第一条目中的所述第一获取群组的所述信息包括所述第一条目是否有效、置信级以及所述所预测的所取得分支指令在所述第一获取群组中的位置的指示。9.根据权利要求8所述的方法,其包括通过分别基于所述所预测指令数目是正确还是不正确来增加或减小所述置信级来训练所述第一条目。10.根据权利要求9所述的方法,其包括当所述所预测数目包括过度预测时,确定所述所预测指令数目不正确,其中所述第一获取群组中的所述所预测的所取得分支指令位于所述第一获取群组中的比所述所预测指令数目小的数目的指令内。11.根据权利要求10所述的方法,其包括更新所述第一条目中的所述所预测的所取得分支指令的所述位置,以指示所述第一获取群组中的所述较小指令数目。12.根据权利要求9所述的方法,其包括在所述所预测数目包括不足预测时,确定所述所预测数目是不正确的,其中所述所预测的所取得分支指令不位于所述第一获取群组内。13.根据权利要求12所述的方法,其进一步包括:确定所述所预测的所取得分支指令位于第二获取群组中;以及基于所述第一获取群组的所述所预测指令数目以及所述所预测的所取得分支指令在所述第二获取群组中的所述位置,来更新所述所预测的所取得分支指令在对应于所述第一群组的所述第一条目中的所述位置。14.根据权利要求12所述的方法,其进一步包括:确定所述所预测的所取得分支指令在所述第二获取群组中的所述位置超出可在所述第一获取群组中获取的位置,或所述第二获取群组不含所预测的所取得分支指令;以及更新所述所预测的所取得分支指令在所述第一条目中的所述位置,以指示可在所述第一获取群组中获取的最大指令数目。15.一种用于处理器的指令获取单元,所述指令获取单元包括:获取带宽预测器FBWP,其经配置以预测将在所述处理器的管线级中在第一指令获取群组中获取的指令的数目,其中所述FBWP的对应于所述第一获取群组的第一条目包括:预测字段,其包括至少部分地基于所预测的所取得分支指令在所述第一获取群组中的出现和位置,将获取的指令的所述数目的预测;以及置信级...

【专利技术属性】
技术研发人员:西望姆·普立亚达尔西瑞米·默汉麦德·艾尔·雪克瑞谷蓝·达莫达伦
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1