EasyManuals Logo

ARM ARM1176JZF-S User Manual

Default Icon
759 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #584 background imageLoading...
Page #584 background image
Cycle Timings and Interlock Behavior
ARM DDI 0301H Copyright © 2004-2009 ARM Limited. All rights reserved. 16-8
ID012310 Non-Confidential, Unrestricted Access
16.3.3 Example interlocks
Most data processing instructions are single-cycle and can be executed back-to-back without
interlock cycles, even if there are data dependencies between them. The exceptions to this are
when the Shifter or Register controlled shifts are used.
Shifter
The shifter is in a separate pipeline stage from the ALU. A register required by the shifter is an
Early Reg and requires an additional cycle of result availability before use. For example, the
following sequence introduces a one-cycle interlock, and takes three cycles to execute:
ADD R1,R2,R3
ADD R4,R5,R1 LSL #1
The second source register, that is not shifted, does not incur an extra data dependency check.
Therefore, the following sequence takes two cycles to execute:
ADD R1,R2,R3
ADD R4,R1,R9 LSL #1
Register controlled shifts
Register controlled shifts take two cycles to execute:
the register containing the shift distance is read in the first cycle
the shift is performed in the second cycle
The final operand is not required until the ALU stage for the second cycle.
Because a shift distance is required, the register containing the shift distance is an Early Reg and
incurs an extra interlock penalty. For example, the following sequence takes four cycles to
execute:
ADD R1, R2, R3
ADD R4, R2, R4, LSL R1
MOV <cond> pc, <Rn>, <Rm>, LSL #<immed>
6-7
a
- - - Conditional MOV to PC, with a
shifted source register
MOV pc, <Rn>, <Rm>, LSL <Rs>
7
<Rs> <Rn>
- MOV to pc, with a register
controlled shifted source
register
ADD pc, <Rd>, <Rm>
7 - - - Normal case to PC
ADD pc, <Rn>, <Rm>, LSL #<immed>
7
<Rm>
- - Requires a shifted source
register
ADD pc, <Rn>, <Rm>, LSL <Rs>
8
<Rs> <Rn>
- Requires a register controlled
shifted source register
a. If the instruction is conditional and passes conditional checks it takes MAX (MaxCycles - FlagCycleDistance, MinCycles), If
the instruction is unconditional it takes Min Cycles.
Table 16-5 Data Processing Instruction cycle timing behavior if destination is the PC (continued)
Example Instruction
Cycle
s
Earl
y
Reg
Late
Reg
Result
latency
Comment

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ARM ARM1176JZF-S and is the answer not in the manual?

ARM ARM1176JZF-S Specifications

General IconGeneral
BrandARM
ModelARM1176JZF-S
CategoryComputer Hardware
LanguageEnglish

Related product manuals