Transcription of Computer Architecture: Branch Prediction
{{id}} {{{paragraph}}}
Computer Architecture: Branch PredictionProf. Onur MutluCarnegie Mellon UniversityA Note on This Lecture These slides are partly from 18-447 Spring 2013, Computer Architecture, Lecture 11: Branch Prediction Video of that lecture: s Agenda Branch Prediction techniques Wrap up control dependence handling3 Control Dependence Handling4 Review: Branch TypesTypeDirection at fetch timeNumber of possible next fetch addresses?When is next fetch address resolved?ConditionalUnknown2 Execution (register dependent)UnconditionalAlways taken1 Decode (PC + offset)CallAlways taken1 Decode (PC + offset)ReturnAlways takenManyExecution (register dependent)IndirectAlways takenManyExecution (register dependent)5 Different Branch types can be handled differentlyReview: How to Handle Control Dependences Critical to keep the pipeline full with correct sequence of dynamic i
How to Handle Control Dependences Critical to keep the pipeline full with correct sequence of dynamic instructions. Potential solutions if the instruction is a control-flow instruction: Stall the pipeline until we know the next fetch address Guess the next fetch address (branch prediction) Employ delayed branching (branch delay slot) Do something else (fine-grained multithreading)
Domain:
Source:
Link to this page:
Please notify us if you found a problem with this document:
{{id}} {{{paragraph}}}