Table of Contents
Branch InstructionsSima, Fountain and KacsukChapter 8
Major Chapter Goals
Types of branch instructions
Types of branch instructions
Why worry about different types of branches?
Ways of checking condition
Result State
Result state disadvantages
Result state disadvantages ...
Direct Check
Comparison of conditional branches
The effect of branches
Branch statistics ...
Branch Handling
Branch Handling
Delayed branching
Delayed branching ...
Delayed branching options
Code migration to fill slots
Does this work with conditional branches/?
Optimisations - Annulment
Annul delay slot if branch not taken
Annul delay slot if branch not taken ...
Annul delay slot if branch is taken
Annul delay slot if branch is taken
Branch detection
Early branch detection
Conditional branches
Handling unresolved conditional branches
Blocking branch processing
Speculative branch processing
Branch prediction schemes
Fixed Prediction (Guess Not Taken)
Fixed Prediction (Guess Not Taken)
Fixed Prediction (Guess Not Taken)
Fixed Prediction (Guess Taken)
Static Prediction
Static Prediction ...
Dynamic prediction
Dynamic Prediction Techniques
Branch History Bits
State transitions in 2 bit scheme
State transitions in 2 bit scheme
Implicit Dynamic Scheme
BTAC and BTIC implementation
BTAC implementation ...
Performance differences in BTAC and BTIC
Implementation of History bits
I-Cache and BHT (Power PC 604)
Prediction Accuracy
Prediction Accuracy ….
Recovery from Misprediction
Recovery from Misprediction ...
Schemes to shorten mis-prediction recovery
Schemes to shorten mis-prediction recovery...
Schemes to shorten mis-prediction recovery…..
Multiway Branching
Multiway branching ...
Guarded Execution
General form of Guarded Execution
Effectiveness of Guarded Execution
|