Skip to Main Content
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.