ABSTRACT

The design of a microprocessor, like the design of any engineered system, is an optimization problem: the designer has various resources (many of which may be limited and/or costly), design constraints, and a design objective that needs to be maximized or minimized. Faced with this problem, the task of the designer is to find a solution that best achieves the design goals. In the past, the primary design constraint was chip area, and the optimization problem was mostly an evaluation of performance versus chip area. As semiconductor technologies progressed, however, power dissipation in chips gradually rose, reaching a point where hard power constraints became necessary. Today, these power constraints significantly limit the performance of the system. Thus, in the current era of design, design for energy efficiency is important for all classes of systems, from low-power embedded devices to high-performance servers.