
3-18
Programmer’s Model
Rev. A
Copyright 2000 by LSI Logic Corporation. All rights reserved.
data abort handler and then immediately proceeds to the FIQ vector.
A normal return from the FIQ causes the data abort handler to
resume execution. Data aborts must have higher priorities than FIQs
to ensure that the transfer error does not escape detection. Add the
time for this exception entry to worst-case FIQ latency calculations
in a system that uses aborts to support virtual memory.
3.7 Interrupt Latencies
This section calculates the minimum and maximum interrupt latencies for
the ARM7TDMI-S.
3.7.1 Maximum Interrupt Latencies
When FIQs are enabled, the worst-case latency for FIQ is the
combination of:
The longest time the request can take to pass through the
synchronizer, Tsyncmax. Tsyncmax is two processor cycles.
The time for the longest instruction to complete, Tldm. (The longest
instruction is an LDM, which loads all the registers, including the PC.)
Tldm is 20 cycles in a zero wait-state system.
The time for the data abort entry, Texc. Texc is three cycles.
The time for FIQ entry, Tfiq. Tfiq is two cycles.
The total latency is Tsyncmax + Tldm + Texc + Tfiq = 27 processor
cycles, just under 0.7 microseconds in a system that uses a continuous
40 MHz processor clock. At the end of this time, the ARM7TDMI-S
executes the instruction at 0x1C.
The maximum IRQ latency calculation is similar, but it must allow for the
fact that an FIQ, which has higher priority, might delay entry into the IRQ
handling routine for an arbitrary length of time.
3.7.2 Minimum Interrupt Latencies
The minimum latency for either FIQ or IRQ is the shortest time the
request can take through the synchronizer, Tsyncmin, plus Tfiq for a total
of four processor cycles.