CBSP: A Predictor of Sequences of Correlated Branches: A Way to Reduce Aliasing in Branch Prediction Tables

Thierry Haquin, Christine Rochange, P. Sainrat
{"title":"CBSP: A Predictor of Sequences of Correlated Branches: A Way to Reduce Aliasing in Branch Prediction Tables","authors":"Thierry Haquin, Christine Rochange, P. Sainrat","doi":"10.1163/1574040053326307","DOIUrl":null,"url":null,"abstract":"All current processors are using branch prediction in order to better exploit the pipeline. Branch prediction is based on limited size tables and thus several branches are sharing the same entry which is made of a simple 2-bit counter. This is called aliasing. Aliased branch predictors are subject to destructive interferences and removing them by the addition of a tag identifying precisely a branch to a 2-bit counter is prohibitive. An entry of our prediction table is made of several counters which predict a sequence of consecutive correlated branches and not only one. Thus, a tag can be added to an entry at a lower cost since the tag is shared by several branches. Each time a sequence is retrieved in the prediction table, it provides several predictions. An annex tagless predictor is solicited when a sequence is not found in the sequence table. Collisions are avoided in the sequence table but, to achieve a misprediction rate as low as the one of the current uptodate predictors, several tables should be used, each table being indexed through a different branch history length. Among the predictions provided by the sequences, a priority mechanism selects the most accurate i.e.the one provided by the table with the longest history. Finally, having tagged entries allows us to implement an intelligent system that dynamically adapts the branch history lengths according to the applications.","PeriodicalId":101169,"journal":{"name":"Soft Computing Letters","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2005-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Soft Computing Letters","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1163/1574040053326307","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

All current processors are using branch prediction in order to better exploit the pipeline. Branch prediction is based on limited size tables and thus several branches are sharing the same entry which is made of a simple 2-bit counter. This is called aliasing. Aliased branch predictors are subject to destructive interferences and removing them by the addition of a tag identifying precisely a branch to a 2-bit counter is prohibitive. An entry of our prediction table is made of several counters which predict a sequence of consecutive correlated branches and not only one. Thus, a tag can be added to an entry at a lower cost since the tag is shared by several branches. Each time a sequence is retrieved in the prediction table, it provides several predictions. An annex tagless predictor is solicited when a sequence is not found in the sequence table. Collisions are avoided in the sequence table but, to achieve a misprediction rate as low as the one of the current uptodate predictors, several tables should be used, each table being indexed through a different branch history length. Among the predictions provided by the sequences, a priority mechanism selects the most accurate i.e.the one provided by the table with the longest history. Finally, having tagged entries allows us to implement an intelligent system that dynamically adapts the branch history lengths according to the applications.
CBSP:相关分支序列的预测器:一种减少分支预测表中混叠的方法
所有当前的处理器都在使用分支预测,以便更好地利用管道。分支预测基于有限大小的表,因此几个分支共享由一个简单的2位计数器组成的相同条目。这就是所谓的混叠。别名分支预测器受到破坏性干扰,并且通过向2位计数器添加精确识别分支的标签来删除它们是禁止的。我们的预测表的一个条目是由几个计数器组成的,这些计数器预测一系列连续的相关分支,而不仅仅是一个。因此,可以以较低的成本将标记添加到条目中,因为该标记由多个分支共享。每次在预测表中检索一个序列时,它都会提供几个预测。当序列表中没有找到序列时,请求附件无标记预测器。在序列表中避免了冲突,但是,为了实现与当前更新预测器一样低的错误预测率,应该使用几个表,每个表通过不同的分支历史长度进行索引。在序列提供的预测中,优先级机制选择最准确的预测,即历史最长的表提供的预测。最后,带有标记的条目允许我们实现一个智能系统,该系统可以根据应用程序动态地调整分支历史长度。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信