10-2
Interrupt Controller
10.2 Overview
The UIC supports 29 interrupt sources. Status reporting (via a status register) is provided to ensure that
the Real-Time Operating System (RTOS) can determine the current and interrupting state of the system
and take the appropriate action. The capability for software to generate an interrupt is provided to simplify
software development and for diagnostic purposes.
The UIC can receive both internal and external interrupts. Double-latched synchronization is provided on
each interrupt. The latency of an interrupt through the UIC is a minimum of one clock cycle for a level sen-
sitive interrupt already synchronized to the system clock, and up to 3 clock cycles for an asynchronous
edge-captured interrupt.
There is a read-only vector which can be used to reduce external interrupt servicing latency. This vector is
generated by adding together an offset (based on the bit position of the highest priority, enabled, active,
interrupt relative to the highest priority interrupt) and a vector base address register. The resulting address
can be used to point directly to the interrupt service routines. For example, if the interrupt service routines
were placed in sequential memory locations, allowing 512 (0x200) bytes for each, then, with the proper
base address, the vector generated by the UIC could point directly to the interrupt service routine for each
interrupt. Note that the spacing required between interrupt service routines (512 bytes) when using the
generated vector address, is not programmable and can not be changed for the CPC700 UIC. Vectors will
only be generated for interrupts programmed as INT, that is, programmed to generate an external interrupt
to the processor. Vectors are not generated for interrupts programmed as MCP, that is, programmed to
generate a machine check exception to the processor.
A configurable priority control bit determines whether the least significant or most significant bit in the sta-
tus register has the highest priority. Proper ordering of the interrupt bits in the status register is critical to
making the interrupt vector generation beneficial to the programmer. The only change that can be made
through programmability of the priority control bit is to reverse the priority order of all interrupts.
For power conservation purposes, only the UIC Enable register (UICER) will be affected by the activation
of SYS_RESET. The UICER is reset to 0x00 following SYS_RESET. This is done to disable interrupts until
the system initialization software reprograms the UIC control registers.
Summary of Contents for CPC700
Page 10: ...Table of Contents x Table of Contents...
Page 16: ...Tables xvi List of Tables...
Page 28: ...1 12 CPC700 User s Manual Preliminary...
Page 72: ...3 36 Processor Interface...
Page 132: ...4 60 Memory Controller...
Page 184: ...5 52 PCI Interface...
Page 194: ...6 10 Clock Power Management and Reset...
Page 224: ...8 18 IIC...
Page 244: ...10 10 Interrupt Controller...
Page 246: ...I 11 2 JTAG...
Page 250: ...12 4 Processor Local Bus PLB...
Page 262: ...14 10 Register Summary...
Page 267: ...CPC700 User s Manual Preliminary...