Low power high performance
processors
I. Introduction
Over a decade, the
performance of a processor has been improved
dramatically. It is also true
that the power consumption of a processor has
been increased significantly
even with the state-of-the-art fabrication
process. However, many
applications need low power consumption because of
their mission objectives.
One of the promising low
power high performance processor could be the
simultaneous multi-thread
(SMT) processor because of its good resource
utilization. It has a similar
architecture with the conventional superscalar
processor. Furthermore, SMT
can handle multi-threads because it has several
program counters. The major
advantage of SMT is its good resource
utilization so that multiple
threads can use the processor resources as soon
as they need. So it turns out
better performance with multiple threads. For
the single thread
application, SMT still show good performance because its
architecture is similar to
that of superscalar.
The SMT processor has lots of
modules inherited from superscalar processor.
Those modules not only
contribute the good performance of single thread
execution of SMT, also spend
lots of power. So if we know the performance
per power of each module, we
can reduce the total power consumption by
getting rid of low
performance per power modules. Furthermore, we can keep
performance degradation
minimum by the help of good resource utilization of
SMT.
II. Methodology
To develop the low power SMT
we need two things. The first is to measure
power consumption of each
module in SMT. The second is to calculate the
contribution of each module
to the processor performance. Many algorithms
are being developed for
measuring power consumption with a high-level
hardware description.
However, most algorithms need at least register
transfer level (RTL)
description to analyze accurate power consumption.
Since most processor
simulators are not developed with RTL descriptions
because of simulation speed,
we can only use less accurate power consumption
model like counting number of
operations.
The first step to measure
power consumption of each module is analyzing each
module to get the degree of
complexity of them. The second step is checking
the activities of each module
while benchmark simulation. By collecting that
information, we can determine
input and output statistics of each module.
Finally, we can find out the
power consumption of each module using the
characteristics and
statistics.
The state-of-the-art
microprocessor has very complex architecture. Because
of the complicated
relationship among its modules, it is hard to find how
much a module contributes to
the total performance. However, we can still
find out its relative
contribution by simulation without the module. Once
the performance-power ratio
of each module is known, we can calibrate SMT by
removing or replacing some
modules in order to make low power SMT.
III. Related project
IMPACCT (http://www.ece.uci.edu/impacct/)