1 base register update, Table 14-14 – ARM Cortex R4F User Manual
Page 382

Cycle Timings and Interlock Behavior
ARM DDI 0363E
Copyright © 2009 ARM Limited. All rights reserved.
14-18
ID013010
Non-Confidential, Unrestricted Access
Only cycle times for aligned accesses are given because Unaligned accesses to the PC are not
supported.
The processor includes a 4-entry return stack that can predict procedure returns. Any LDR
instruction to the PC with an immediate post-indexed offset of plus four, and the stack pointer
R13 as the base register is considered a procedure return.
Table 14-14 shows the explanation of
and
used in
Table 14-12 on page 14-17 and Table 14-13 on page 14-17.
14.11.1 Base register update
The base register update for load or store instructions occurs in the ALU pipeline. To prevent an
interlock for back-to-back load or store instructions reusing the same base register, there is a
local forwarding path to recycle the updated base register around the address generator. This
only applies when the load or store instruction with base write-back uses pre-increment
addressing, and is a single load or store instruction that is not a load or store double instruction
or load or store multiple instruction.
For example, with
R2
aligned the following instruction sequence take three cycles to execute:
LDR R5, [R2, #4]!
LDR
(!)
8
1
-
Conditional predicted incorrectly, but return
stack predicted correctly
LDR
s
8
1
-
LDR pc,
a
9
1
-
-
LDR pc,
a
11
1
-
-
a. See Table 14-14 for an explanation of
and
. For condition code failing cycle counts, you
must use the cycles for the non-PC destination variants.
Table 14-13 Cycle timing behavior for loads to the PC (continued)
Example instruction
Cycles
Memory
cycles
Result
latency
Comments
Table 14-14
Example instruction
Very Early Reg
Comments
LDR
If post-increment addressing or pre-increment
addressing with an immediate offset, or a
positive register offset with no shift or shift
LSL #1, 2 or 3, then 1-issue cycle
LDR
LDR
LDR
LDR
LDR
LDR
If pre-increment addressing with a negative
register offset or shift other than LSL #1, 2 or
3, then 3-issue cycles
LDR