[发明专利]本地和全局分支预测信息存储有效
申请号: | 200780018535.X | 申请日: | 2007-06-05 |
公开(公告)号: | CN101449238A | 公开(公告)日: | 2009-06-03 |
发明(设计)人: | D·A·鲁伊克 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 杜 娟 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 本地 全局 分支 预测 信息 存储 | ||
技术领域
本发明总体上涉及在处理器中执行指令。具体来讲,本申请涉及提高处理器执行分支指令的效率。
背景技术
现代计算机系统通常包含多个集成电路(IC),所述集成电路包括可用来处理计算机系统中的信息的处理器。由处理器处理的数据可以包括由处理器执行的计算机指令,并且包括由处理器使用计算机指令操纵的数据。计算机指令和数据通常存储在计算机系统中的主存储器中。
处理器一般依照如下方式处理指令,即,按照一系列小步骤来执行指令。在某些情况下,为了增加处理器处理指令的数目(并且由此增加处理器的速度),处理器可以是流水线(pipeline)式的。流水线化指的是在处理器中提供独立的级,其中每个级实施执行指令所必需的一个或多个小步骤。在某些情况下,流水线(在其它电路以外)可以被置于被称为处理器核的处理器部分中。某些处理器可具有多个处理器核,并且在某些情况下,每一处理器核可具有多条流水线。当处理器核具有多条流水线时,指令组(被称为发布组)可以被并行发布给多条流水线并且由每条流水线并行执行。
作为在流水线中执行指令的一个例子,当第一指令被接收时,第一流水线级可以处理该指令的一小部分。当第一流水线级已经完成对该指令的一小部分的处理时,第二流水线级可以开始处理第一指令的另一小部分,同时第一流水线级接收并且开始处理第二指令的一小部分。由此,所述处理器可以同时(并行)处理两条或更多条指令。处理器通常提供条件分支指令,如果条件得以满足,所述条件分支指令 就允许计算机程序从一个指令分支到目标指令(由此跳过中间指令,如果有的话)。如果条件没有被满足,那么执行所述分支指令之后的下一指令,而不分支到目标指令。通常,直到执行条件分支指令并且测试到所述条件时,才能获知被测试的条件的结果。由此,直到分支条件被测试时,才可能获知将在条件分支指令之后执行的下一指令。
在利用流水线执行指令的情况下,直到所述条件分支指令已经经过了流水线的多个级后,才能获知条件分支指令的结果。由此,直到条件分支指令已经经过用来确定分支条件结果所必需的级时,才能获知条件分支指令之后将执行的下一指令。在某些情况下,在流水线中执行指令会停顿(例如,分支指令前面的流水线级不能用来执行指令)直到分支条件被测试并且知道待执行的下一指令。然而,当流水线停顿时,就无法利用流水线来并行执行多个指令(因为条件分支之前的某些级不在执行指令),由此令流水线的效益降低并且令整个处理器效率降低。
在某些情况下,为了改进处理器的效率,可以使用分支预测来预测条件分支指令的结果。例如,当遇到条件分支指令时,处理器可以预测在分支条件结果被获知后哪条指令将被执行。因此,处理器可以从所预测的下一指令开始继续发布指令,而不是当条件分支指令被发布时使流水线停顿。
然而,在某些情况下,分支预测可能是不正确的(例如,处理器可能预测了条件分支指令的一个结果,但是当执行所述条件分支指令时,可能产生相反的结果)。当错误地预测了条件分支指令的结果时,在条件分支指令之后接着发布给流水线的被预测指令可以从流水线中被移除,并且指令的作用可能被取消(被称为转储清除(flushing)流水线)。然后,在流水线被转储清除之后,可以把条件分支指令的下一正确指令发布给流水线并且可以继续执行指令。当条件分支指令的结果被错误地预测并且被错误预测的指令组从流水线被转储清除、由此取消流水线先前的工作时,处理器的效率会受损。
因此,需要一种改进的方法和设备以用来执行条件分支指令并且 实施分支预测。
发明内容
本发明的实施例提供了一种用于存储分支预测信息的方法和设备。在一个实施例中,所述方法包括接收分支指令并且存储所述分支指令的本地分支预测信息,所述本地分支预测信息包括所述本地分支预测信息的本地可预测性值。所述方法还包括只有当本地可预测性值低于可预测性阈值时,才存储所述分支指令的全局分支预测信息。
本发明的实施例还提供了一种用于执行分支指令的方法。在一个实施例中,所述方法包括接收分支指令并且确定所述分支指令的本地分支预测信息是否被存储。如果所述分支指令的本地分支预测信息被存储,那么使用所述本地分支预测信息来预测所述分支指令的结果。如果所述分支指令的本地分支预测信息没有被存储,那么使用分支指令的全局分支预测信息来预测所述分支指令的结果。只有当所述分支指令的本地分支预测信息的本地可预测性值低于可预测性阈值时,才存储所述指令的全局分支预测信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780018535.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息显示装置
- 下一篇:显示面板和包括该显示面板的显示装置