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



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/)