6.5.4 Static predictor

Branches must be resolved one time to be predicted by the dynamic predictor. To accelerate cold startup of code, the processor includes a static predictor that detects branches in the code stream as follows:
  • Direct unconditional branches, B immediate, are predicted taken.
  • Direct unconditional call-type branches, BL immediate and BLX immediate, are predicted taken, and the preferred return address value is pushed on the return stack.
  • Unconditional return-type branches are predicted taken and the target is popped from the return stack.
To avoid potential illegal speculation, the static predictor is disabled when the MMU is disabled.
Related information
6.5.2 Return stack predictions
Non-ConfidentialPDF file icon PDF versionARM 100095_0002_03_en
Copyright © 2014, 2015 ARM. All rights reserved.