146 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 10, NO. 2, APRIL 2002 Cycle-Accurate Energy Measurement and Characterization With a Case Study of the ARM7TDMI Naehyuck Chang, Kwanho Kim, and Hyung Gyu Lee Abstract—Energy characterization is the basis for high-level energy reduction. Measurement-based characterization is accurate and indepen- dent of model availability and is thus suitable for commercial off-the-shelf (COTS) components, but conventional measurement equipment has serious limitations in this context. We introduce a new technique for the energy characterization of a microprocessor, using a cycle-accurate energy measurement system based on charge transfer which is robust to spiky noise and is able to collect a range of energy consumption profiles in real time. It measures the energy variation of the CPU core by changing the instruction-level energy-sensitive factors such as opcodes (operations), instruction fetch addresses, register numbers, register values, data fetch addresses and immediate operand values at each pipeline stage. Using the ARM7TDMI RISC processor as a case study, we observe that the energy contributions of most instruction-level energy-sensitive factors are orthogonal to the operations. We are able to characterize the energy variation, preserving all the effects of the energy-sensitive factors for various software methods of energy reduction. We also demonstrate applications of our measurement and characterization techniques. Index Terms—Energy characterization, energy measurement, low-power design, microprocessor. I. INTRODUCTION Low energy consumption has emerged as a major performance metric for digital systems, motivating many low-level contributions toward cool chips and cool systems. Over the years, designers have also become interested in high-level and software-level energy reduc- tion techniques—just as, with motor vehicles, better fuel consumption is achieved not only by developing efficient designs but also by formu- lating efficient driving methods. High-level energy-reduction studies often focus on optimization, assuming that energy characteristics are fixed. But energy characterization can itself be the basis of high-level energy-reduction techniques, because optimization policies do not rely totally on a specific physical design. Microprocessors consume significantly different amounts of energy during each clock cycle. In a programming model, the energy variation is dependent on instruction-level energy-sensitive factors such as instruction fetch addresses, opcodes (operations), register encoding, data fetch addresses, immediate operands, and so on. Software energy reduction optimizes energy consumption by changing the energy-sensitive factors while preserving the semantics of the original design. Previous work on energy characterization has focused on average power analysis, which is useful to estimate total consumption, but is inadequate for high-level reduction techniques. In fact, it is not easy to achieve complete energy characterization using conventional approaches. This paper introduces a new measurement-based energy characterization for microprocessors to fulfill that requirement. We present a real-time cycle-accurate energy measurement tech- nique for digital systems. We characterize the energy variation of a COTS microprocessor at the instruction level with respect to the energy-sensitive factors. Unlike previous characterizations, ours does not average out the energy variation and it is therefore a useful basis Manuscript received January 12, 2001; revised October 8, 2001. This work was supported in part by the Brain Korea 21 Project under SNU RIACT research project contract. An earlier version of this paper was presented at ISLPED 2000. The authors are with the School of Computer Science and Engineering, Seoul National University, Korea (e-mail: naehyuck@snu.ac.kr). Publisher Item Identifier S 1063-8210(02)00469-9. for high-level energy reduction techniques, including opcode or register re-encoding, address relocation and instruction rescheduling. We demonstrate the new method through a case study of the ARM7TDMI RISC core. This study was made possible by an in-house measurement tool with a real-time acquisition ability that can perform a large number of measurements over a short period. The rest of this paper is organized as follows. A literature survey is presented and the motivation of this work are described in Section II. Section III introduces our real-time cycle-accurate energy measure- ment system, and Section IV presents the results for the ARM7TDMI core. In Section V we describe energy characterization for high-level power reduction, and Section VI suggests applications of the charac- terization. Section VII concludes the paper. II. RELATED WORK We may acquire energy consumption profiles by simulation or mea- surement. Energy simulation is convenient provided that a simulation model is available, because it does not necessitate a prototype. Simula- tion is also preferable as energy consumption can vary with bus config- uration and peripheral devices. Related studies [1]–[4] have described high-level processor simulators and estimated average power consump- tion at reasonable complexity. Low-level energy simulation is often used to back up high-level simulation [5]. Alternatively, a black-box model may be introduced to when simulation models for peripheral devices are not available [4]. Recently [6], a power simulator has been used to give a system-wide view, including a microprocessor and a memory system; however, for the most part, microprocessor-level sim- ulators do not reflect real implementation of commercial off-the-shelf (COTS machines). We need a working prototype to perform energy measurement. Even with a prototype, correct measurements are not easily obtainable be- cause digital systems consume energy in a spiky manner, at frequen- cies of hundreds of MHz in the power spectrum [7]. Digital multimeters (DMMs) [8], [9] can only measure average power due to their limited bandwidth. The use of an oscilloscope overcomes this drawback [10], but the energy calculation procedure is invariably error-prone. Measurement-based characterization would be promising if we could bypass time-consuming conventional techniques, which restrict the feasible number of experiments and thus make it difficult to construct a sufficiently detailed sample space for energy characteri- zation. Admittedly, measurement-based characterization will always be system-dependent, but we certainly need system-specific behavior for real reduction practices, and avoiding the need for a model is attractive. In spite of the limitations of existing energy estimation methods, some work has been done on power characterization for high-level power reduction. Intensive measurement-based characterizations [8], [9], [5] have been used to determine an instruction base cost and an inter-instruction cost, and to demonstrate energy reduction in a DSP application [9]. Conventional equipment requires patient experiment even to achieve this level of characterization, and the inter-instruction costs average out the energy consumption variation due to different en- ergy-sensitive factors. So this scheme does not afford many alternative plans for reduction, although it is useful for average power estimation. Another intensive simulation study [5] introduces a limited analysis of average power variation due to addressing modes and data bus ac- tivities; and an operand-dependent power analysis has also been intro- duced [1], which takes into account the power costs of representative components. This work excludes many significant components and the results associate different costs with components when processing dif- ferent instructions, results which are inevitably difficult to confirm. 1063-8210/02$17.00 © 2002 IEEE