Improve Indirect Branch Prediction with Private Cache in Dynamic Binary Translation

被引:3
作者
Liao Yin [1 ]
Jiang Haitao [1 ]
Sun Guangzhong [1 ]
Jin Guojie [2 ]
Chen Guoliang [1 ]
机构
[1] Univ Sci & Technol China, Sch Comp Sci & Technol, Hefei 23007, Anhui, Peoples R China
[2] Inst Comp Technol, Beijing, Peoples R China
来源
2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS) | 2012年
基金
中国国家自然科学基金;
关键词
dynamic binary translation; indirect branch; locality; private cache;
D O I
10.1109/HPCC.2012.45
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Dynamic binary translation (DBT) is a just-in-time technology of compiler. It is used to support the binary translation, dynamic optimization, program instrumentation, virtualization and so on. How to improve performance is the core research issues about dynamic binary translation technology. Many researches show that how to handle the indirect branch instruction has a key impact about the performance of DBT. Some methods are proposed to handle the indirect branch. But there are some limitations for these methods. This paper analyzes the locality of target address of the indirect branch. The experiment indicates that there is a well locality about the distribution of target address. To make use of this feature, we propose a novel algorithm to quickly predict the target address for indirect branch. For a given indirect branch, we add a private buffer to cache its all previous target address. When translator meets an indirect branch, it predicts the target address from the private buffer firstly. This way increases the predication hit rate of the target address for indirect branch and reduce the number of context switching in a DBT system. It also effectively improves the whole performance for the dynamic binary translation technology.
引用
收藏
页码:280 / 286
页数:7
相关论文
共 15 条
[1]   Dynamo: A transparent dynamic optimization system [J].
Bala, V ;
Duesterwald, E ;
Banerjia, S .
ACM SIGPLAN NOTICES, 2000, 35 (05) :1-12
[2]  
Bellard F, 2005, USENIX Association Proceedings of the FREENIX/Open Source Track, P41
[3]   An infrastructure for adaptive dynamic optimization [J].
Bruening, D ;
Garnett, T ;
Amarasinghe, S .
CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, :265-275
[4]  
Bruening Derek, 2001, 4 WORKSH FEEDB DIR D
[5]   FX!32 - A profile-directed binary translator [J].
Chernoff, A ;
Herdeg, M ;
Hookway, R ;
Reeve, C ;
Rubin, N ;
Tye, T ;
Yadavalli, SB ;
Yates, J .
IEEE MICRO, 1998, 18 (02) :56-64
[6]   Dynamic binary translation and optimization [J].
Ebcioglu, K ;
Altman, E ;
Gschwind, M ;
Sathaye, S .
IEEE TRANSACTIONS ON COMPUTERS, 2001, 50 (06) :529-548
[7]  
Gschwind Michael, 1998, METHOD APPARATUS RAP
[8]  
Hao WU, 2007, J SICHUAN U NATURE S, V44
[9]  
Hiser JD, 2007, INT SYM CODE GENER, P61
[10]   GODSON-3: A SCALABLE MULTICORE RISC PROCESSOR WITH X86 EMULATION [J].
Hu, Weiwu ;
Wang, Jian ;
Gao, Xiang ;
Chen, Yunji ;
Liu, Qi ;
Li, Guojie .
IEEE MICRO, 2009, 29 (02) :17-29