lect08-branch-prediction

lect08-branch-prediction - Branch Prediction Prof. Mikko H....

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

View Full Document Right Arrow Icon
Branch Prediction Prof. Mikko H. Lipasti University of Wisconsin-Madison Lecture notes based on notes by John P. Shen Updated by Mikko Lipasti
Background image of page 1

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

View Full DocumentRight Arrow Icon
Lecture Overview Program control flow Implicit sequential control flow Disruptions of sequential control flow Branch Prediction Branch instruction processing Branch instruction speculation Key historical studies on branch prediction UCB Study [Lee and Smith, 1984] IBM Study [Nair, 1992] Branch prediction implementation (PPC 604) BTAC and BHT design Fetch Address Generation
Background image of page 2
Program Control Flow Implicit Sequential Control Flow Static Program Representation Control Flow Graph (CFG ) Nodes = basic blocks Edges = Control flow transfers Physical Program Layout Mapping of CFG to linear program memory Implied sequential control flow Dynamic Program Execution Traversal of the CFG nodes and edges (e.g. loops) Traversal dictated by branch conditions Dynamic Control Flow Deviates from sequential control flow Disrupts sequential fetching Can stall IF stage and reduce I-fetch bandwidth
Background image of page 3

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

View Full DocumentRight Arrow Icon
Program Control Flow Dynamic traversal of static CFG Mapping CFG to linear memory
Background image of page 4
Disruption of Sequential Control Flow Instruction/Decode Buffer Fetch Dispatch Buffer Decode Reservation Dispatch Reorder/ Store Buffer Complete Retire Stations Issue Execute Finish Completion Buffer Branch
Background image of page 5

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

View Full DocumentRight Arrow Icon
Branch Prediction Target address generation Target Speculation Access register: PC, General purpose register, Link register Perform calculation: +/- offset, autoincrement, autodecrement Condition resolution Condition speculation Access register: Condition code register, General purpose register Perform calculation: Comparison of data register(s)
Background image of page 6
Decode Buffer Fetch Dispatch Buffer Decode Reservation Dispatch Store Buffer Complete Retire Stations Issue Execute Finish Completion Buffer Branch PC- rel. Reg.
Background image of page 7

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

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/02/2012 for the course ECE 752 taught by Professor Profgurisohi during the Spring '09 term at Wisconsin.

Page1 / 22

lect08-branch-prediction - Branch Prediction Prof. Mikko H....

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

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