Instruction Cycle Summary and Interlocks
ARM DDI0145B
Copyright © 1998, 1999 ARM Limited. All rights reserved.
7-5
7.2
Interlocks
Pipeline interlocks occur when the data required for an instruction is not available due
to the incomplete execution of an earlier instruction. When an interlock occurs,
instruction fetches stop on the instruction memory interface of the ARM9TDMI. Four
examples of this are given below.
Example 1
In this first example, the following code sequence is executed:
LDR R0, [R1]
ADD R2, R0, R1
The ADD instruction cannot start until the data is returned from the load. Therefore, the
ADD instruction has to delay entering the execute stage of the pipeline by one cycle.
The behavior on the instruction memory interface is shown in Figure 7-1.
Figure 7-1 Single load interlock timing
Example 2
In this second example, the following code sequence is executed:
LDRB R0, [R1,#1]
ADD R2, R0, R1
ǽřŗDZŗǾ
ǽřŗDZŖǾ
)OGU
'OGU
(OGU
0OGU
:OGU
)DGG
'DGG
'DGG
(DGG
0DGG
:DGG
$
$
$&
$
$
/'5
$''
Summary of Contents for ARM9TDMI
Page 6: ...Contents vi Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...
Page 12: ...Preface xii Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...
Page 16: ...Introduction 1 4 Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...
Page 22: ...Programmer s Model 2 6 Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...
Page 110: ...Test Issues 6 6 Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...
Page 154: ...Index Index 4 Copyright 1998 1999 ARM Limited All rights reserved ARM DDI0145B ...