Dr. Mainak Chaudhuri: Instructor
Dr. Mainak Chaudhuri: Instructor
Instructor:
Dr. Mainak
Chaudhuri
Instructor:
Dr. S. K. Aggarwal
Course Name:
Department:
Instructor:
Dr. Rajat Moona
Objectives_template
Objectives_template
Agenda
Unpipelined microprocessors
Pipelining: simplest form of ILP
Out-of-order execution: more ILP
Multiple issue: drink more ILP
Scaling issues and Moore's Law
Why multi-core
TLP and de-centralized design
Tiled CMP and shared cache
Implications on software
Research directions
Objectives_template
Pipelining
One simple observation
Exactly one piece of hardware is active at any point in time
Why not fetch a new instruction every cycle?
Five instructions in five different phases
Throughput increases five times (ideally)
Bottom-line is
If consecutive instructions are independent, they can be processed in parallel
The first form of instruction-level parallelism (ILP)
Objectives_template
Control Dependence
Data Dependence
Objectives_template
Data Dependence
Need a live bypass! (requires some negative time travel: not yet feasible in real world)
No option but to take one bubble
Bigger Problems: load latency is often high; you may not find the data in cache
Structural Hazard
Objectives_template
Multiple Issue
Objectives_template
Moore's Law
Number of transistors on-chip doubles every 18 months
So much of innovation was possible only because we had transistors
Phenomenal 58% performance growth every year
Moore's Law is facing a danger today
Power consumption is too high when clocked at multi-GHz frequency and it is
proportional to the number of switching transistors
Wire delay doesn't decrease with transistor size