A low power front-end for embedded processors using a block-aware instruction set

Ahmad Zmily, Christos Kozyrakis
2007 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems - CASES '07  
Energy, power, and area efficiency are critical design concerns for embedded processors. Much of the energy of a typical embedded processor is consumed in the front-end since instruction fetching happens on nearly every cycle and involves accesses to large memory arrays such as instruction and branch target caches. The use of small front-end arrays leads to significant power and area savings, but typically results in significant performance degradation. This paper evaluates and compares
more » ... tions that improve the performance of embedded processors with small front-end caches. We examine both software techniques, such as instruction re-ordering and selective caching, and hardware techniques, such as instruction prefetching, tagless instruction cache, and unified caches for instruction and branch targets. We demonstrate that, building on top of a block-aware instruction set, these optimizations can eliminate the performance degradation due to small front-end caches. Moreover, selective combinations of these optimizations lead to an embedded processor that performs significantly better than the large cache design while maintaining the area and energy efficiency of the small cache design. Categories and Subject Descriptors C.3 [Special-Purpose and Application-Based Systems]: Realtime and embedded systems; C.0 [General]: Hardware/software interface General Terms Design, Performance Keywords low power front-end, instruction re-ordering, software hints, instruction prefetching, tagless instruction cache, unified instruction cache and BTB Configuration Power Area Access Time 2 KByte, 2 way associative 8.4% 4.6% 50.7% 4 KByte, 4 way associative 14.6% 9.2% 53.0% 8 KByte, 8 way associative 26.9% 18.0% 58.8% 16 KByte, 16 way associative 51.3% 42.8% 71.5%
doi:10.1145/1289881.1289926 dblp:conf/cases/ZmilyK07 fatcat:gqhikqs4ibddbkebmgt3xeid6e