6-18
MPC565/MPC566 Reference Manual
MOTOROLA
Interrupt Overhead Estimation for Enhanced Interrupt Controller Mode
6.5
Interrupt Overhead Estimation for Enhanced
Interrupt Controller Mode
The interrupt overhead consists of two main parts:
Storage of general and special purpose registers
Recognition of the interrupt source
The interrupt overhead can lead to large latency, and decrease the overall system
performance. The overhead of register saving time can be reduced by improving the
operating system. The number of registers that should be saved can be reduced if each
interrupt event has its own interrupt vector. This solution solves the interrupt source
recognition overhead.
Table 6-5 below illustrates the improvements.
Only registers required for the recognition routine are considered to be saved in the
calculations below. Recognition of module internal events/channels is out of the scope of
the calculations. See also the typical interrupt handler flowchart in
Figure 6-7.Table 6-5. Interrupt Latency Estimation for Three Typical Cases
MPC555/MPC556
Architecture
Without Using SIVEC
MPC565/MPC566
Architecture Using SIVEC
MPC565/MPC566
Architecture Using
Enhanced Interrupt
Controller Features
Operation
Details
Interrupt propagation from
request module to RCPU —
8clocks
StoreofsomeGPR and
SPR—10 clocks
Read SIPEND—4 clocks
Read SIMASK—4 clocks
SIPEND data processing —
20 clocks
(find first set, access to LUT in
the flash, branches)
Read UIPEND—4 clocks
UIPEND data processing—20
clocks
(find first set, access to LUT in
the flash, branches)
Interrupt propagation from
request module to RCPU —
8clocks
Store of some GPR and SPR
—10 clocks
Read SIVEC—4 clocks
Branch to routine—10 clocks
Read UIPEND—4 clocks
UIPEND data processing —
20 clocks
(find first set, access to LUT in the
flash, branches)
Interrupt propagation from
request module to RCPU —
6clocks
StoreofsomeGPR and
SPR—10 clocks
Only one branch is executed to
reach the interrupt handler
routine of the device requesting
interrupt servicing—2 clocks
Notes:
If there is a need to enable
nesting of interrupts during
source recognition procedure,
at least 30 clocks should be
added to the interrupt latency
estimation
To use this feature in compressed
mode some undetermined
latency is added to make a
branch to compressed address of
the routine. This latency is
dependant on how the user code
is implemented.
—
Total:
At Least 70-80 Clocks
At Least 50-60 Clocks
20 Clocks