使用所预测值表来提供循环不变值预测,以及相关设备、方法和计算机可读媒体技术

技术编号:16048849 阅读:29 留言:0更新日期:2017-08-20 08:31
本发明专利技术揭示使用所预测值表提供循环不变值预测,以及相关设备、方法和计算机可读媒体。在一个方面中,提供一种包括指令处理电路的设备。所述指令处理电路经配置以检测指令流中的循环主体,且检测所述循环主体内的值产生指令。所述指令处理电路确定所述值产生指令的属性是否与所预测值表的条目匹配。如果确定所述值产生指令的所述属性将存在于所述所预测值表的所述条目中,那么所述指令处理电路进一步确定所述条目的计数器是否超过迭代阈值。响应于确定所述条目的所述计数器超过所述迭代阈值,所述指令处理电路提供所述所预测值表的所述条目中的所预测值,以用于至少一个相依指令的执行。

【技术实现步骤摘要】
【国外来华专利技术】使用所预测值表来提供循环不变值预测,以及相关设备、方法和计算机可读媒体优先权申请案本申请案主张2014年11月18日申请且标题为“使用所预测值表来提供循环不变值预测,以及相关设备、方法和计算机可读媒体(PROVIDINGLOOP-INVARIANTVALUEPREDICTIONUSINGAPREDICTEDVALUESTABLE,ANDRELATEDAPPARATUSES,METHODS,ANDCOMPUTER-READABLEMEDIA)”的第14/546,243美国专利申请案的优先权,其以全文引用的方式并入本文中。
本专利技术的技术大体上涉及处理器对计算机程序的乱序处理执行。
技术介绍
许多常规计算机处理器核心能够通过执行被称作“乱序”(OOO)处理的处理来优化性能。在OOO处理器中,用于相依指令的输入一可用,就可执行依赖于由产生器指令产生作为输入的值的相依指令,不管所述相依指令的实际程序次序如何。OOO处理器因此可实现较大等级的并行指令执行,从而产生较大的指令通过量和较大的处理器性能。然而,OOO处理器的性能可不利地受具有长等待时间的产生器指令(即,其消耗过量的处理器循环,以便产生用于相依指令的输入)影响。在此类情况下,可阻止相依指令执行,从而导致处理器资源的低效利用。如果产生器和相依指令位于循环的主体内,那么负面影响可加剧。一些OOO处理器可尝试通过使用使相依指令能够与产生器指令的执行并行调度的值预测机制来减轻长等待时间产生器指令的影响。但是,此类机制的误预测可导致相对较高的性能代偿(例如需要冲洗或选择性地重放所有最近取到的指令),这随着长等待时间产生器指令的等待时间而增加。此外,常规值预测机制可具有非常受限的覆盖度,因为它们可仅相对于特定指令类型来操作。
技术实现思路
详细描述中所揭示的方面包含使用所预测值表来提供循环不变值预测。还揭示相关设备、方法和计算机可读媒体。在这点上,在一个方面中,提供一种指令处理电路,以在计算机程序指令的运行时间实现循环不变值预测功能性。所述指令处理电路可提供所预测值表,以用于高速缓存将在指令之间传播的所预测值。所述指令处理电路可经配置以检测指令流中的循环主体。在一些方面,可通过将程序计数器(PC)相关分支指令定位到在PC相关分支指令的地址前面的目标地址来检测循环主体。在此些方面中,PC相关分支指令表示循环主体的结束,而目标地址经分支来表示所述循环主体的开头。在检测所述循环主体之后,指令处理电路检测所述循环主体内的值产生指令。所述指令处理电路接着确定所述值产生指令的属性(地址,作为非限制性实例)是否与所述所预测值表的条目匹配。如果值产生指令的属性与所预测值表的条目匹配,那么可通过指令处理电路将所述条目的计数器与迭代阈值进行比较。如果所述条目的计数器超过所述迭代阈值,那么可假定值产生指令是“循环不变”指令,其所预测值可在所述循环的迭代过程中改变极少或根本不改变。所述指令处理电路因此提供存储在所预测值表的条目中的所预测值,以用于至少一个相依指令的执行。以此方式,可将所预测值传播到相依指令,而不需要值产生指令的再执行,从而产生改进的处理器性能。在一些方面,如果值产生指令的属性与所预测值表的条目匹配,但所述条目的计数器并不超过迭代阈值,当通过值产生指令的执行产生的实际值与所述条目的所预测值匹配时,所述计数器可递增。在另一方面,提供一种包括指令处理电路的设备。所述指令处理电路经配置以检测指令流中的循环主体。所述指令处理电路进一步经配置以检测所述循环主体内的值产生指令。所述指令处理电路还经配置以确定值产生指令的属性是否与所预测值表的条目匹配。所述指令处理电路另外经配置以响应于确定值产生指令的属性与所预测值表的条目匹配,确定所述条目的计数器是否超过迭代阈值。所述指令处理电路还经配置以响应于确定条目的计数器超过迭代阈值,提供所预测值表的条目中的所预测值,以用于执行至少一个相依指令。在另一方面,提供一种包括指令处理电路的设备。所述指令处理电路包括用于检测指令流中的循环主体的装置。所述指令处理电路进一步包括用于检测所述循环主体内的值产生指令的装置。所述指令处理电路还包括用于确定值产生指令的属性是否与所预测值表的条目匹配的装置。所述指令处理电路另外包括用于响应于确定值产生指令的属性与所预测值表的条目匹配来确定所述条目的计数器是否超过迭代阈值的装置。所述指令处理电路进一步包括用于响应于确定所述条目的计数器超过迭代阈值来提供所预测值表的条目中的所预测值以用于执行至少一个相依指令的装置。在另一方面,提供一种用于提供循环不变值预测的方法。所述方法包括检测指令流中的循环主体。所述方法进一步包括检测所述循环主体内的值产生指令。所述方法还包括确定值产生指令的属性是否与所预测值表的条目匹配。所述方法另外包括响应于确定值产生指令的属性与所预测值表的条目匹配,确定所述条目的计数器是否超过迭代阈值。所述方法进一步包括响应于确定所述条目的计数器超过迭代阈值,提供所述所预测值表的条目中的所预测值,以用于执行至少一个相依指令。在另一方面,提供一种上面存储有计算机可执行指令的非暂时性计算机可读媒体。所述计算机可执行指令致使处理器检测指令流中的循环主体。所述计算机可执行指令进一步致使所述处理器检测所述循环主体内的值产生指令。所述计算机可执行指令还致使所述处理器确定值产生指令的属性是否与所预测值表的条目匹配。所述计算机可执行指令另外致使所述处理器响应于确定值产生指令的属性与所预测值表的条目匹配,确定所述条目的计数器是否超过迭代阈值。所述计算机可执行指令进一步致使所述处理器响应于确定条目的计数器超过迭代阈值,提供所预测值表的条目中的所预测值,以用于执行至少一个相依指令。附图说明图1是包含用于使用所预测值表提供循环不变值预测的指令处理电路的示范性计算机处理器的框图;图2是说明图1的所预测值表的示范性元素的图;图3A到3F说明用于检测循环主体,产生图1的所预测值表中的条目,使所述条目的计数器递增,且通过图1的指令处理电路将所述条目的所预测值提供给相依指令的示范性通信流;图4A到4C是说明用于使用图1的指令处理电路的所预测值表来提供循环不变值预测的示范性操作的流程图;以及图5是可包含图1的指令处理电路的示范性基于处理器的系统的框图。具体实施方式现参考各图,描述本专利技术的若干示范性方面。词语“示范性”在本文中用于表示“充当实例、例子或说明”。本文中描述为“示范性”的任何方面未必理解为比其它方面优选或有利。详细描述中所揭示的方面包含使用所预测值表来提供循环不变值预测。还揭示相关设备、方法和计算机可读媒体。在这点上,在一个方面中,提供一种指令处理电路,以在计算机程序指令的运行时间实现循环不变值预测功能性。所述指令处理电路可提供所预测值表,以用于高速缓存将在指令之间传播的所预测值。所述指令处理电路可经配置以检测指令流中的循环主体。在一些方面,可通过将程序计数器(PC)相关条件性分支指令定位到在PC相关条件性分支指令的地址前面的目标地址来检测循环主体。在此些方面中,PC相关条件性分支指令表示循环主体的结束,而目标地址经分支来表示所述循环主体的开头。在检测所述循环主体之后,指令处理电路检测所述循环主体内的值产生指令。所述指令处理电路接本文档来自技高网
...
使用所预测值表来提供循环不变值预测,以及相关设备、方法和计算机可读媒体

【技术保护点】
一种包括指令处理电路的设备,其经配置以:检测指令流中的循环主体;检测所述循环主体内的值产生指令;确定所述值产生指令的属性是否与所预测值表的条目匹配;以及响应于确定所述值产生指令的所述属性与所述所预测值表的所述条目匹配:确定所述条目的计数器是否超过迭代阈值;以及响应于确定所述条目的所述计数器超过所述迭代阈值,提供所述所预测值表的所述条目中的所预测值,以用于至少一个相依指令的执行。

【技术特征摘要】
【国外来华专利技术】2014.11.18 US 14/546,2431.一种包括指令处理电路的设备,其经配置以:检测指令流中的循环主体;检测所述循环主体内的值产生指令;确定所述值产生指令的属性是否与所预测值表的条目匹配;以及响应于确定所述值产生指令的所述属性与所述所预测值表的所述条目匹配:确定所述条目的计数器是否超过迭代阈值;以及响应于确定所述条目的所述计数器超过所述迭代阈值,提供所述所预测值表的所述条目中的所预测值,以用于至少一个相依指令的执行。2.根据权利要求1所述的设备,其中所述指令处理电路经配置以通过以下步骤来检测所述循环主体:检测去往程序计数器PC相关分支指令的地址前面的目标地址的所述PC相关分支指令;确定是否预测将采取所述PC相关分支指令;响应于确定预测将采取所述PC相关分支指令,设定循环主体指示符;以及响应于确定预测将不采取所述PC相关分支指令,清空所述循环主体指示符;所述指令处理电路经配置以响应于所述循环主体指示符正被设定而检测所述值产生指令。3.根据权利要求1所述的设备,其中所述指令处理电路进一步经配置以响应于确定所述条目的所述计数器不超过所述迭代阈值:在执行所述值产生指令后,即刻确定所述值产生指令所产生的实际值是否与所述所预测值匹配;响应于确定所述实际值与所述所预测值匹配,使所述条目的所述计数器递增;以及响应于确定所述实际值与所述所预测值不匹配,使所述条目失效。4.根据权利要求1所述的设备,其中所述指令处理电路进一步经配置以响应于确定所述值产生指令的所述属性与所述所预测值表的所述条目不匹配,通过将所述值产生指令的所述属性和所述值产生指令的执行所产生的实际值存储在所述条目中,来在执行所述值产生指令后即刻产生所述所预测值表中的所述条目。5.根据权利要求1所述的设备,其中所述指令处理电路以通信方式耦合到常数高速缓冲存储器;且所述指令处理电路经配置以经由所述常数高速缓冲存储器提供所述所预测值表的所述条目中的所述所预测值。6.根据权利要求1所述的设备,其中所述值产生指令的所述属性包括所述值产生指令的地址。7.根据权利要求1所述的设备,其集成到集成电路IC中。8.根据权利要求1所述的设备,其集成到选自由以下各项组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝式电话;计算机;便携式计算机;桌上型计算机;个人数字助理PDA;监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;以及便携式数字视频播放器。9.一种包括指令处理电路的设备,其包括:用于检测指令流中的循环主体的装置;用于检测所述循环主体内的值产生指令的装置;用于确定所述值产生指令的属性是否与所预测值表的条目匹配的装置;用于响应于确定所述值产生指令的所述属性与所述所预测值表的所述条目匹配来确定所述条目的计数器是否超过迭代阈值的装置;以及用于响应于确定所述条目的所述计数器超过所述迭代阈值而提供所述所预测值表的所述条目中的所预测值以用于至少一个相依指令的执行的装置。10.一种提供循环不变值预测的方法,其包括:检测指令流中的循环主体;检测所述循环主体内的值产生指令;确定所述值产生指令的属性是否与所预测值表的条目匹配;以及响应于确定所述值产生指令的所述属性与所述所预测值表的所述条目匹配:确定所述条目的计数器是否超过迭代阈值;以及响应于确定所述条目的所述计数器超过所述迭代阈值,提供所述所预测值表的所述条目中的所预测值,以用于至少一个相依指令的执行。11.根据权利要求...

【专利技术属性】
技术研发人员:S·S·斯里坎塔亚
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1