Seoul National University
Seoul National University. P ipelining Basics. Seoul National University. Sequential Processing. Seoul National University. Pipelined Processing. Seoul National University. Basic Steps of Execution. 1. Instruction fetch step ( F ) 2. Instruction decode/register fetch step ( D )
Seoul National University
E N D
Presentation Transcript
Seoul National University Pipelining Basics
Seoul National University Sequential Processing
Seoul National University Pipelined Processing
Seoul National University Basic Steps of Execution 1. Instruction fetch step (F) 2. Instruction decode/register fetch step (D) 3. Execution/effective address step (E) 4. Memory access (M) 5. Register write-back step (W)
Seoul National University Pipelined Instruction Execution • Sequential Execution • Pipelined Execution addl %ecx, %eax subl %edx, %ebx andl %edx, %ecx
Seoul National University Basic Pipeline
Seoul National University Major Hurdles of Pipelining • Structural Hazard • Data Hazard • Control Hazard
Seoul National University Structural Hazard F D E M W F D E M W F D E M W F D E M W
Seoul National University Solutions to Structural Hazard • Resource Duplication • example • Separate I and D caches for memory access conflict • Time-multiplexed or multi-port register file for register file access conflict
Seoul National University Data Hazard (RAW hazard) addl %edx, %eax subl %eax, %ecx F D E M W R W F D E M W R W Time
Seoul National University Solutions to Data Hazard • Freezing the pipeline • (Internal) Forwarding • Compiler scheduling
Seoul National University stall stall F D E F F D D E E M M W W R R R W W stall stall F D E R Freezing The Pipeline • ALU result to next instruction • Load result to next instruction addl %edx, %eax subl %eax, %ecx mrmovl 0(%edx), %eax addl %edx, %eax
Seoul National University F F F D D D E E E M M M W W W R R R W W W stall F D E M R (Internal) Forwarding • ALU result to next instruction (Stall X) • Load result to next instruction (Stall 1) addl %edx, %eax subl %eax, %ecx mrmovl 0(%edx), %eax addl %edx, %eax Load interlock
Seoul National University Control Hazard • Caused by PC-changing instructions ((conditional/unconditional) Jump, Call/Return) For 5-stage pipeline, 3 cycle penalty 15% branch frequency. CPI = 1.45
Seoul National University Branch Prediction • Predict-taken ~60% success rate