16.10 Single Load And Store Instructions; Table 16-13 Cycle Timing Behavior For Stores And Loads, Other Than Loads To The Pc - ARM ARM1176JZF-S Technical Reference Manual

Table of Contents

Advertisement

16.10 Single load and store instructions

Example instruction
LDR <Rd>, <addr_md_1cycle>
LDR <Rd>, <addr_md_2cycle>
LDR <Rd>, <addr_md_1cycle>
LDR <Rd>, <addr_md_2cycle>
LDR <Rd>, <addr_md_1cycle>
LDR <Rd>, <addr_md_2cycle>
a. See Table 16-15 on page 16-17 for an explanation of
ARM DDI 0301H
ID012310
This section describes the cycle timing behavior for LDR, LDRT,LDRB, LDRBT, LDRSB,
LDRH, LDRSH, LDREX, LDREXB, LDREXH, LDREXD, STR, STRT, STRB, STRBT,
STRH, STREX, STREXB, STREXH, STREXD and PLD instructions.
Table 16-13 lists the cycle timing behavior for stores and loads, other than loads to the PC. You
can replace LDR with any of the above single load or store instructions. The following rules
apply:
They are single-cycle issue if a constant offset is used or if a register offset with no shift,
or shift by 2 is used. Both the base and any offset register are Early Regs.
They are two-cycle issue if either a negative register offset or a shift other than LSL #2 is
used. Only the offset register is an Early Reg.
If ARMv6 unaligned support is enabled then accesses to addresses not aligned to the
access size generates two memory accesses, and so consume the load/store unit for an
additional cycle. This extra cycle is required if the base or the offset is not aligned to the
access size, consequently the final address is potentially unaligned, even if the final
address turns out to be aligned.
If ARMv6 unaligned support is enabled and the final access address is unaligned there is
an extra cycle of result latency.
PLD, data preload hint instructions, have cycle timing behavior as for load instructions.
Because they have no destination register, the result latency is not-applicable for such
instructions. Because a PLD instruction is treated as any other load instruction by all
levels of cache, standard data-dependency rules and eviction procedures are followed. The
PLD instruction is ignored in case of an address translation fault, a cache hit, or an abort,
during any stage of PLD execution. Only use the PLD instruction to preload from
cacheable Normal memory.
The updated base register has a result latency of one. For back-to-back load/store
instructions with base write back, the updated base is available to the following load/store
instruction with a result latency of 0.

Table 16-13 Cycle timing behavior for stores and loads, other than loads to the PC

Cycle
Memory cycles
s
a
1
1
a
2
2
a
1
2
a
2
3
a
1
2
a
1
2
Copyright © 2004-2009 ARM Limited. All rights reserved.
Non-Confidential, Unrestricted Access
Result latency
3
4
3
4
4
4
and
<addr_md_1cycle>
<addr_md_2cycle>
Cycle Timings and Interlock Behavior
Comments
Legacy access / ARMv6 aligned
access
Legacy access / ARMv6 aligned
access
Potentially ARMv6 unaligned
access
Potentially ARMv6 unaligned
access
ARMv6 unaligned access
ARMv6 unaligned access
.
16-16

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents