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 instructions.
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}}}