CS6290 Pentiums includes Pentium-Pro, Hardware Overview, Speculative Execution & Recovery, Branch Prediction, Micro-op Decomposition, Execution Ports, Intel P4, Faster Clock Speed, Extra Delays Needed. | CS6290 Pentiums Case Study1 : Pentium-Pro • Basis for Centrinos, Core, Core 2 • (We’ll also look at P4 after this.) Hardware Overview RS: 20 entries, unified ROB: 40 entries (commit) (issue/alloc) Speculative Execution & Recovery FE 1 OOO 1 Normal execution: speculatively fetch and execute instructions FE 1 OOO 1 OOO core detects misprediction, flush FE and start refetching FE 2 OOO 1 New insts fetched, but OOO core still contains wrong-path uops FE 2 OOO 1 OOO core has drained, retire bad branch and flush rest of OOO core OOO 2 Normal execution: speculatively fetch and execute instructions FE 2 Branch Prediction BTB 2-bit ctrs Tag Target Hist Yes PC = hit? Use dynamic predictor PC-relative? No Return? No Indirect jump miss? Yes No Use static predictor: Stall until decode Yes Conditional? Yes Backwards? Taken Taken Yes No Taken Taken Not .