Interrupt Controller (INTC)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
9-16
Freescale Semiconductor
Preliminary
9.4.1.3
Unique Vector for Each Interrupt Request Source
Each peripheral and software settable interrupt request is assigned a hardwired unique 9-bit vector.
Software settable interrupts 0–7 are assigned vectors 0–7 respectively. The peripheral interrupt requests
are assigned vectors 8 to as high as needed to include all the peripheral interrupt requests. The peripheral
interrupt request input ports at the boundary of the INTC block are assigned specific hardwired vectors
within the INTC (see
Section 8.3.1, “Interrupt Source Summary Table
).
9.4.2
Priority Management
The asserted interrupt requests are compared to each other based on their PRI
n
and PRC_SEL
n
values set
in INTC_PSR0_3–INTC_PSR292_293. The result is compared to PRI in the associated
INTC_CPR_PRC0 or INTC_CPR_PRC1. The results of those comparisons manage the priority of the ISR
executed by the associated processor. The associated LIFO also assists in managing that priority.
9.4.2.1
Current Priority and Preemption
The priority arbitrator, selector, encoder, and comparator sub-blocks shown in
compare the
priority of the asserted interrupt requests to the current priority. If the priority of any asserted peripheral
or software settable interrupt request is higher than the current priority for a given processor, then the
interrupt request to the processor is asserted. A unique vector for the preempting peripheral or software
settable interrupt request is generated for the associated INTC_IACKR_PRC0 or INTC_IACKR_PRC1
and, if in hardware vector mode, for the interrupt vector given to the processor.
9.4.2.1.1
Priority Arbitrator Sub-block
The priority arbitrator sub-block for each processor compares all the priorities of all of the asserted
interrupt requests assigned to that processor, both peripheral and software settable. The output of the
priority arbitrator sub-block is the highest of those priorities assigned to a given processor. Also, any
interrupt requests which have this highest priority are output as asserted interrupt requests to the associated
request selector sub-block.
9.4.2.1.2
Request Selector Sub-block
If only one interrupt request from the associated priority arbitrator sub-block is asserted, then it is passed
as asserted to the associated vector encoder sub-block. If multiple interrupt requests from the associated
priority arbitrator sub-block are asserted, only the one with the lowest vector passes as asserted to the
associated vector encoder sub-block. The lower vector is chosen regardless of the time order of the
assertions of the peripheral or software settable interrupt requests.
9.4.2.1.3
Vector Encoder Sub-block
The vector encoder sub-block generates the unique 9-bit vector for the asserted interrupt request from the
request selector sub-block for the associated processor.