在基于处理器系统中基于负载路径历史使用地址预测表以提供负载地址预测技术方案

技术编号:19396721 阅读:22 留言:0更新日期:2018-11-10 05:02
实施方式中所公开的方面包含在基于处理器的系统中基于负载路径历史使用地址预测表以提供负载地址预测。在一个方面中,负载地址预测引擎提供含有多个负载地址预测表项的负载地址预测表。每一负载地址预测表项包含用于负载指令的预测子标记字段及存储器地址字段。所述负载地址预测引擎基于用于所检测到的负载指令的识别符及负载路径历史产生表索引及预测子标记。所述表索引用于查找对应的负载地址预测表项。如果所述预测子标记匹配对应于所述表索引的所述负载地址预测表项的所述预测子标记字段,那么所述负载地址预测表项的所述存储器地址字段被提供作为用于所述负载指令的所预测的存储器地址。

【技术实现步骤摘要】
【国外来华专利技术】在基于处理器系统中基于负载路径历史使用地址预测表以提供负载地址预测优先权要求本申请案要求在2016年3月31日申请且题为“在基于处理器系统中基于负载路径历史使用地址预测表以提供负载地址预测(PROVIDINGLOADADDRESSPREDICTIONSUSINGADDRESSPREDICTIONTABLESBASEDONLOADPATHHISTORYINPROCESSOR-BASEDSYSTEMS)”的第15/087,069号美国专利申请案的优先权,所述申请案全文据此以引用方式并入本文中。
本专利技术的技术大体上涉及在通过基于处理器的系统执行计算机程序期间改进负载指令的执行时延,且详言之涉及加速处理器中负载指令及负载依赖型指令的执行。本专利技术的技术大体上涉及在通过基于处理器的系统执行计算机程序期间改进负载指令的执行时延,且详言来说涉及加速处理器中负载指令及负载依赖型指令的执行。
技术介绍
常规的处理器能够在每个处理器时钟循环期间提取及执行若干程序指令。为保证程序指令的正确执行,处理器监视、检测且尝试满足程序指令间的地址与数据相依性。举例来说,处理器可确定生产方与消耗方关系存在于负载指令与后续存储指令之间,且因此可试图确保在允许执行存储指令之前,由负载指令产生的结果可用。确保满足数据相依性对于负载指令尤其关键,这是因为负载指令可表示由处理器执行的程序指令的总数目的相当大的部分。然而,满足用于负载指令的数据相依性可能不利地影响此些负载指令的执行时延。负载指令的执行速度可常常视所搜索的数据在基于处理器的系统的存储器阶层(例如,在层级1(L1)高速缓存存储器、层级2(L2)高速缓存存储器及/或系统存储器中,作为非限制性实例)中的位置而变化。作为一般原理,数据愈接近处理器存储,要求所述数据的负载指令可愈早执行。因此,数据存取时间的此变化性可能不利地影响依赖型负载指令(即,消耗由先前负载指令产生的数据值的指令)的执行时延,这是因为依赖型负载指令必须等待,直到先前负载指令被执行为止。归因于此数据存取时延变化性,常规的处理器优化已集中于(例如,经由数据预取)加速负载指令的执行及/或(例如,经由数据值预测)加速依赖型负载指令的执行。数据预取涉及将被预期或预测为将由负载指令参考的数据值检索到更高高速缓存存储器层级(例如,L1高速缓存存储器),以使得负载指令能够以更及时的方式执行。数据值预测是尝试通过预测将由先前负载指令产生的数据值来加速依赖型负载指令的执行且使得依赖型负载指令使用所预测的数据值进行执行的一种技术。当进行负载指令的后续执行时,所预测的数据值可经确认为有效的,或经取消确认为错误预测的。如果所预测的数据值经确定为错误预测的,那么执行恢复动作,包含清空及使用错误预测的数据值重新执行指令。数据预取及/或数据值预测及其它优化的使用可产生大量的性能增益,但可能需要提供进一步改进此些优化的性能的机构。
技术实现思路
详细描述中所公开的方面包含在基于处理器的系统中基于负载路径历史使用地址预测表以提供负载地址预测。作为非限制性实例,此些基于处理器的系统可包含基于超标量处理器的系统。就此来说,在一个示范性方面中,提供负载地址预测引擎用于预测存储器地址,所述存储器地址可为处理器的执行管线的前端指令管线中所检测到的负载指令的目标。负载地址预测引擎包含含有多个负载地址预测表项的负载地址预测表。负载地址预测表项中的每一者对应于所检测到的负载指令,且包含预测子标记字段及存储器地址字段。当接收负载指令时,负载地址预测引擎基于用于负载指令的识别符(例如,程序计数器)及用于负载指令的负载路径历史两者产生表索引及预测子标记。表索引用于查找负载地址预测表中对应的负载地址预测表项。如果预测子标记匹配对应于表索引的负载地址预测表项的预测子标记字段,那么负载地址预测表项的存储器地址字段被提供作为用于负载指令的所预测的存储器地址。以此方式,负载地址预测引擎可通过提供用于负载指令的存储器地址预测来改进处理器性能。在一些方面中,所预测的存储器地址可用于存取系统数据高速缓存存储器。如果在系统数据高速缓存存储器上产生高速缓存命中,那么用于所预测的存储器地址的数据值可从系统数据高速缓存存储器读取且用于执行数据值预测,因此得到经改进的处理器性能。一些方面也可提供可将所预测的存储器地址提供到处理器的执行管线的后端指令管线以辅助存储器歧义消除。相应地,以此方式,负载地址预测引擎可提高常规的处理器优化的效果。一些方面也可提供负载地址预测表中的每一负载地址预测表项包含表示高速缓存通路的高速缓存通路指示符,在所述高速缓存通路中,预期对应于所预测的存储器地址的存储器块存在于系统数据高速缓存存储器内。通过提供高速缓存通路指示符,避免了存取系统数据高速缓存存储器内所有高速缓存通路的需要,因此减少了系统功率消耗。在一些方面中,负载地址预测表中的每一负载地址预测表项也可包含信赖值字段。信赖值字段可表示相对于由负载地址预测引擎提供的信赖阈值字段(表示用于对应负载指令的所预测的存储器地址为正确的)的信赖等级。当用于负载指令的所预测的存储器地址经确认为正确时可递增信赖值字段。如果用于负载指令的所预测的存储器地址经确定为不正确,或如果负载地址预测表上出现未命中且用于负载指令的现有负载地址预测表项的信赖值为高的,那么可递减信赖值字段。在另一方面中,提供负载地址预测引擎。负载地址预测引擎包括负载地址预测表,所述负载地址预测表经配置以存储各自包括预测子标记字段及存储器地址字段的多个负载地址预测表项。负载地址预测引擎经配置以接收负载指令。负载地址预测引擎进一步经配置以基于用于负载指令的识别符及负载路径历史指示符产生表索引及预测子标记。负载地址预测引擎也经配置以确定预测子标记是否存在于多个负载地址预测表项中的对应于表索引的负载地址预测表项的预测子标记字段中。负载地址预测引擎另外经配置以响应于确定预测子标记存在于多个负载地址预测表项中的对应于表索引的负载地址预测表项的预测子标记字段中而提供来自负载地址预测表项的存储器地址字段的存储器地址作为用于负载指令的所预测的存储器地址。在另一方面中,提供处理器的负载地址预测引擎。负载地址预测引擎包括用于接收负载指令的装置。负载地址预测引擎进一步包括用于基于用于负载指令的识别符及负载路径历史指示符产生表索引及预测子标记的装置。负载地址预测引擎也包括用于确定预测子标记是否存在于负载地址预测引擎的负载地址预测表的多个负载地址预测表项中的对应于表索引的负载地址预测表项的预测子标记字段中的装置。负载地址预测引擎另外包括用于响应于确定预测子标记存在于负载地址预测引擎的负载地址预测表的多个负载地址预测表项中的对应于表索引的负载地址预测表项的预测子标记字段中而提供来自负载地址预测表项的存储器地址字段的存储器地址作为用于负载指令的所预测的存储器地址的装置。在另一方面中,提供用于提供负载地址预测的方法。方法包括通过处理器的负载地址预测引擎接收负载指令。方法进一步包括基于用于负载指令的识别符及负载路径历史指示符产生表索引及预测子标记。方法也包括确定预测子标记是否存在于负载地址预测引擎的负载地址预测表的多个负载地址预测表项中的对应于表索引的负载地址预测表项的预测子标记字段中。方法另外包括本文档来自技高网
...

【技术保护点】
1.一种负载地址预测引擎,其包括负载地址预测表,所述负载地址预测表经配置以存储各自包括预测子标记字段及存储器地址字段的多个负载地址预测表项,且经配置以:接收负载指令;基于用于所述负载指令的识别符及负载路径历史指示符产生表索引及预测子标记;确定所述预测子标记是否存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中;且响应于确定所述预测子标记存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中,提供来自所述负载地址预测表项的存储器地址字段的存储器地址作为用于所述负载指令的所预测的存储器地址。

【技术特征摘要】
【国外来华专利技术】2016.03.31 US 15/087,0691.一种负载地址预测引擎,其包括负载地址预测表,所述负载地址预测表经配置以存储各自包括预测子标记字段及存储器地址字段的多个负载地址预测表项,且经配置以:接收负载指令;基于用于所述负载指令的识别符及负载路径历史指示符产生表索引及预测子标记;确定所述预测子标记是否存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中;且响应于确定所述预测子标记存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中,提供来自所述负载地址预测表项的存储器地址字段的存储器地址作为用于所述负载指令的所预测的存储器地址。2.根据权利要求1所述的负载地址预测引擎,其进一步经配置以基于分支方向历史或分支路径历史或其组合产生所述表索引及所述预测子标记。3.根据权利要求1所述的负载地址预测引擎,其进一步经配置以:确定用于所述负载指令的所述所预测的存储器地址是否存在于处理器的系统数据高速缓存存储器中;响应于确定用于所述负载指令的所述所预测的存储器地址存在于所述处理器的系统数据高速缓存存储器中:从所述系统数据高速缓存存储器检索用于所述所预测的存储器地址的数据;且将所述所检索的数据作为数据值预测提供到所述处理器的执行管线的后端指令管线;且响应于确定用于所述负载指令的所述所预测的存储器地址不存在于所述处理器的系统数据高速缓存存储器中:从所述处理器的系统存储器预取对应于所述所预测的存储器地址的数据;且将所述所预取的数据存储于所述处理器的所述系统数据高速缓存存储器中。4.根据权利要求3所述的负载地址预测引擎,其中:所述多个负载地址预测表项的每一负载地址预测表项进一步包括信赖值字段;且所述负载地址预测引擎经配置以进一步响应于所述负载地址预测表项的所述信赖值字段超出所述负载地址预测引擎的信赖阈值字段而提供所述负载地址预测表项的所述存储器地址字段的所述存储器地址作为用于所述负载指令的所述所预测的存储器地址。5.根据权利要求4所述的负载地址预测引擎,其进一步经配置以在所述负载指令的执行之后执行以下操作:响应于确定所述预测子标记存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的所述预测子标记字段中:确定所述负载指令的实际存储器地址是否匹配用于所述负载指令的所述所预测的存储器地址;响应于确定所述负载指令的实际存储器地址匹配用于所述负载指令的所述所预测的存储器地址,递增对应于所述表索引的所述负载地址预测表项的所述信赖值字段;且响应于确定所述负载指令的实际存储器地址不匹配用于所述负载指令的所述所预测的存储器地址,复位对应于所述表索引的所述负载地址预测表项的所述信赖值字段;且响应于确定所述预测子标记不存在于所述多个负载地址预测表项中的对应于所述表索引的所述负载地址预测表项的所述预测子标记字段中:确定对应于所述表索引的所述负载地址预测表项的所述信赖值字段是否为非零;响应于确定对应于所述表索引的所述负载地址预测表项的所述信赖值字段为非零,递减对应于所述表索引的所述负载地址预测表项的所述信赖值字段;且响应于确定对应于所述表索引的所述负载地址预测表项的所述信赖值字段为零(0),以用于所述负载指令的所述预测子标记及所述实际存储器地址初始化对应于所述表索引的所述负载地址预测表项。6.根据权利要求3所述的负载地址预测引擎,其中:所述多个负载地址预测表项的每一负载地址预测表项进一步包括高速缓存通路字段;且所述负载地址预测引擎经配置以基于所述多个负载地址预测表项中的对应于所述表索引的所述负载地址预测表项的所述高速缓存通路字段确定用于所述负载指令的所述所预测的存储器地址是否存在于所述处理器的所述系统数据高速缓存存储器中。7.根据权利要求1所述的负载地址预测引擎,其经配置以将所述负载地址预测表项的所述存储器地址字段的所述存储器地址作为用于所述负载指令的所述所预测的存储器地址提供到处理器的后端指令管线,以用于存储器歧义消除。8.根据权利要求1所述的负载地址预测引擎,其集成到集成电路IC中。9.根据权利要求1所述的负载地址预测引擎,其集成到选自由以下各者组成的群的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝式电话;智能型电话;平板计算机;平板手机;计算机;便携式计算机;台式计算机;个人数字助理PDA;监视器;计算机监视器;电视;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;及汽车。10.一种处理器的负载地址预测引擎,所述负载地址预测引擎包括:用于接收负载指令的装置;用于基于用于所述负载指令的识别符及负载路径历史指示符产生表索引及预测子标记的装置;用于确定所述预测子标记是否存在于所述负载地址预测引擎的负载地址预测表的多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中的装置;及用于响应于确定所述预测子标记存在于所述负载地址预测引擎的所述负载地址预测表的所述多个负载地址预测表项中的对应于所述表索引的所述负载地址预测表项的所述预测子标记字段中而提供来自所述负载地址预测表项的存储器地址字段的存储器地址作为用于所述负载指令的所预测的存储器地址的装置。11.一种用于提供负载地址预测的方法,其包括:通过处理器的负载地址预测引擎接收负载指令;基于用于所述负载指令的识别符及负载路径历史指示符产生表索引及预测子标记;确定所述预测子标记是否存在于所述负载地址预测引擎的负载地址预测表的多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中;且响应于确定所述预测子标记存在于所述多个负载地址预测表项中的对应于所述表索引的负载地址预测表项的预测子标记字段中,提供来自所述负载地址预测表项的存储器地址字段的存储器地址作为用于所述负载指令的所预测的存储器地址。12.根据权利要求11所述的方法,其中进一步基于分支方向历史或分支路径历史或其组合产生所述表索引及所述预测子标记。13.根据权利要求11所述的方法,其进一步包括:确定用于所述负载指令的所述所预测的存储器地址是否存在于所述处理器的系统数据高速缓存存储器中;响应于确定用于所述负载指令的所述所预测的存储器地址存在于所述处理器的系统数据高速缓存存储器中:从所述系统数据高速缓存存储器检索用于所述所预测的存储器地址的数据;且将所述所检索的数据作为数据值预测提供到所述处理器的执行管线的后端指令管线;且响应于确定用于所述负载指令的所述所预测的存储器地址不存在于所述处理...

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

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

1