Low power high performance processors
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
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