190 likes | 341 Views
Computer Architecture Lecture 4 17 th May, 2006. Abhinav Agarwal Veeramani V. Recap. Simple Pipeline – hazards and solution Data hazards Static compiler techniques – load delay slot, etc. Hardware solutions – Data forwarding, out-of-order execution, register renaming Control hazards
E N D
Computer ArchitectureLecture 417th May, 2006 Abhinav Agarwal Veeramani V.
Recap • Simple Pipeline – hazards and solution • Data hazards • Static compiler techniques – load delay slot, etc. • Hardware solutions – Data forwarding, out-of-order execution, register renaming • Control hazards • Static compiler techniques • Hardware speculation through branch predictors • Structural hazards • Increase hardware resources • Superscalar out-of-order execution • Memory organisation EE Summer Camp '06
Memory Organization in processors • Caches inside the chip • Faster – ‘Closer’ • SRAM cells • They contain recently-used data • They contain data in ‘blocks’ EE Summer Camp '06
Rational behind caches • Principle of spatial locality • Principle of temporal locality • Replacement policy (LRU, LFU, etc.) • Principle of inclusivity EE Summer Camp '06
Outline • Instruction Level Parallelism • Thread-level Parallelism • Fine-Grain multithreading • Simultaneous multithreading • Sharable resources & Non-sharable resources • Chip Multiprocessor • Some design issues EE Summer Camp '06
Instruction Level Parallelism • Overlap execution of many instructions • ILP techniques try to reduce data and control dependencies • Issue out-of-order independent instructions EE Summer Camp '06
Thread Level Parallelism • Two different threads have more independent instructions • Better utilization of functional units • Multi-thread performance is improved drastically EE Summer Camp '06
A simple pipeline EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Superscalar pipeline EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Speculative execution EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Fine Grained Multithreading EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Simultaneous Multithreading EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Out of Order Execution EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
SMT pipeline EE Summer Camp '06 source: EV8 DEC Alpha Processor, (c) Intel
Resources – Replication required • Program counters • Register maps EE Summer Camp '06
Replication not required • Register file (rename space) • Instruction queue • Branch predictor • First and second level caches etc. EE Summer Camp '06
Chip multiprocessor • Number of transistors going up • Have more than one core on the chip • These still share the caches EE Summer Camp '06
Some design issues • Trade-off in choosing the cache size • Power and performance • Super pipelining trade-off • Higher clock frequency and speculation penalty + Power • Power consumption EE Summer Camp '06
Novel techniques for power • Clock gating • Run non-critical elements at a slower clock • Reduce voltage swings (Voltage of operation) • Sleep Mode/ Standby Mode • Dynamic Voltage Frequency scaling EE Summer Camp '06