Speculativeness of Branch Processing (Fig 8.30)
How far are instructions executed following a speculative branch? (Degree of Speculativeness)
- Must NOT finish instructions (can go as far as writing to ROB but cannot retire the instruction)
- Can place additional limits (I.e. only fetch, decode, and issue, but not dispatch).
- The farther you go, the more work to undo.
How man conditional branches are executed speculatively in succession? (Level of Speculativeness)
- Each level of speculativeness requires us to remember the sequential address after the branch