beautypg.com

9 branches, Branches -15, Table 14-10 – ARM Cortex R4F User Manual

Page 379: Branch instruction cycle timing behavior -15

background image

Cycle Timings and Interlock Behavior

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

14-15

ID013010

Non-Confidential, Unrestricted Access

14.9

Branches

This section describes the cycle timing behavior for the

B

,

BL

,

BLX

,

BX

,

BXJ

,

CBNZ

,

CBZ

,

TBB

, and

TBH

instructions. Branches are subject to dynamic and return stack predictions. Table 14-10 shows
example branch instructions and their cycle timing behavior.

Table 14-10 Branch instruction cycle timing behavior

Example instruction

Cycles

Memory
cycles

Comments

B

BLX

a

1

-

Correct dynamic prediction

8

-

Incorrect dynamic prediction

BX

b

1

-

Correct return stack prediction

9

-

Incorrect return stack prediction

BX

b

1

-

Correct condition prediction and correct return stack prediction

8

-

Incorrect condition prediction

9

-

Correct condition prediction and incorrect return stack prediction

BXJ

1

-

Condition code fails

9

-

Condition code passes

BLX

9

-

-

BLX

1

-

Condition code fails

9

-

Condition code passes

CBZ ,

,

CBNZ

,

1

-

Correct condition prediction

8

-

Incorrectly predicted

TBB [, ]

c

9

1

Condition code fails

9

1

Condition code passes

TBH [, , LSL#1]

c

9

1

Condition code fails

9

1

Condition code passes

a. Return stack push.
b. Return stack pop, if condition passes.
c.

and

are Very Early Regs.

This manual is related to the following products: