TAP prediction: Reusing conditional branch predictor for indirect branches with Target Address Pointers

Computer Design(2011)

引用 12|浏览1
暂无评分
摘要
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%.
更多
查看译文
关键词
baseline processor,target address pointers,indirect-branch prediction strategy,previous hardware-based indirect-branch,previous hardware-based indirect-branch predictor,virtual addresses,o-gehl-tap schemes,storage management,aggressive algorithms,parallel architectures,direction predictors-hybrid,branch target buffer,virtual address,indirect-branch target,indirect-branch prediction,cost-efficient indirect-branch prediction strategy,indirect branches,stores indirect-branch target,multiprocessing systems,hardware storage,btb prediction,tap prediction,modern processors,indirect-branch targets,dedicated-storage-predictors,history-based branch direction predictor,hardware-based indirect-branch predictors,conditional branch predictor,processor front-end,target address pointer,object-oriented languages,vpc predictor,indirect branch,perceptrons,ttc predictor,pipelines,accuracy,hardware,history,indexes
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要