![Freescale Semiconductor MCF54455 Reference Manual Download Page 404](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541404.webp)
Interrupt Controller Modules
Freescale Semiconductor
17-15
17.2.10 Software and Level 1–7 IACK Registers (SWIACK
n
,
L1IACK
n
–L7IACK
n
)
The eight IACK registers (per interrupt controller) can be explicitly addressed via the CPU, or implicitly
addressed via a processor-generated interrupt acknowledge cycle during exception processing. In either
case, the interrupt controller’s actions are very similar.
First, consider an IACK cycle to a specific level: a level-
n
IACK. When this type of IACK arrives in the
interrupt controller, the controller examines all the currently-active level
n
interrupt requests, determines
the highest priority within the level, and then responds with the unique vector number corresponding to
that specific interrupt source. The vector number is supplied as the data for the byte-sized IACK read cycle.
In addition to providing the vector number, the interrupt controller also loads the level into the CLMASK
register, where it may be retrieved later.
This interrupt controller design also supports the concept of a software IACK. A software IACK allows
an interrupt service routine to determine if there are other pending interrupts so that the overhead
associated with interrupt exception processing (including machine state save/restore functions) can be
minimized. In general, the software IACK is performed near the end of an interrupt service routine, and if
there are additional active interrupt sources, the current interrupt service routine (ISR) passes control to
the appropriate service routine, but without taking another interrupt exception.
When the interrupt controller receives a software IACK read, it returns the vector number associated with
the highest unmasked interrupt source for that interrupt controller. If there are no active sources, the
interrupt controller returns an all-zero vector as the operand for the SWIACK register. A read from the
L
n
IACK registers when there are no active requests returns a value of 24 (0x18), signaling a spurious
interrupt.
In addition to the software IACK registers in each interrupt controller, there are global software IACK
registers. A read from the global SWIACK (GSWIACK) returns the vector number for the highest level
and priority unmasked interrupt source from all interrupt controllers. A read from one of the global
L
n
IACK (GL
n
IACK) registers returns the vector for the highest priority unmasked interrupt within a level
for all interrupt controllers.
Address: 0xFC04_80E0 (SWIACK0)
0xFC4
n
(L
n
IACK0)
n
=1:7
0xFC04_C0E0 (SWIACK1)
0xFC4
n
(L
n
IACK1)
n
=1:7
0xFC05_40E0 (GSWIACK)
0xFC4
n
(GL
n
IACK)
n
=1:7
Access: User read-only
7
6
5
4
3
2
1
0
R
VECTOR
W
Reset
(SWIACK
n
):
0
0
0
0
0
0
0
0
Reset
(L
n
IACK
n
):
0
0
0
1
1
0
0
0
Figure 17-13. Software and Level
n
IACK Registers (SWIACK
n
, L1IACK
n –
L7IACK
n
)
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...