Branch Strategies
Static
- Always predict taken or not-taken
Dynamic
- Keep a history of code execution and modify predictions based on execution history
Multi-way
- Execute both branch paths and kill incorrect path as soon as branch condition is resolved.