Computers are at the heart of most activities nowadays. A processor is the central component of
a computer, but nowadays, we can find processors embedded in many other components, such as
game consoles, consumer electronic devices and cars, just to mention a few.
This lecture presents a thorough study of the microarchitecture of contemporary microprocessors.
The focus is on implementation aspects, with discussions on alternative approaches and
their implications in terms of performance, power and cost.
The microarchitecture of processors has undergone a continuous evolution. For instance,
Intel has shipped a new microprocessor approximately every year in the recent past. This evolution
is fueled mainly by two types of factors: (1) technology scaling and (2) workload evolution.
Technology scaling often is referred to as Moore’s law, which basically states that transistor
density doubles approximately every 2 years. Every technology generation provides transistors that
are smaller, faster and less energy consuming. This allows designers to increase the performance of
processors, even without increasing their area and power.
On the other hand, processors adapt their features to better exploit the characteristics of user
applications, which evolve over time. For instance, in recent years, we have witnessed an extraordinary
increase in the use of multimedia applications, which have resulted in an increasing number of
features in the processors to better support them.