ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2bc-gskew:De-aliased hybrid branch predictors(1999)

2022-01-23 17:32:48  阅读:234  来源: 互联网

标签:模态 predictors 混叠 aliased De 预测器 gskew bank 分支


混合预测器:包括 X 个预测器和一个元预测器,每个预测器组件提供一个预测,元预测器选择一个作为最终预测。理想情况下,一个混合预测器应由于其所有组件。

2bc-gskew branch predictor:将e-gskew和一个双模态分支预测器相结合,包括四个同样的 bank,即e-gskew中的3个bank加上一个元预测器。

1 分支别名/混叠(aliasing)

1.1 什么是分支别名/混叠(aliasing)

        多组分支信息向量共享预测表中的同一项,导致这些分支预测相互干扰。

1.2  分支别名分类:

        【1】中根据其结果分为:destructive、harmless、constructive,其中destructive和harmless别名占绝大多数;

        【2】中根据其来源分为:compulsory、conflict、capacity,其中conflict是主要来源。

  •                 compulsory  aliasing:当一个分支第一次出现时发生;
    •                 capacity aliasing:类似于capacity cache miss,可以通过扩大预测表大小来减少。
      •                 conflict aliasing:当两个分支映射到同一预测表项时发生。

1.3  减少分支别名的方法

        根据分类【1】减少destructive混叠的预测器:The Agree predictior、Bi-Mode predictor

        根据分类【2】减少capacity混叠的预测器:The Filter mechanism

        根据分类【2】减少conflict混叠的预测器:The Skewed Branch Predictor(即gskew)、e-gskew

e-gskew:在gskew的基础上,为了限制capacity混叠的影响,将其中一个表只由分支地址索引(而非地址和全局历史哈希索引)。

        同时减少上述混叠的方法:带有双模态表的混合预测器(YGAS预测器其实也是一种混合预测器),其中双模态表的必要性在于:(1)在上下文切换时两级自适应预测器预热期间,双模态表的预测比两级自适应预测器更准确;(2)对于具有偏置性的分支,双模态表用于选择出正确的预测结果,该表出现破坏性混叠的可能性低于两级预测器。

2  2bc-gskew:结合e-gskew 和一个双模态预测器

为什么提出该预测器?

同等硬件预算下,混合预测器相比单一预测器可获得更高的预测准确率,上述那些“de-aliased”的预测器则是组件首选。

 2.1  结构

        2bc-gskew 共包括四个 2-bit 计数器 bank:BIM、G0、G1、Meta。

        bank BIM:双模态预测器,也是e-gskew预测器的一部分;

        bank G0/G1:e-gskew的另外两个bank;

        bank Meta:元预测器。对于较小的预测器,使用分支地址索引;对于中型/大型预测器,使用分支历史和分支地址共同索引更有效。

2.2  部分更新

        1. 预测错误时,e-gskew 预测器的三个 bank 都需要更新;

        2. 预测正确时,只有参与正确预测的 bank 被更新。即,如果被选择的预测器是双模态预测器,则只更新 bank BIM ;如果被选择的预测器是e-gskew预测器,则只更新提供了正确预测的bank。

         3. 元预测器只有当两个预测器预测结果不同时更新。 

参考文献

【1】A comparative analysis of schemes for correlated branch prediction.

【2】Trading conflict and capacity aliasing in conditional branch predictors.

标签:模态,predictors,混叠,aliased,De,预测器,gskew,bank,分支
来源: https://blog.csdn.net/qq_40379102/article/details/122648565

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有