



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to the evolution of processor architecture, focusing on multi-core systems and pipelining. Topics covered include unpipelined microprocessors, pipelining, pipelining hazards, control dependence, data dependence, and out-of-order execution. The document also discusses the implications of these concepts on software and research directions.
Typology: Slides
1 / 6
This page cannot be seen from the preview
Don't miss anything!




Long history since 1971 Introduction of Intel 4004 http://www.intel4004.com/ Today we talk about more than one billion transistors on a chip Intel Montecito (in market since July’06) has 1.7B transistors Die size has increased steadily (what is a die?) Intel Prescott: 112mm2, Intel Pentium 4EE: 237 mm2, Intel Montecito: 596 mm Minimum feature size has shrunk from 10 micron in 1971 to 0.045 micron today
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
Typically an instruction enjoys five phases in its life Instruction fetch from memory Instruction decode and operand register read Execute Data memory access Register write Unpipelined execution would take a long single cycle or multiple short cycles Only one instruction inside processor at any point in time
Back-to-back dependence is too frequent
Solution: hardware bypass paths
Allow the ALU to bypass the produced value in time: not always possible
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
Usual solution is to put more resources