当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于促进分支预测单元的改善的带宽的设备、方法和系统技术方案

技术编号:37978189 阅读:15 留言:0更新日期:2023-06-30 09:53
本申请公开了用于促进分支预测单元的改善的带宽的设备、方法和系统。用于基于被采用分支的预测来确定指令的执行的处理器的技术和机制。在实施例中,第一预测单元在接连的分支预测周期中的一个周期中生成多个分支预测中的每个分支预测。向执行管线提供分支预测的指示,该执行管线基于该指示来准备执行指令。在分支预测中的第一分支预测被确定为具有低置信度类型的情况下,所述第一分支预测进一步被指示到第二预测单元,该第二预测单元基于第一分支预测针对其被作出的分支指令的同一分支指令来执行第二分支预测。在另一实施例中,第二预测单元基于第一和第二软分支预测彼此不一致而发信号通知执行管线的状态要被清除。不一致而发信号通知执行管线的状态要被清除。不一致而发信号通知执行管线的状态要被清除。

【技术实现步骤摘要】
用于促进分支预测单元的改善的带宽的设备、方法和系统
背景
1.

[0001]本公开总体上涉及处理器技术、分支预测技术和分支偏移预测技术。
2.
技术介绍

[0002]一些中央处理器单元(central processor unit,CPU)核心利用推测性执行以避免管线暂缓并实现更好的性能,这允许执行继续而无需等待对分支目标的体系结构解析。分支预测技术利用数字电路,该数字电路在分支指令被执行之前猜测分支将去往哪条路。正确的预测/猜测改善指令管线中的流。
[0003]一般而言,存在两种分支预测:针对条件分支的分支预测,其可被理解为将分支预测为“被采用”相对于“不被采用”;以及针对非条件分支的分支目标预测,既包括直接分支也包括间接分支。间接分支预测是总体分支预测的重要部分,因为间接分支典型地在其目标解析中涉及较高的等待时间,尤其是对于存储器间接分支,其目标需要从特定的存储器位置来取得(fetch)。分支预测单元(branch prediction unit,BPU)通过在预测点之前基于分支指令指针(instruction pointer,IP)、分支类型和控制流历史(也称为分支历史)为CPU的前端(front

end,FE)提供预测的目标来支持推测性执行。
附图说明
[0004]以示例方式且非限制方式在附图的各图中图示本专利技术的各实施例,在附图中:
[0005]图1A示出图示根据实施例的用于基于分支预测来执行指令的处理器的特征的功能框图。
[0006]图1B示出图示根据实施例的用于提供分支预测信息的处理器的特征的功能框图。
[0007]图2示出图示根据实施例的用于基于分支预测信息来操作处理器的方法的特征的流程图。
[0008]图3A示出图示根据实施例的、在单个周期期间执行的分支预测的特征的时序图。
[0009]图3B示出图示根据实施例的预测踪迹信息的格式的数据图。
[0010]图4示出图示根据实施例的用于基于置信度信息来评估分支预测的处理器的特征的功能框图。
[0011]图5示出图示根据实施例的用于基于分支预测的无效来选择性地清除执行管线的处理器的特征的功能框图。
[0012]图6A至图6E示出各自图示根据对应的实施例的用于操作处理器的相应方法的特征的流程图。
[0013]图7A是图示根据本专利技术的实施例的示例性有序管线和示例性的寄存器重命名、乱序发出/执行管线两者的框图。
[0014]图7B是图示出根据实施例的要包括在处理器中的有序体系结构核心的示例性实
施例和示例性的寄存器重命名、乱序发出/执行体系结构核心两者的框图。
[0015]图8A至图8B图示更具体的示例性有序核心体系结构的框图,该核心是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核心)。
[0016]图9是根据实施例的可具有多于一个的核心、可具有集成存储器控制器、并且可具有集成图形处理的处理器的框图。
[0017]图10至图13是示例性计算机体系结构的框图。
[0018]图14是根据实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0019]本文中所讨论的实施例以各种方式提供用于基于被采用分支的预测来确定指令的执行的技术和机制。在下列描述中,讨论了众多细节,以提供对本公开的实施例的更透彻的解释。然而,对本领域的技术人员将显而易见的是,可以在没有这些特定细节的情况下实施本公开的实施例。在其他实例中,以框图形式,而不是详细地示出公知的结构和设备,以避免使本公开的实施例变得模糊。
[0020]注意,在实施例的对应附图中,利用线来表示信号。一些线可以较粗以指示更多数量的成份信号路径,和/或在一个或多个末端处具有箭头以指示信息流的方向。此类指示不旨在是限制性的。相反,线结合一个或多个示例性实施例使用,以促进对电路或逻辑单元的更容易的理解。如由设计需要或偏好所规定,任何所表示的信号都可实际包括可在任一方向上行进的一个或多个信号,并可利用任何合适类型的信号方案来实现。
[0021]贯穿说明书以及在权利要求书中,术语“连接的”意指所连接的物体之间的诸如电气、机械、或磁性连接之类的无需任何中介设备的直接连接。术语“耦合的”意指直接的或间接的连接,诸如所连接的物体之间的直接的电气、机械、或磁性连接或者通过一个或多个无源或有源中介设备的间接连接。术语“电路”或“模块”可以指布置成用于彼此合作以提供期望功能的一个或多个无源和/或有源组件。术语“信号”可指至少一个电流信号、电压信号、磁信号、或数据/时钟信号。“一(a/an)”和“该”的含义包括复数引用。“在
……
中”的含义包括“在
……
中”和“在
……
上”。
[0022]术语“设备”一般可以指根据使用那个术语的上下文的装置。例如,设备可以指层或结构的堆叠、单个结构或层、具有有源和/或无源元件的各种结构的连接,等等。一般而言,设备是三维结构,具有沿x

y

z笛卡尔坐标系的x

y方向的平面以及沿z方向的高度。设备的平面也可以是包括该设备的装置的平面。
[0023]术语“缩放”一般指将设计(示意图和布局)从一种工艺技术转换为另一种工艺技术,并随后在布局区域中被减小。术语“缩放”一般还指在同一技术节点内缩小布局和设备的尺寸。术语“缩放”还可指信号频率相对于另一参数(例如,功率供给水平)的调整(例如,减速或加速——即,分别为缩小或放大)。
[0024]术语“基本上”、“接近”、“近似”、“附近”以及“大约”一般指处于目标值的+/

10%内。例如,除非在其使用的明确的上下文中以其他方式指定,否则术语“基本上相等”、“大约相等”和“近似相等”意指在如此描述的物体之间仅存在偶然变化。在本领域中,此类变化典型地不大于预定的目标值的+/

10%。
[0025]应当理解,如此使用的术语在适当情况下是可互换的,例如使得本文中所描述的本专利技术的实施例能够以不同于本文中所图示或以其他方式描述的那些取向的其他取向来操作。
[0026]除非另外指定,否则使用序数形容词“第一”、“第二”、“第三”等来描述公共对象,仅仅指示类似对象的不同实例被提及,并且不旨在暗示如此描述的对象必须在时间上、空间上、排名上、或以任何其他方式处于给定序列中。
[0027]在说明书和权利要求书中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“在

上方”、“在

下方”等(如果有)用于描述性目的,并且不一定用于描述永久的相对位置。例如,如本文中所使用的术语“在
……
上方”、“在
……
下方”、“前侧”、“后侧”、“顶”、“底”,“在
……
上方”、“在
……<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于执行指令的处理器,所述处理器包括:第一预测电路,所述第一预测电路用于检测包括第一分支预测的N个分支预测的实例,其中N是大于1的整数,其中所述第一预测电路用于检测所述实例包括所述第一预测电路用于在分支预测周期序列中的第一周期中标识所述N个分支预测中的每个分支预测,其中所述N个分支预测中的一个或多个分支预测各自基于所述N个分支预测中相应的另一个分支预测;控制器电路,所述控制器电路耦合至所述第一预测电路,其中基于所述实例,所述控制器电路用于:向执行管线指示所述N个分支预测中的每个分支预测;以及基于与所述第一分支预测相对应的置信度度量来确定是否将所述第一分支预测发送至预测单元;以及第二预测电路,所述第二预测电路耦合至所述控制器电路,其中,在所述第一分支预测被发送至所述预测单元的情况下,所述第二预测电路用于:执行对所述第一分支预测的有效性状况的评估;以及基于所述有效性状况来确定是否提供用于清除所述执行管线的状态的信号。2.如权利要求1所述的处理器,其中,所述第一分支预测与第一分支指令相对应,并且其中,所述第二预测电路用于执行所述评估包括所述第二预测电路用于:基于所述第一指令来生成第二分支预测;以及确定所述第一分支预测是否与所述第二分支预测一致。3.如权利要求1或权利要求2中任一项所述的处理器,其中,所述控制器电路进一步用于:检测所述第一分支预测的成功后果;以及基于所述成功后果,更新所述置信度度量的值以指示所述第一分支预测的提高的置信度。4.如权利要求1至3中任一项所述的处理器,其中,所述控制器电路进一步用于:检测所述第一分支预测的不成功后果;以及基于所述不成功后果,更新所述置信度度量的值以指示所述第一分支预测的降低的置信度。5.如权利要求1至4中任一项所述的处理器,其中,所述第二预测电路进一步用于在预测从缓冲器被解除缓冲之后接收所述预测;并且其中,所述处理器进一步包括:缓冲器管理器电路,所述缓冲器管理器电路用于将所述第一分支预测指引至所述第二预测电路,其中,基于所述缓冲器为空的确定,所述缓冲器管理器电路用于经由绕过所述缓冲器的路径将所述第一分支预测传输至所述第二预测电路。6.如权利要求1至5中任一项所述的处理器,其中,所述控制器电路用于经由缓冲器将所述第一分支预测发送至所述第二预测电路,其中,所述处理器进一步包括缓冲器管理器电路,所述缓冲器管理器电路用于:检测其中对所述缓冲器的利用高于阈值水平的状况;以及基于所述状况来生成用于降低所述执行管线的操作速率的信号。
7.如权利要求6所述的处理器,其中,所述缓冲器管理器电路用于检测所述状况包括所述缓冲器管理器电路用于检测所述缓冲器当前已满,并且其中,所述信号用于至少暂时地停止由所述执行管线对指令的执行。8.如权利要求7所述的处理器,其中,所述缓冲器管理器电路用于检测所述状况包括所述缓冲器管理器电路用于检测入列至所述缓冲器的预测的总数量当前大于阈值数量并且当前还小于所述缓冲器能够容纳的预测的最大可能数量;并且其中,基于所述信号,所述执行管线用于转变至指令执行的正速率。9.如权利要求1至5中任一项所述的处理器,进一步包括选择器电路,其中,所述控制器电路用于向所述执行管线指示所述N个分支预测中的每个分支预测包括:所述控制器电路用于发信号通知所述选择器电路选择所述N个分支预测中的一个分支预测的指示而不是不同于所述N个分支预测中的任何分支预测的预测的指示。10.一种在处理器处用于执行指令的方法,所述方法包括:检测包括第一分支预测的N个分支预测的实例,其中N是大于1的整数,其中检测所述实例包括在分支预测周期序列中的第一周期中标识所述N个分支预测中的每个分支预测,其中所述N个分支预测中的一个或多个分支预测各自基于所述N个分支预测中相应的另一个分支预测;基于所述实例来进行以下步骤:向执行管线指示所述N个分支预测中的每个分支预测;标识与所述第一分支预测相对应的置信度度量;以及基于所述置信度度量,确定是否将所述第一分支预测发送至预测单元;以及在所述第一分支预测被发送至所述预测单元的情况下进行以下步骤:执行评估,以确定所述第一分支预测的有效性状况;以及基于所述有效性状况,确定是否提供用于清除所述执行管线的状态的信号。11.如权利要求10所述的方法,其中,所述第一分支预测与第一分支指令相对应,所述方法进一步包括:将所述第一分支预测发送至所述预测单元;以及执行所述评估,包括:利用所述预测单元基于所述第一指令来生成第二分支预测;以及确定所述第一分支预测是否与所述第二分支预测一致。12.如权利要求10或权利要求...

【专利技术属性】
技术研发人员:S
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1