DocumentCode :
2343538
Title :
TAP prediction: Reusing conditional branch predictor for indirect branches with Target Address Pointers
Author :
Xie, Zichao ; Tong, Dong ; Huang, Mingkai ; Wang, Xiaoyin ; Shi, Qinqing ; Cheng, Xu
Author_Institution :
Microprocessor R&D Center, Peking Univ., Beijing, China
fYear :
2011
fDate :
9-12 Oct. 2011
Firstpage :
119
Lastpage :
126
Abstract :
Indirect-branch prediction is becoming more important for modern processors as more programs are written in object-oriented languages. Previous hardware-based indirect-branch predictors generally require significant hardware storage or use aggressive algorithms which make the processor front-end more complex. In this paper, we propose a fast and cost-efficient indirect-branch prediction strategy, called Target Address Pointer (TAP) Prediction. TAP Prediction reuses the history-based branch direction predictor to detect occurrences of indirect branches, and then stores indirect-branch targets in the Branch Target Buffer (BTB). The key idea of TAP Prediction is to predict the Target Address Pointers, which generate virtual addresses to index the targets stored in the BTB, rather than to predict the indirect-branch targets directly. TAP Prediction also reuses the branch direction predictor to construct several small predictors. When fetching an indirect branch, these small predictors work in parallel to generate the target address pointer. Then TAP prediction accesses the BTB to fetch the predicted indirect-branch target using the generated virtual address. This mechanism could achieve time cost comparable to that of dedicated-storage-predictors, without requiring additional large amounts of storage. Our evaluation shows that for three representative direction predictors-Hybrid, Perceptrons, and O-GEHL-TAP schemes improve performance by 18.19%, 21.52%, and 20.59%, respectively, over the baseline processor with the most commonly-used BTB prediction. Compared with previous hardware-based indirect-branch predictors, the TAP-Perceptrons scheme achieves performance improvement equivalent to that provided by a 48KB TTC predictor, and it also outperforms the VPC predictor by 14.02%.
Keywords :
multiprocessing systems; parallel architectures; perceptrons; storage management; BTB prediction; O-GEHL-TAP schemes; TAP prediction; TTC predictor; VPC predictor; aggressive algorithms; baseline processor; branch target buffer; conditional branch predictor; dedicated-storage-predictors; direction predictors-hybrid; hardware storage; hardware-based indirect-branch predictors; history-based branch direction predictor; indirect branches; indirect-branch prediction strategy; indirect-branch targets; modern processors; object-oriented languages; perceptrons; processor front-end; target address pointers; virtual addresses; Accuracy; Delay; Hardware; History; Indexes; Pipelines; Program processors;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Design (ICCD), 2011 IEEE 29th International Conference on
Conference_Location :
Amherst, MA
ISSN :
1063-6404
Print_ISBN :
978-1-4577-1953-0
Type :
conf
DOI :
10.1109/ICCD.2011.6081386
Filename :
6081386
Link To Document :
بازگشت