Understanding branch instruction types in computer architecture
This question tests whether you grasp a fundamental distinction in how processors handle control flow. Branch instructions are essential to CPU design: they redirect program execution to non-sequential memory addresses, enabling loops, conditionals, and function calls. The question probes your understanding of how different branch types interact with processor state and pipelining.
To reason through this, think about what information a processor needs to decide where to jump next, and how that decision depends on—or doesn't depend on—the current state of the machine. The distinction has direct implications for instruction prediction, pipeline stalls, and how compilers generate efficient code.
- The role of condition codes and status registers
- Predictability and pipeline behaviour
- Implications for branch prediction and speculative execution