[发明专利]一种实现值关联间接跳转预测的装置有效
申请号: | 201110108302.7 | 申请日: | 2011-04-28 |
公开(公告)号: | CN102156636A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 程旭;谭明星;刘先华;张吉豫;谢子超;佟冬 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 关联 间接 跳转 预测 装置 | ||
技术领域
本发明属于微处理器设计和应用微处理器的系统设计领域,尤其涉及现代处理器实现值关联间接跳转预测的装置。
背景技术
在现代处理器中,推测式执行是挖掘指令级并行性的重要手段之一。为了提高推测式执行的效率,减少错误的推测执行,准确的转移预测技术是至关重要的。
在现代的宽发射、深度流水的超标量处理器体系结构中,采用转移预测的主要目的是为了提高CPU的运算速度。推测执行是依托于转移预测基础之上的,即如果CPU能够在流水线执行的前条指令结果出来之前能够预测到是否程序转移,就可以提前执行相应的指令,由此可避免处理器中流水线的空闲等待,从而提高CPU的运行速度。另一方面,如果前一指令结果出来后证明转移预测错误,则必须将已装入流水线执行的指令和结果全部清除,然后再将正确的指令装入流水线重新处理,从而降低了处理器性能。
由此可见,准确的转移指令预测技术能够为处理器提供连续的指令流输入,弥补了在转移指令跳转方向和跳转目标地址尚未计算出来时处理器无法继续执行而造成的处理器时钟周期的浪费;而一旦发生转移指令误预测,处理器推测执行的错误步骤上的几十条甚至上百条指令将被丢弃,所有推测执行的工作将被取消,又会造成处理器时钟周期的浪费。因此,提高转移指令预测准确度是转移指令预测设计和应用的关键目标,对现代处理器挖掘指令级并行性具有重要意义。
转移指令根据转移的目标特性可以分为有条件转移与无条件转移,或者分为直接转移与间接转移。其中有条件直接转移(简称“条件转移”)和无条件间接转移(简称“间接跳转”)是两类最重要的转移指令。条件转移指令通常与转移历史具有较强的关联性,因此基于历史的条件转移预测器能够达到较高的预测准确率;而间接跳转指令因具有多个目标地址而难以准确预测。
间接跳转指令被广泛应用于现代面向对象程序和虚拟机解释器程序中,由此而引发了大量间接跳转预测失效。据统计,约45%的转移预测失效是由间接跳转指令所引起的,因此,间接跳转指令的预测失效问题是影响现代处理器性能的重要因素之一,如何设计高效准确的间接跳转预测器是目前处理器设计中面临的一个难题。
在现有的间接跳转预测器中,关联预测器是目前使用最为广泛的一类预测器。为了提高关联预测器的预测准确率,先后有基于历史、基于数据值和基于提前计算等多种间接跳转预测器被提出。其中,基于历史的间接跳转预测器使用跳转方向历史和执行路径历史等信息,指导间接跳转目标地址的预测;基于数据值的间接跳转预测器使用某些数据值指导间接跳转预测;而基于提前计算的间接跳转预测器则使用特殊硬件对虚函数调用这一类特殊的间接跳转指令提前计算其跳转目标地址。
目前,最新研究表明,由于间接跳转指令与某些数据值必然存在较强的关联性,因此基于数据值的间接跳转预测器相对来说通常能够取得较高的预测准确率。尽管如此,现有的基于数据值的间接跳转预测器存在两个难以解决的问题:首先是寻找有效的关联数据值是非常困难的;其次,这些关联数据值很可能在间接跳转预测时是无法得到的。这两个问题导致了现有的基于数据值的间接跳转预测器难以取得理想的预测结果。
发明内容
本发明所要解决的技术问题是提供一种实现值关联间接跳转预测的装置,能够根据间接跳转指令的有效关联信息准确地进行间接跳转预测。
为了解决上述技术问题,本发明提供了一种在处理器运行可执行程序过程中实现值关联间接跳转预测的装置,包括一寄存器堆、一分类移位器、一值历史模式寄存器、一目标地址缓冲区、一指令取指模块以及一引导指令发射模块,其中:
指令取指模块,用于在指令的取指时刻将接收的引导指令输出给引导指令发射模块;
引导指令发射模块,用于在引导指令的发射阶段根据该引导指令从寄存器堆读取间接跳转指令所对应的关联数据值,并向分类移位器输出携带该关联数据值的分类移位命令;
寄存器堆,用于通过多个寄存器存放间接跳转指令所对应的关联数据值;
分类移位器,用于根据分类移位命令对关联数据值中的关联信息进行移位,并将移位的关联信息输出给值历史模式寄存器;
值历史模式寄存器,用于将前一值历史模式进行移位,将移位的值历史模式与分类移位器输出的关联信息组合形成更新的值历史模式;
目标地址缓冲区,用于根据所述间接跳转指令的程序计数器PC值和值历史模式作为索引,保存间接跳转指令所对应的目标地址。
进一步地,引导指令中包含有以下信息:
第一类信息,用于指示本引导指令与相应的间接跳转指令之间距离的距离值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110108302.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可溃式限高门架
- 下一篇:一种具有装饰性和警示性且不退色的耐用路缘石