CN112988233A - 一种面向分支指令预测的偏差矫正器及方法 - Google Patents
一种面向分支指令预测的偏差矫正器及方法 Download PDFInfo
- Publication number
- CN112988233A CN112988233A CN202110165317.0A CN202110165317A CN112988233A CN 112988233 A CN112988233 A CN 112988233A CN 202110165317 A CN202110165317 A CN 202110165317A CN 112988233 A CN112988233 A CN 112988233A
- Authority
- CN
- China
- Prior art keywords
- confidence
- state
- prediction
- branch
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000012937 correction Methods 0.000 claims description 18
- 238000013461 design Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种面向分支指令预测的偏差矫正器及方法,属于超标量乱序发射处理器技术领域。所述偏差矫正器包括地址折叠逻辑,所述地址折叠逻辑对分支指令跳转历史序列以及分支预测结果所构成的序列折叠形成置信状态表的索引,所述偏差矫正器中设有置信状态表、预测结果置信度计算模块以及置信阈值动态调整器,所述置信状态表设有多个,不同表则由不同长度的分支指令跳转历史序列以及分支预测结果折叠获得序列进行索引,表中的每个表项设有状态机判别预测结果的置信状态,且设有表项重分配逻辑以及表项更新逻辑。本发明公开的面向分支指令预测的偏差矫正器及方法可以提高分支预测器的准确率,提升处理器的运算性能。
Description
技术领域
本发明公开了一种面向分支指令预测的偏差矫正器及方法,属于超标量乱序发射处理器领域。
背景技术
目前在处理器中,如何高效地取值与执行指令是提高处理器性能的关键。在取值阶段,处理器默认每条指令的地址有序且线性增加的,如果处理器所执行的程序是顺序结构,此种设计毫无疑问能保持流水线的高效执行,但是,一般情况下执行程序会含有众多循环结构以及条件结构,那么这些结构会造成指令地址的不连续,需要通过跳转指令来实现指令地址的跳转,如果处理器不对这些跳转指令进行预测并提前进行地址跳转,那么会造成取值错误进而影响流水线的整体效率,现在往往通过分支预测器来对跳转指令以及跳转地址进行预测,一个准确率高的分支预测器不仅能左右处理器的性能也是提高处理器性能的关键部件,对于超标量处理器来说,准确度高的分支预测器尤为重要,因为超标量处理器需要在每个周期内取多条指令,每个周期内所取指令中存在跳转指令的概率很高,如果不能对跳转指令进行有效预测,可能会造成流水线无法正常运转。
因为执行程序本身蕴涵一定逻辑规律,所以对跳转指令的有效预测是有可行性的,现在大多数分支预测器的思路都通过某条指令或全局指令的跳转历史来对下条指令是否跳转进行预测,其本质上是对一随机过程进行统计预测,此类统计预测对大部分相关性较强的指令会有比较好的效果,但是对于小部分相关性较弱的指令会产生统计偏差从而造成误判,本发明可针对相关性较弱的指令进行统计学矫正,提高分支预测器的准确率从而有效提升处理器的运算性能。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种面向分支指令预测的偏差矫正器及方法。
(二)技术方案
本发明公开了一种面向分支指令预测的偏差矫正器,其特征在于,所述偏差矫正器包括地址折叠逻辑,所述地址折叠逻辑对分支指令跳转历史序列以及分支预测结果所构成的序列折叠形成置信状态表的索引,所述偏差矫正器中设有置信状态表、预测结果置信度计算模块以及置信阈值动态调整器,所述置信状态表设有多个,不同表则由不同长度的分支指令跳转历史序列以及分支预测结果折叠获得序列进行索引,表中的每个表项设有状态机判别预测结果的置信状态,且设有表项重分配逻辑以及表项更新逻辑。
可选的,所述置信状态表对分支预测结果进行置信状态索引通过地址折叠逻辑进行索引。
可选的,所述置信状态表中的每一个表项为一状态机,用于表征预测结果的置信状态。
可选的,所述表项更新逻辑设有用于初始化各置信状态表中各表项的状态机模块。
可选的,所述表项更新逻辑用于初始化各置信状态表中各表项的状态机。
可选的,所述预测结果置信度计算模块综合不同置信状态表的置信状态,计算分支预测器输出结果的置信度并与置信阈值比较判别是否需要对预测结果进行矫正。
可选的,所述置信阈值动态调整器会根据预测失误更新次数与正确预测更新次数的相对比率来调整置信阈值。
本发明还公开了一种面向分支指令预测的偏差矫正方法,所述偏差矫正方法用所述偏差矫正器进行矫正。
可选的,所述面向分支指令预测的偏差矫正方法具体包括如下步骤:
S1.通过地址折叠逻辑折叠由分支指令跳转历史序列以及分支预测结果所构成的索引;
S2.偏差矫正表通过地址折叠逻辑索引当前分支预测结果的置信状态;
S3.预测结果置信度计算模块通过各置信状态表输出的置信状态计算该预测结果的置信度,并通过与置信阈值动态调整器输出的置信阈值比较来判别当前预测结果是否需要矫正。
S4.置信阈值动态调整器会根据预测失误更新次数与正确预测更新次数的相对比率来调整置信阈值;
S5.当经过矫正的预测结果仍错误时,偏差矫正表表项重分配逻辑根据不同偏差矫正表的矫正结果进行个表表项数的再分配;
S6.表项更新逻辑更新各偏差矫正表中各表项的状态。
(三)有益效果
与现有技术相比,本发明公开的一种面向分支指令预测的偏差矫正器及方法,具备以下有益效果:
本发明公开的偏差矫正器利用分支指令的全局分支历史以及分支预测结果对多个置信状态表进行索引,每个置信状态表索引到的表项中存有表示当前分支指令的预测结果的置信状态,预测结果置信度计算模块对多个置信状态表的置信状态输出进行加权累加操作,得出最终的置信度,该置信度与置信阈值进行比较,置信状态表表项重分配逻辑会把对预测结果产生负面影响的置信状态表的部分表项分配给其他产生正面影响的置信状态表,被重新分配的表项通过置信状态表初始化逻辑进行置信状态的初始化,当分支预测失败时,置信阈值动态调整器同样会对置信阈值进行调整以达到一个相对合适的值,从而提高分支预测器的准确率从而有效提升处理器的运算性能,并且在基于SRAM的置信状态表中,表项的个数等于经过折叠逻辑的全局历史路径所能寻址的表项个数,此设计使表项个数略少于索引实际能寻址的表项个数,可使置信状态表在表项的重分配过程中不会发生地址溢出的问题。
附图说明
图1为本发明的总体结构示意图;
图2为本发明的置信状态表中状态机的变化示意图;
图3为本发明的指预测结果置信度计算模块的结构示意图;
图4为本发明的更新逻辑的状态示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明公开了一种面向分支指令预测的偏差矫正器,如图1所示,所述偏差矫正器包括:地址折叠逻辑,折叠由分支指令跳转历史序列以及分支预测结果所构成的索引;置信状态表,对分支预测结果进行置信状态索引,一个预测偏差矫正器中存在多个置信状态表;置信状态表表项重分配逻辑,根据不同置信状态表的矫正结果进行各表表项数的再分配;置信状态表更新逻辑,初始化各置信状态表中各表项的状态;预测结果置信度计算模块,用于计算分支预测器输出结果的置信度,并判断是否需要矫正;置信阈值动态调整器。
偏差矫正器利用分支指令的全局分支历史以及分支预测结果对多个置信状态表进行索引,每个置信状态表索引到的表项中存有表示当前分支指令的预测结果的置信状态,预测结果置信度计算模块对多个置信状态表的置信状态输出进行加权累加操作,得出最终的置信度,该置信度与置信阈值进行比较,若置信度高于置信阈值则保留分支预测器的结果,若置信度低于置信阈值则修改分支预测器的结果,当经过预测结果矫正仍发生预测失败,置信状态表表项重分配逻辑会把对预测结果产生负面影响的置信状态表的部分表项分配给其他产生正面影响的置信状态表,被重新分配的表项通过置信状态表初始化逻辑进行置信状态的初始化,当分支预测失败时,置信阈值动态调整器同样会对置信阈值进行调整以达到一个相对合适的值。
具体的,每个置信状态表通过经过折叠的全局历史路径与分支预测结果进行索引,全局历史路径是按照某应用的程序代码的逻辑,最近S条分支指令所跳转方向的序列,其中S代表了全局历史路径的长度,分支预测结果指的是分支预测器对某条跳转指令是否跳转的预测结果,一般由一位二进制数表示,偏差矫正器中含有多个置信状态表,每个置信状态表所对应的全局历史路径长度不一而同,不同置信状态表所对应的历史路径依据等比数列所递增,置信状态表可在不同全局历史路径长度情况下,索引偏差矫正器对分支指令预测结果的置信度,该表含有多个表项,每个表项含有置信度状态,通过折叠逻辑进行索引。
置信状态表在具体电路实现中为多端口静态随机存取存储器(SRAM),其中读写端口数根据处理器发射宽度所决定,在基于SRAM的置信状态表中,表项的个数等于经过折叠逻辑的全局历史路径所能寻址的表项个数,此设计使表项个数略少于索引实际能寻址的表项个数,可使置信状态表在表项的重分配过程中不会发生地址溢出的问题。
其中每个表项表征置信状态的为一简单状态机,该状态机拥有8个状态,如图2所示,由左自右,该8个状态分别标号为0-7,当分支预测器的结果正确,且当前状态在4-7时,状态机会向右游走一个状态,当游走至状态7时预测结果仍正确则停留在状态7达到饱和状态;若当前状态在0-3时,则状态机会直接跳转至状态3,当分支预测器的结果错误,且当前状态在0-3时,状态机会向左游走一个状态,当游走至状态0时预测结果仍错误则停留在状态0达到饱和状态;若当前状态在4-7时,则状态机会直接跳转至状态4。
所述折叠逻辑接受全局分支历史以及分支预测结果,首先全局分支历史以及分支预测结果拼接成一个序列,其次把该序列通过异或树进行折叠形成置信状态表的索引,折叠逻辑F(s,m)如下述所示:首先定义异或树逻辑X=(s,m),其可以把长度为s的序列压缩成长度为m的序列,以s=10,m=40为例,设有一40位序列l[39:0],异或树逻辑X=(s,m)作用于l[39:0]形成新的长度为10的序列:有序列s∈S(n)由n位全局历史g[n-1:0]以及一位分支预测结果a组成,定义g′=g×26+n以及如果n≤m,则h′=h×2m-n,否则h′=h,取a的m个最低有效位获得a′,最终获得
此种折叠逻辑的设计考虑到折叠逻辑会造成不同序列之间的冲突,以往的设计中在一定程度上使用指令间的关联性来消除冲突,但是关联性以往很少使用在分支预测相关设计中,有一部分原因是由于额外的硬件复杂度并不能带来准确率的有效提升,相对于传统折叠逻辑,此种逻辑设计对于一序列集合S*,当置信状态表中的表项数小于丨S*丨时,有用序列往往会填充满大多数表项,当两个都是来自S*序列发生冲突时,可以用一个较长的序列来代替其中的一个。
所述预测结果置信度计算模块对各个置信状态表输出结果进行累加操作,其中置信状态表输出结果与索引的表项状态有关,其对应关系如下表所示:
表1置信状态表输出结果与索引的表项状态对应关系表
状态 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
输出结果 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
如图3所示,为置信度计算模块,该模块由基数寄存器、移位寄存器、加法器、数字选择器、比较器构成。基数寄存器为一8-bit寄存器且存有基数:1,移位寄存器根据表项中的不同置信状态对基数进行移位操作,例如当置信状态为2时,移位寄存器对基数右移两位输出4。加法器对各置信状态表的输出结果相加,比较器对累加过后的置信状态表输出结果与置信阈值进行比较,数字选择器根据比较器结果选择输出对分支预测器的矫正结果,若累加结果小于置信阈值则否定预测器的预测结果,反之则承认预测器的预测结果。
已有实验表明,偏差矫正器的最佳阈值会根据分支预测器以及应用的不同而不同,对于大多数基准测试,阈值的质量与预测失误更新次数NUmiss与正确预测更新次数MUcorrect的相对比率之间存在着很强的相关性。所述置信阈值动态调整器通过让NUmiss/MUcorrect接近于1来调整阈值,具体算法如下述所示:如果矫正器判断预测器输出正确且与事实相符,并且输出状态机在状态7,则对置信阈值加1,如果矫正器判断预测器输出错误且与事实相符,并且输出状态机在状态0,则对置信阈值减1,如果矫正器判断预测器输出正确但与事实不符,并且输出状态机在状态4-7,则将置信阈值左移一位,如果矫正器判断预测器输出错误但与事实不符,并且输出状态机在状态0-3,则将置信阈值右移一位。
所述置信状态表表项重分配逻辑会对各置信状态表的表项进行重分配,减少对对矫正失败影响最大的置信状态表的表项数,并把这些表项重新分配给对矫正正确影响最大的置信状态表,假设矫正器中存在4个表,且对于表X,如果X≤3,并且如果对预测的置信判断是错误的,则在表X<N中分配一个或多个表项(如果对预测置信判断是正确的,则不需要分配新条目),重分配表项逻辑通过写入当前分支的计算标记来“窃取”相应的条目,具体做法如下:我们从表X+1到4读取4-X位u,如果所有的位u都被置位,我们选择一个随机的Y[X+1:4]并且只“窃取”表Y上的表项,否则,如果4-X位u中至少有一个被重置,我们只“窃取”位u被复位的表项。
用当前表中的标记位重新初始化被重新分配的条目,此外,相关联的位u被复位,最后,用状态3或状态4重新初始化相关联的表项,具体做法如下,从表0中读取位m,如果m被置位,我们将根据分支结果重新初始化表项中的状态机,即如果执行分支,则初始化为状态4;如果未执行分支,则初始化为状态3,否则,如果位m被复位,我们根据表0中的双模预测重新初始化表项中的状态机,即,如果不进行双模预测,则初始化为状态3,如果进行双模预测,则初始化为状态4。
所述更新逻辑主要是分为状态机更新逻辑以及有效位u更新逻辑。
状态机更新逻辑对表项中的状态机进行更新,这些状态机提供了分支预测结果的置信状态。具体方法如下:当分支预测器的结果正确,且当前状态在4-7时,将状态机更新右移一个状态,当游走至状态7时预测结果仍正确则停留在状态7达到饱和状态;若当前状态在0-3时,则状态机会直接被更新为状态3,当分支预测器的结果错误,且当前状态在0-3时,状态机会向左更新一个状态,当游走至状态0时预测结果仍错误则停留在状态0达到饱和状态;若当前状态在4-7时,则状态机会被更新至状态4。
有效位u更新逻辑会有条件地更新表项中的有效位u,如果最终对分支预测置信度的判断不正确,则更新表X中相中的有效位u,如果最终的预测是正确的,那么位u将被置位,否则被复位,具体过程如下所示:
如果最终对分支预测置信度的判断正确,这意味着表X中的表项是有效的,通过对位u进行置位,防止此表项被重分配入其他置信状态表,通过对位m进行置位,我们指出分支结果显示出与全局历史值的相关性,因此应该通过根据实际分支结果重新初始化3位计数器来分配该分支的新条目。
如果最终对分支预测置信度的判断不正确,则表X的判断是错误的,当分支在其行为中表现出随机性,并且其结果与全局历史值不相关(或者全局历史不够长)时,就会发生这种情况,在这种情况下,表明在置信状态表里分配了许多无用的表项,此外,由于分配仅在预测失误时进行,因此使用在此历史路径下对此预测结果的高置信状态初始化状态及更安全,这表示最可能的置信度。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种面向分支指令预测的偏差矫正器,其特征在于,所述偏差矫正器包括地址折叠逻辑,所述地址折叠逻辑对分支指令跳转历史序列以及分支预测结果所构成的序列折叠形成置信状态表的索引,所述偏差矫正器中设有置信状态表、预测结果置信度计算模块以及置信阈值动态调整器,所述置信状态表设有多个,不同表则由不同长度的分支指令跳转历史序列以及分支预测结果折叠获得序列进行索引,表中的每个表项设有状态机判别预测结果的置信状态,且设有表项重分配逻辑以及表项更新逻辑。
2.根据权利要求1所述的一种面向分支指令预测的偏差矫正器,其特征在于,所述置信状态表通过地址折叠逻辑进行索引。
3.根据权利要求1所述的一种面向分支指令预测的偏差矫正器,其特征在于,所述置信状态表中的每一个表项为一状态机,用于表征预测结果的置信状态。
4.根据权利要求1所述的一种面向分支指令预测的偏差矫正器,其特征在于,所述表项更新逻辑用于初始化各置信状态表中各表项的状态机。
5.根据权利要求1所述的一种面向分支指令预测的偏差矫正器,其特征在于,所述预测结果置信度计算模块综合不同置信状态表的置信状态,计算分支预测器输出结果的置信度并与置信阈值比较判别是否需要对预测结果进行矫正。
6.根据权利要求1所述的一种面向分支指令预测的偏差矫正器,其特征在于,所述置信阈值动态调整器会根据预测失误更新次数与正确预测更新次数的相对比率来调整置信阈值。
7.一种面向分支指令预测的偏差矫正方法,其特征在于,使用权利要求1-6任一所述的面向分支指令预测的偏差矫正器对分支预测结果进行置信度判别以及结果矫正。
8.根据权利要求7所述的一种面向分支指令预测的偏差矫正方法,其特征在于,所述面向分支指令预测的偏差矫正方法具体包括如下步骤:
S1.通过地址折叠逻辑折叠由分支指令跳转历史序列以及分支预测结果所构成的索引;
S2.偏差矫正表通过地址折叠逻辑索引当前分支预测结果的置信状态;
S3.预测结果置信度计算模块通过各置信状态表输出的置信状态计算该预测结果的置信度,并通过与置信阈值动态调整器输出的置信阈值比较来判别当前预测结果是否需要矫正。
S4.置信阈值动态调整器会根据预测失误更新次数与正确预测更新次数的相对比率来调整置信阈值;
S5.当经过矫正的预测结果仍错误时,偏差矫正表表项重分配逻辑根据不同偏差矫正表的矫正结果进行个表表项数的再分配;
S6.表项更新逻辑更新各偏差矫正表中各表项的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165317.0A CN112988233B (zh) | 2021-02-06 | 2021-02-06 | 一种面向分支指令预测的偏差矫正器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110165317.0A CN112988233B (zh) | 2021-02-06 | 2021-02-06 | 一种面向分支指令预测的偏差矫正器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988233A true CN112988233A (zh) | 2021-06-18 |
CN112988233B CN112988233B (zh) | 2024-03-26 |
Family
ID=76348537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110165317.0A Active CN112988233B (zh) | 2021-02-06 | 2021-02-06 | 一种面向分支指令预测的偏差矫正器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988233B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703846A (zh) * | 2021-08-30 | 2021-11-26 | 江南大学 | 一种面向tage分支预测器的新表项分配方法 |
CN113868899A (zh) * | 2021-12-03 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种分支指令处理方法、系统、设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1240279A (zh) * | 1998-06-19 | 2000-01-05 | 摩托罗拉公司 | 具有分支控制的数据处理系统及其方法 |
US20040210749A1 (en) * | 2003-04-15 | 2004-10-21 | Biles Stuart David | Branch prediction in a data processing apparatus |
CN107005231A (zh) * | 2014-12-25 | 2017-08-01 | 英特尔公司 | 用于在高性能互连中定中心的方法、设备、系统 |
CN111078295A (zh) * | 2019-11-28 | 2020-04-28 | 核芯互联科技(青岛)有限公司 | 一种乱序高性能核的混合分支预测装置及方法 |
-
2021
- 2021-02-06 CN CN202110165317.0A patent/CN112988233B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1240279A (zh) * | 1998-06-19 | 2000-01-05 | 摩托罗拉公司 | 具有分支控制的数据处理系统及其方法 |
US20040210749A1 (en) * | 2003-04-15 | 2004-10-21 | Biles Stuart David | Branch prediction in a data processing apparatus |
CN107005231A (zh) * | 2014-12-25 | 2017-08-01 | 英特尔公司 | 用于在高性能互连中定中心的方法、设备、系统 |
CN111078295A (zh) * | 2019-11-28 | 2020-04-28 | 核芯互联科技(青岛)有限公司 | 一种乱序高性能核的混合分支预测装置及方法 |
Non-Patent Citations (1)
Title |
---|
李静梅;关海洋;: "基于同时多线程的TBHBP分支预测器研究", 计算机科学, no. 09 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703846A (zh) * | 2021-08-30 | 2021-11-26 | 江南大学 | 一种面向tage分支预测器的新表项分配方法 |
CN113703846B (zh) * | 2021-08-30 | 2024-10-01 | 江南大学 | 一种面向tage分支预测器的新表项分配方法 |
CN113868899A (zh) * | 2021-12-03 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种分支指令处理方法、系统、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112988233B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6938151B2 (en) | Hybrid branch prediction using a global selection counter and a prediction method comparison table | |
US5687360A (en) | Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction | |
US6374349B2 (en) | Branch predictor with serially connected predictor stages for improving branch prediction accuracy | |
US6986027B2 (en) | Universal load address/value prediction using stride-based pattern history and last-value prediction in a two-level table scheme | |
US6877090B2 (en) | Branch predictor suitable for multi-processing microprocessor | |
US6601161B2 (en) | Method and system for branch target prediction using path information | |
US7082520B2 (en) | Branch prediction utilizing both a branch target buffer and a multiple target table | |
US6092187A (en) | Instruction prediction based on filtering | |
US8832418B2 (en) | Efficient branch target address cache entry replacement | |
CN112988233A (zh) | 一种面向分支指令预测的偏差矫正器及方法 | |
US8572358B2 (en) | Meta predictor restoration upon detecting misprediction | |
US11442727B2 (en) | Controlling prediction functional blocks used by a branch predictor in a processor | |
US11138014B2 (en) | Branch predictor | |
US7844806B2 (en) | Global history branch prediction updating responsive to taken branches | |
CN107688544B (zh) | 一种对寄存器别名表恢复方法 | |
US6470438B1 (en) | Methods and apparatus for reducing false hits in a non-tagged, n-way cache | |
US8151096B2 (en) | Method to improve branch prediction latency | |
US6918033B1 (en) | Multi-level pattern history branch predictor using branch prediction accuracy history to mediate the predicted outcome | |
Guillon et al. | Procedure placement using temporal-ordering information: dealing with code size expansion | |
US7428627B2 (en) | Method and apparatus for predicting values in a processor having a plurality of prediction modes | |
CN115686639A (zh) | 一种应用于处理器的分支预测方法以及分支预测器 | |
CN111221670B (zh) | 一种缓解检测冲突的单粒子软错误防护设计方法 | |
CN114780150A (zh) | 一种混合型分支方向预测方法 | |
CN101916184B (zh) | 更新微处理器中的分支目标地址快取的方法及其微处理器 | |
US11409532B1 (en) | Selecting instructions for a value predictor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |