L15 Multiprocessor - Topic 15 Parallelism in Computer Introduction Goal connecting multiple computers to get higher performance Multiprocessors or

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
Parallelism in Computer Topic 15
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 7 — Multicores, Multiprocessors, and Clusters — 2 Introduction ± Goal: connecting multiple computers to get higher performance ± Multiprocessors or multicore microprocessor ± Major concerns: scalability, availability, power efficiency ± Parallelism ± Instruction-level parallelism ± Single program run on multiple processors ± Parallel execution of instructions ± Job-level (process-level) parallelism ± High throughput for independent jobs
Background image of page 2
Chapter 7 — Multicores, Multiprocessors, and Clusters — 3 Instruction-Level Parallelism (ILP) ± Executing multiple instructions in parallel ± Typical mechanism: pipelining ± To increase ILP ± Deeper pipeline ± Less work per stage shorter clock cycle, but same CPI (=1) ± Multiple issue ± Replicate pipeline stages multiple pipelines ± Start multiple instructions per clock cycle ± CPI < 1, so use Instructions Per Cycle (IPC) ± But instruction dependencies reduce effectiveness in practice
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 7 — Multicores, Multiprocessors, and Clusters — 4 Multiple Issue ± Static multiple issue (by compiler) ± Groups instructions to be issued together ± Detects and avoids hazards ± Packages them into “issue slots” ± Depends on good/smart compiler ± Dynamic multiple issue (by CPU) ± Examines instruction stream and chooses instructions to issue each cycle ± Compiler can help by reordering instructions ± Resolves hazards using advanced techniques ± Done at runtime
Background image of page 4
Chapter 7 — Multicores, Multiprocessors, and Clusters — 5 Multiple Issue – Hardware Support •2-way issue
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Chapter 7 — Multicores, Multiprocessors, and Clusters — 6 Speculation for Multiple Issue ± “Guess” what to do with an instruction ± Start depending instruction earlier ± Examples ± Speculate on branch target (e.g. taken or not taken) ± Roll back if path taken is different ± Speculate on store then load (e.g. load doesn’t depend store) ± Roll back if location is updated ± Check whether guess was right ± If so, complete the operation ± If not, roll-back and do the right thing ± Common to static and dynamic multiple issue
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/14/2011 for the course EE 270/370 taught by Professor Gangzheng during the Fall '11 term at Shanghai Jiao Tong University.

Page1 / 21

L15 Multiprocessor - Topic 15 Parallelism in Computer Introduction Goal connecting multiple computers to get higher performance Multiprocessors or

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online