Sources of Energy Consumption.
Sources of Energy Consumption.
PROCESSOR
1. INTRODUCTION
Processors of different size and model are embedded into devices for a variety of reasons viz.
perform computations, provide automatic control, development of applications like embedded,
biomedical, multimedia and control, provide communication and control over internet and
many more. Processors are the brain of these systems. Since the scope of processors vary
widely, their computation power also changes from few hundred instructions to millions
of instructions per second. And this makes it hard to compare different processors and evaluate
their performance. The existing competition between different manufactures of processor
makes it very competitive in terms of increased performance, reduced size, increased clock
frequency etc. which puts a tradeoff between the performance and the power consumption. The
consumer demands namely compactness in size with all sophistications added up, need of
prolonged battery life etc. are hard to attain. With the advancements in technology, the
transistor count on a single CPU has crossed 2.5 billion transistors. Integrating these
transistors for performance enhancement will also have an impact on the power consumption,
because adding more and more transistors give rise to increase power consumption, thereby
reducing the battery life due to the increase in the heat dissipated in the device; which reduces
the usefulness of the portable embedded system. Due to this, power management has become a
design constraint today, for most of the computationally intensive and sophisticated
applications.
In order to improve the utility of the embedded system, the power consumption of the
entire system has to be minimized. Since the major computations are done by the embedded
processor/controller, energy minimization of the processor is also vital for the total power
reduction, even though it is relatively small. The Intel corp. has cancelled one of its new
generation processor Tejas Pentium 4 processors due to the power related issues. But, for large
and complex applications like smart grid, sensor network etc, where thousands of processors
are present and are performing computations for almost all the time, the cumulative energy
consumption of the entire nodes in the network cannot be neglected. This paper focuses on
the energy consumption issues on a processor level rather than on the system level.
There are available plenty of techniques for power consumption reduction on a system level and
relatively there is only little work which aims at power reduction of the embedded processor.
The main objective of this paper is to identify the different factors that are affecting the
execution of the processor and yielding to power consumption. A detailed study is done to
identify various factors and understanding the impact of these factors on processor
performance.
The power dissipation of high computing processors is in the order of Watts (W) and the
average current consumption in the range of Amperes (A) and the transient current will be a
few fold of the average current which puts difficulty in the design of power supply rails. Also,
not susceptibility to digital noise is a problem to be addressed. These factors demand the need
of low power processors.
In order to devise new techniques for energy consumption reduction of the processor,
knowledge about the factors affecting processor execution and influencing the performance is
essential. There are a variety of factors on which power consumption of a processor
depends on. It is hard to analyze the dependency of each factor on power consumption.
In this paper, some of the significant factors are studied. The analysis needs to be started with
CMOS circuit level. The two major types of power dissipations occurring in a CMOS circuit
are:
P= (1)
where, P is the power consumption of CMOS circuit, C is the effective load capacitance, v
the supply voltage and f the clock frequency. From this relation, it is clear that the power
consumption of the processor depends linearly on the effective capacitance, supply voltage and
clock frequency. Thus, by changing the voltage and frequency, the power dissipation of the
processor can be controlled.
The register file size i.e. the number of registers required by a program code while executing an
application task, has an adverse effect on power consumption. As the register file size
increases, the amount of memory usage increases, increasing the chip area. Increase in chip
area will increase the power consumption of the processor. The use of an optimum number of
registers will result in shorter instruction word to reduce the power consumption.
3.10 Power-aware Instruction Selection
Another factor which can be considered for power consumption reduction is the selection of
appropriate instruction sequence. By identifying a power-aware instruction sequence and
avoiding costly external memory accesses, some wasteful power consumption can be reduced.
3.22Memory
Memory is a vital part of any circuit and the technological growth has allowed the integration
of more on-chip memory and data caches. For low power dissipation, bulk Random Access
Memory (RAM) units have to be operated at low voltages. But this may affect the speed of
operation of the system and to balance, the threshold voltage can be reduced. Better means like
using multiple threshold devices, dynamic adjusting of threshold voltage by back bias voltage
control, memory bank partitioning etc. can be adopted. Memory unit is considered as one
of the greatest consumers of power. For example, in the case of STRONG ARM controller, the
cache consumed around 43% of the total power.
3.23 Exploiting parallelism
Different power management techniques are also in common for conserving power like using
different power down modes, deactivating the part of the circuit which is not functional etc.
Another attractive technique is to exploit parallelism which helps to reduce the clock frequency
and supply voltage of the system. Pipeline techniques are now very versatile and a uni-
processor system with pipeline is n times better to improve the power efficiency. Loop
unrolling techniques can aid in lowering the operating voltage and clock frequency. The factors
discussed are only some of the factors which has an impact on power consumption. It is also
desirable to consider power consumption issues at different levels of abstraction. The following
section gives a discussion on the power reduction techniques possible at different levels of
abstraction.
4. DIFFERENT LEVELS OF ABSTRACTION AND POWER
REDUCTION TECHNIQUES
The power minimization can be attempted at different levels of abstraction viz, at circuit level,
device level, logic level, architectural level and at algorithmic level. A brief description about
each level of abstraction is included in the following section.
4.1 Algorithmic level
In this higher level of abstraction, energy minimization is attempted by reducing the number of
operations by analyzing the cost of each operation. It mainly includes: by comparing the
arithmetic operations and logical operations, cost of memory accesses and incorporating ways to
maximize the spatial and temporal locality of references. Also, there can be energy saving by
considering the number representations and selection of different data representations like
two’s complement, sign magnitude etc. Another similar factor that can be beneficial is the bit
length. Power reduction can be achieved at the cost of accuracy loss in the results.