期刊文献+

BTB索引散列算法的研究与设计 被引量:3

Research and Design of Hash Indexing Mechanism for BTB
下载PDF
导出
摘要 分支误预测是影响高性能处理器性能进一步提升的一个主要因素.现代处理器采用分支目标缓存(branch target buffer,BTB)预测分支指令的目标地址,BTB的预测精度受限于其命中率.由于程序中分支指令的分布并不均匀,传统的BTB索引方式无法充分利用BTB资源,从而造成不必要的冲突缺失,影响分支目标地址的预测精度,采用散列索引方式优化访问映射关系是有效解决方法之一.当前大量文献研究了cache的访问方式,但对BTB的散列索引算法的专门探讨则显不足.为了消除分支指令的分布空洞,离散分支指令和BTB条目的固有映射关系,设计了用于BTB索引的XOR散列算法和优化的bit-select索引算法,使用概率方法对BTB单组最大映射数期望的上界作了估计,并对这两种散列索引算法的效果进行了模拟评估.实验结果表明,散列映射方式能够较好地避免BTB冲突缺失造成的预测失败,XOR散列算法的离散效果更好. It is well known that branch mispredictions have become a serious bottleneck to achieve better processor performance.Branch-target buffer(BTB),which caches the most recent resolved target,is the important dedicated structure to provide branch target address in modern processors.However,because of inheriting from cache,the performance of BTB is restricted by its hit ratio.Due to the nonuniform distribution of branch instructions,the conventional indexing method always causes many unnecessary conflicts,having negative effects on BTB performance.Such mispredictions caused by conflicts can be easily avoided by means of a properly chosen Hash function.Although Hash functions have been well studied to improve the utilization of memory system,the Hash-indexing method,which is specifically indicated for BTB,is not explored in literature.In this paper,based on analysis of regular pattern of branch distribution and control flow in program,the Hash indexing mechanism for BTB is researched and two Hash-indexing methods for BTB are designed in this paper.One is XOR-based Hash function,the other is optimized bit-select method.The evaluation framework is estimated for set index function so that the best-performing transformation matrix can be fast detected.The maximal number of branches,which are mapped to the same BTB set under Hashindexing mechanism,is evaluated by probability theory.The experimental results show that our Hash-indexing methods are efficient to minimize BTB mis-predicitons caused by conflict miss;the XOR-based Hash function performs even better.
出处 《计算机研究与发展》 EI CSCD 北大核心 2014年第9期2003-2011,共9页 Journal of Computer Research and Development
基金 "核高基"国家科技重大专项基金项目(2009ZX01028-002-001)
关键词 分支目标缓冲 散列索引 XOR散列函数 分支目标地址预测 分支预测 branch target buffer(BTB) Hash index XOR-Hash function branch target prediction branch prediction
  • 相关文献

参考文献25

  • 1Lee J, Smith A. Branch prediction strategies and branch target buffer design[J]. Computer, 1984, 17(1): 6 22.
  • 2Perleberg C, Smith A. Branch target buffer design and optimization[J]. IEEE Trans on Computers, 1993, 42(4): 396-412.
  • 3Chang P Y, Hao E, Patt Y N. Predicting indirect jumps using a target cache [C] //Proc of the 24th Annual Int Conf on Computer Architecture (ICCA'97). New York: ACM, 1997:274-283.
  • 4Li T, Bhargava R, John L K. Adapting branch target buffer to improve the target predictability of java code [J]. ACM Trans on Architecture and Code Optimization, 2005, 2(2): 109-130.
  • 5Kaeli D R, Emma P G. Branch history table prediction of moving target branches due to subroutine returns [C] //Proc of the 18th Annual Int Syrup on Computer Architecture (ISCA'91). New York: ACM, 1991, 34-42.
  • 6Webb C F. Subroutine call/return stack [J]. IBM Technical Disclosure Bulletin, 1988, 30(11): 221-225.
  • 7Temam O. Investigating optimal local memory performance [C] //Proc of the 8th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 1998: 218-227.
  • 8Harper D T, Linebarger D A. A dynamic storage scheme for conflict free vector access [C] //Proc of the 16th Annual Int Syrup on Computer Architecture (ISCA'89). New York: ACM, 1989: 72-77.
  • 9Rau B R. Pseudo randomly interleaved memory [C]//Proc of the 18th Annual Int Symp on Computer Architecture (ISCA'91). New York: ACM, 1991:74-83.
  • 10Kuck D J, Stokes R A. The burroughs scientific processor (BSP)[J]. IEEE Trans on Computers, 1982, 31 (5): 363- 376.

二级参考文献17

  • 1Uh Gang-Ryung. Effectively exploiting indirect jumps[Ph. D. dissertation]. Florida State University, Tallahassee, Florida, 1997
  • 2Driesen K, Holzle U. Accurate indirect branch prediction// Proceedings of the International Symposium on Computer Architecture. Barcelona, Spain, 1998:167-178
  • 3Sprangle E, Chappell R S, Alsup M, Patt Y N. The agree predictor: A mechanism for reducing negative branch history interference//Proceedings of the 24th International Symposium on Computer Architecture. Denver, Colorado, USA, 1997: 284-291
  • 4Lee Chih-Chieh, Chen I-C K, Mudge T N. The bi-mode branch predictor//Proceedings of the 30th International Symposium on Microarchitecture. North Cardinal, USA, 1997: 4-13
  • 5Michaud P, Seznec A, Uhlig R. Trading conflict and capacity aliasing in conditional branch predictors//Proceedings of the 24th International Symposium on Computer Architecture. Denver, Colorado, USA, 1997:292-303
  • 6Eden A N, Mudge T. The YAGS branch prediction scheme//Proceedings of 31st International Symposium on Microarchitecture. Dallas, Texas, USA, 1998:69-77
  • 7Yeh T, Patt Y. Two-level adaptive training branch prediction//Proceedings of the International Symposium on Microarchitecture. Albuquerque, New Mexico, 1991:51-61
  • 8Chang P, Hao E, Patt Y. Target prediction for indirect jumps//Proceedings of the International Symposium on Computer Architecture. Denver, Colorado, USA, 1997:274-283
  • 9Driesen K, Holzle U. Limits of indirect prediction. University of California, Santa Barbara: Technical Report TRCS97-10, 1997
  • 10Driesen K, Holzle U. The cascaded predictor: economic and adaptive branch target prediction//Proceedings of the 31st International Symposium on Microarchitecture. Dallas, Texas, USA, 1998:249-258

共引文献1

同被引文献4

引证文献3

二级引证文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部