A methodology for a low-power branch identification mechanism which enables the design of extremely power-efficient branch predictors for embedded processors is presented. The proposed technique utilises application-specific information regarding the control-flow structure of the program's major loops. Such information is used to completely eliminate the power hungry branch target buffer (BTB) lookups which normally occur at every execution cycle. Exact application knowledge regarding the control-flow structure of the program obviates the power expensive BTB operations, thus enabling the utilisation of contemporary branch predictors in high-end, yet power-sensitive embedded processors. The utilisation of exact application knowledge results not only in the complete elimination of the power hungry BTB structure but also in a perfect branch and target address identification. A cost-efficient and programmable hardware architecture for capturing the control-flow structure of the program is presented. The hardware complexity of the proposed architecture is carefully analysed in terms of power, performance and area overhead. The proposed technique delivers power reductions in excess of 90% for a set of representative embedded benchmarks.
References
-
-
1)
-
C. Perleberg ,
A. Smith
.
Branch target buffer design and optimization.
IEEE Trans. Comput.
,
4 ,
396 -
412
-
2)
-
McFarling, S.: `Combining branch predictors', TN-36, Technical, June 1993.
-
3)
-
Available at http://lame.sourceforge.net.
-
4)
-
Parikh, D., Skadron, K., Zhang, Y., Barcella, M., Stan, M.: `Power issues related to branch prediction', Proc. Int. Symp. on High-performance Computer Architecture, Feb. 2002, Cambridge, MA, USA, p. 233–244.
-
5)
-
T. Austin ,
E. Larson ,
D. Ernst
.
SimpleScalar: an infrastructure for computer system modelling.
Computer
,
2 ,
59 -
67
-
6)
-
Baniasadi, A.: `Power-aware branch predictor update for high-performance processors', Proc. Int. Workshop on Power and Timing Modeling, Optimization and Simulation, September 2003, p. 420–429.
-
7)
-
Lee, C., Potkonjak, M., Mangione-Smith, W.H.: `MediaBench: A tool for evaluating and synthesizing multimedia and communications systems', Proc. 30th Int. Symp. on Microarchitecture, December 1997, p. 330–335.
-
8)
-
C. Young ,
M.D. Smith
.
Static correlated branch prediction.
ACM Trans. Program. Lang. Syst.
,
111 -
159
-
9)
-
Ball, T., Larus, J.R.: `Branch prediction for free', Proc. Conf. on Programming Language Design and Implementation, June 1993, p. 300–313.
-
10)
-
Fisher, J.A., Freudenberger, S.M.: `Predicting conditional branch directions from previous runs of a program', Proc. Int. Conf. on Architectural Support for Programming Languages and Operating Systems, October 1992, p. 85–95.
-
11)
-
Lee, L.H., Scott, J., Moyer, B., Arends, J.: `Low-cost branch folding for embedded applications with small tight loops', Proc. 32nd Int. Symp. on Microarchitecture, November 1999, p. 103–111.
-
12)
-
Shivakumar, P., Jouppi, N.: `An integrated cache timing, power and area model', CACTI 3.0, Technical, 2001.
-
13)
-
Pan, S.T., So, K., Rahmeh, J.T.: `Improving the accuracy of dynamic branch prediction using branch correlation', Proc. Int. Conf. on Architectural Support for Programming Languages and Operating Systems, October 1992, p. 76–84.
-
14)
-
Chaver, D., Pinuel, L., Prineto, M., Tirado, F., Huang, M.: `Branch prediction on demand: an energy-efficient solution', Proc. Int. Symp. on High-performance Computer Architecture, Aug. 2003, p. 25–27.
http://iet.metastore.ingenta.com/content/journals/10.1049/ip-cdt_20041101
Related content
content/journals/10.1049/ip-cdt_20041101
pub_keyword,iet_inspecKeyword,pub_concept
6
6