Cycle Timings and Interlock Behavior

14.12 Load and Store Double instructions

This section describes the cycle timing behavior for the LDRD and STRD instructions.

The LDRD and STRD instructions:

Are normally single-cycle issue. Both the base and any offset register are Very Early Regs.

Are 3-cycle issue if offset or pre-increment addressing with a negative register offset is used. Both the base and any offset register are Very Early Regs.

Take only one memory cycle if the address is doubleword aligned.

Take two memory cycles if the address is not doubleword aligned.

Table 14-15shows the cycle timing behavior for LDRD and STRD instructions.

Table 14-15 Load and Store Double instructions cycle timing behavior

 

 

 

Cycles with

Memory

Result

Result latency

Example instruction

Cycles

latency

base writeback

cycles

(base register)

 

 

 

(LDRD)

 

 

 

 

 

 

 

 

 

 

 

 

 

Address is doubleword aligned

 

 

 

 

 

 

LDRD R0, R1, <addr_md_1cycle>a

1

2

1

2, 2

2

 

LDRD R0, R1, <addr_md_3cycle>a

3

4

1

4, 4

4

Address not doubleword aligned

 

 

 

 

 

 

LDRD R0, R1, <addr_md_1cycle>a

2

2

2

2, 3

2

 

LDRD R0, R1, <addr_md_3cycle>a

4

4

2

4, 5

4

a. See Table 14-16 for an explanation of <addr_md_1cycle> and <addr_md_3cycle>.

Table 14-16shows the explanation of <addr_md_1cycle> and <addr_md_3cycle> used in

Table 14-15.

Table 14-16 <addr_md_1cycle> and <addr_md_3cycle> LDRD example instruction explanation

Example instruction

Very Early Reg Comments

<addr_md_1cycle>

 

 

 

 

LDRD <Rt>, <Rt2>, [<Rn>,

#<imm>]

(!)

<Rn>

 

 

 

 

 

 

LDRD

<Rt>, <Rt2>, [<Rn>,

<Rm>] (!)

<Rn>, <Rm>

 

 

 

 

 

 

LDRD

<Rt>, <Rt2>, [<Rn>], #<imm>

 

<Rn>

If post-increment addressing, pre-increment addressing with an immediate offset or a positive register offset, then 1-issue cycle

LDRD

<Rt>, <Rt2>, [<Rn>], +/-<Rm>

<Rn>, <Rm>

 

 

 

 

<addr_md_3cycle>

 

 

LDRD

<Rt>, <Rt2>, [<Rn>, -<Rm>] (!)

<Rn>,<Rm>

If pre-increment addressing with a negative

 

 

 

register offset, then 3-issue cycles

 

 

 

 

ARM DDI 0363E

Copyright © 2009 ARM Limited. All rights reserved.

14-20

ID013010

Non-Confidential, Unrestricted Access

 

Page 384
Image 384
ARM R4F, r1p3 manual Load and Store Double instructions, Register offset, then 3-issue cycles