Instruction Cycle Times
ARM DDI 0165B
Copyright 2000 ARM Limited. All rights reserved.
8-7
8.2
Introduction to detailed instruction cycle timings
The pipelined architecture of ARM9E-S overlaps the execution of several instructions
in different pipeline stages. The tables in this section show the number of cycles
required by an instruction, once that instruction has reached the Execute stage of the
pipeline. The instruction cycle count is the number of cycles that an instruction occupies
the execute stage of the pipeline. The other pipeline stages (Fetch, Decode, Memory,
Writeback) are only occupied for one cycle by any instruction (in this model, interlock
cycles are grouped in with the instruction generating the data that creates the interlock
condition, not the instruction dependent on the data).
The request, address, and control signals on both the instruction and data interfaces are
pipelined so that they are generated in the cycle before the one to which they apply, and
are shown as such in the following tables.
The instruction address, IA[31:1], is incremented for prefetching instructions in most
cases. The increment varies with the instruction length:
4 bytes in ARM state
2 bytes in Thumb state.
The letter i is used to indicate the instruction length.
Note
All cycle counts in this chapter assume zero-wait-state memory access. In a system
where CLKEN is used to add wait states, the cycle counts must be adjusted
accordingly.
Table 8-3 Key to cycle timing tables
Symbol
Meaning
pc
The address of the branch instruction.
pc’
The branch target address.
(pc’)
The memory contents of that address.
i
4 when in ARM state, or 2 when in Thumb state.
-
Indicates that the signal is not active, and therefore not valid in this cycle.
A blank entry in the table indicates that the status of the signal is not
determined by the instruction in that cycle. The status of the signal is
determined either by the preceding or succeeding instruction.