本申请总体上涉及提前取出分支目标缓冲器。
背景技术:
1、分支目标缓冲器(btb)是与处理器中的管线相关联并存储关于计算机程序的以前执行的分支指令的信息的存储元件。分支预测器使用存储在btb中的数据来预测在已知引起可能的流变化的指令(诸如分支指令)的情况下程序流将采用的方向。btb因此使用关于在过去的程序流的信息来预测当前程序流。分支预测是有用的,因为它在预测的结果是已知的之前使指令能够由处理器推测地执行。
2、下面所述的实施方式仅作为例子被提供且不是解决已知分支预测器和btb的任何或所有缺点的实现的限制。
技术实现思路
1、这个概述被提供来以简化的形式介绍一系列概念,其在下面在详细描述中被进一步描述。这个概述并不打算识别所要求保护的主题的关键特征或必要特征,也不打算被用作帮助确定所要求保护的主题的范围。
2、提前取出分支目标缓冲器由分支预测器使用以基于用于前一取出束(即,在包括分支指令的取出束之前取出的取出束)的取出指针来确定用于分支指令的目标地址。在提前取出分支目标缓冲器中的条目相应于一个分支指令,并包括识别那个分支指令的目标地址的数据部分。在各种例子中,条目还包括存储识别取出指针的数据的标签部分,该条目由该取出指针编索引。通过将使用所接收的取出指针生成的索引与标签部分匹配以识别匹配条目并接着从匹配条目的数据部分确定用于分支指令的目的地址来执行分支预测。
3、第一方面提供分支预测器,其包括:提前取出分支目标缓冲器,其包括使用取出指针编索引的多个数据条目,每个条目相应于分支指令并包括被布置成存储识别条目所相应于的分支指令的目标地址的数据的数据部分,其中条目由取出束的取出指针编索引,该取出束在包括条目所相应于的分支指令的取出束之前被取出;输入端,其被配置成接收来自处理器中的取出级的取出指针;分支预测逻辑,其被配置成使用提前取出分支目标缓冲器和所接收的取出指针来确定用于分支指令的目标地址;以及输出端,其被配置成向取出级提供用于分支指令的目标地址,其中分支指令是在由所接收的取出指针识别的取出束之后取出的取出束的部分。
4、第二方面提供在硬件逻辑中实现的分支预测的方法,该方法包括:在分支预测器的输入端处接收来自处理器中的取出级的取出指针;使用提前取出分支目标缓冲器和所接收的取出指针来确定用于分支指令的目标地址,提前取出分支目标缓冲器包括使用取出指针来编索引的多个数据条目,每个条目相应于分支指令并包括布置成存储识别分支指令的目标地址的数据的数据部分,其中条目由取出束的取出指针编索引,该取出束在包括条目所相应于的分支指令的取出束之前被取出;以及经由分支预测器的输出端向取出级输出用于分支指令的目标地址,其中分支指令是在由所接收的取出指针识别的取出束之后取出的取出束的部分。
5、第三部分提供非临时计算机可读存储介质,其具有存储在其上的计算机可读指令,所述指令当在用于生成集成电路的表现形式的计算机系统处被执行时使计算机系统生成集成电路的表现形式,该集成电路包括分支预测器,分支预测器包括:提前取出分支目标缓冲器,其包括使用取出指针编索引的多个数据条目,每个条目相应于分支指令并包括布置成存储识别条目所相应于的分支指令的目标地址的数据的数据部分,其中条目由取出束的取出指针编索引,该取出束在包括条目所相应于的分支指令的取出束之前被取出;输入端,其被配置成接收来自处理器中的取出级的取出指针;分支预测逻辑,其被配置成使用提前取出分支目标缓冲器和所接收的取出指针来确定用于分支指令的目标地址;以及输出端,其被配置成向取出级提供用于分支指令的目标地址,其中分支指令是在由所接收的取出指针识别的取出束之后取出的取出束的部分。
6、优选特征可在适当时被组合,如对技术人员明显的,并可与本发明的任何方面组合。
1.一种分支预测器,包括:
2.如权利要求1所述的分支预测器,其中,每个条目还包括被布置成存储识别所述取出指针的数据的标签部分,所述条目通过所述取出指针被编索引。
3.如权利要求2所述的分支预测器,其中,所述分支预测逻辑包括:
4.如权利要求3所述的分支预测器,其中,所述索引是所述接收的取出指针x的至少部分。
5.如权利要求3所述的分支预测器,其中,所述索引是所述接收的取出指针x的全部。
6.如权利要求3所述的分支预测器,其中,与所述分支指令有关的信息包括历史数据。
7.如权利要求1所述的分支预测器,还包括:
8.一种在硬件逻辑中实现的分支预测的方法,所述方法包括:
9.如权利要求8所述的方法,其中,每个条目还包括被布置成存储识别所述取出指针的数据的标签部分,所述条目通过所述取出指针被编索引。
10.如权利要求9所述的方法,其中,使用提前取出分支目标缓冲器确定用于第二分支指令ybr的目标地址z包括:
11.如权利要求10所述的方法,还包括:
12.一种非临时计算机可读存储介质,其具有存储在其上的计算机可读指令,所述计算机可读指令当在用于生成集成电路的表现形式的计算机系统处被处理时使所述计算机系统生成包括如权利要求1所述的分支预测器的集成电路的表现形式。