Professional Documents
Culture Documents
net/publication/3094221
CITATIONS READS
54 272
4 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Spyridon Nikolaidis on 24 March 2015.
Abstract – An energy consumption modeling technique for An energy consumption model for a system composed by
embedded systems based on a microcontroller is presented in this a processor, an instruction and a data memory has been
paper. The software tasks running on the embedded system are presented in [4]. This approach aims in defining the energy
profiled and their characteristics are analyzed. The type of executed complexity of a program in a way analogous to the
assembly instructions as well as the number of accesses to memory
computational complexity. A polynomial expression of the
and to the A/D converter is the required information for the
derivation of this model. An appropriate instrumentation set up has
number of executed assembly instructions (approximately
been developed for measuring and modeling the energy mapping the number of primitive operations in the algorithm)
consumption in the corresponding digital circuits. and the number of memory accesses to the data and
instruction memory is extracted by analyzing the program
Keywords – power estimation, energy complexity, embedded under study. Since the energy consumption of an independent
systems, current measurement assembly instruction can be measured and each access to a
memory has a known energy cost, an estimate of the system's
I. INTRODUCTION energy consumption is obtained as a single polynomial with
appropriate coefficients.
The market of the embedded systems in microelectronics A similar approach is used in [5], where the program
is ever increasing. Many applications are executed on whose energy consumption is to be analyzed, is represented
platforms which incorporate embedded microprocessors, by its unique control flow graph. Since the control flow graph
memory units and peripherals. Although performance still of any structured program can be constructed by simply
remains a basic design target, energy consumption has sequencing or nesting simpler graphs, an overall energy
become a critical factor for such systems, especially after the metric can be obtained by a hierarchical measure. By defining
explosion of the portable devices market. This situation has measures of executed instruction count and memory access
resulted to the requirement for accurate estimation of the count for primitive graphs and the operations of sequencing
energy consumed by the system for executing certain tasks. and nesting, a relatively simple software energy metric is
Although appropriate methods have been developed and extracted for any graph. Such a metric can be further used for
certain models have been provided for the estimation of the comparing algorithms in terms of their energy consumption.
energy consumption of embedded processors [1,2], there are In [6] a complete methodology for estimating the energy
not published up to now many efforts on modeling the energy consumption of a processor executing software tasks has been
consumption of a complete system and practically none of proposed. This methodology refers to in-order pipelined
them is directly related to low power instrumentation processors, which correspond to the most popular architecture
applications. used in embedded applications, and a model has been derived
In [1] the problem of modeling the energy consumption of for the ARM7TDMI processor with accuracy up to 5%. This
a processor is examined for the first time. Appropriate energy approach is based on instruction level energy models. The
budget is assigned to each instruction based on measuring the energy budget of each instruction as well as the energy
average current of the processor when it executes the specific overhead observed from executing one instruction after the
instruction. Also the energy overhead (inter-instruction other (this is due to the circuit state changes and is called
effect) resulted by the changing of the processor state as it inter-instruction effect) are estimated based on real
executes the one instruction after the other is also modeled. measurements of the instantaneous current of the processor.
The energy consumption for the execution of a software task To make the model reasonable appropriate grouping of the
results by summing the individual budgets of each executed instructions has been applied so that instruction with similar
instruction and the inter-instruction effects. Another approach characteristics to correspond to the same energy budget.
in modeling the energy consumption in embedded pipelined The proposed approach is differentiated in the sense that it
processors based on measuring the instantaneous current of targets a general purpose microcontroller usually employed
the processor has been developed in [2]. This approach found for logging applications in low-power instrumentation
to present better accuracy and use an instrumentation set up systems. The microcontroller is connected to an A/D
[3] which can be applied to create models for other converter for input retrieval and to an external RAM for
components, like memories and peripherals. storing data. As such, the architecture as well as the operation
of the microcontroller is expected to have a power
consumption that is not analogous to that of typical
embedded processing units. Moreover the proposed model is III. THE PROPOSED APPROACH
not solely based on the number of executed instructions but
rather on their number of cycles, the activity of the A/D In this work we propose an approach for modeling the
converter and the number of memory accesses. Due to the power consumption of an embedded system and an
nature of the microcontroller, energy consumption is instrumentation set up for the evaluation of its accuracy.
estimated not simply by profiling the program to be executed According to the system components presented in the
but by parsing the program and analyzing the segments that previous section, the total energy consumed by the system
initiate a read/write access to the memory. when it executes a software task can be expressed by the
following equation:
II. SYSTEM ARCHITECTURE
Esystem = EμController + ERAM + EADC (1)
The target platform (which is the one on which
measurements have been performed) is shown in Figure 1. where EμController corresponds to the energy consumed by the
The general purpose microcontroller utilizes a data bus of 8 microcontroller while executing a program, ERAM
bits (the number of bits used for read/write is programmable) corresponds to the energy consumed by the memory and EADC
and an address space of 1024 x 1024 bytes is used. The corresponds to the energy consumed by the A/D converter.
control logic consists of six signals, three for accessing the Each component of the total energy will be analyzed below.
memory and three for the A/D converter. The energy model for each system component has been based
on separate physical measurements of the drawn current.
For the evaluation of the accuracy of the method, the
micro-controller measurement of the actual energy consumption is needed.
Motorola Figure 2 shows the configuration of the system whose energy
HC908GP32 is to be measured during program execution. Every
Control Logic Data bits Address Bits component has its’ power supply pins connected to the
measuring scheme, so that the drawn current is available for
3 3 8
10 measuring.
A/D RAM
CONVERTER 30pin simm DRAM
ADC0805
Analog Input