![Intel IXP45X Скачать руководство пользователя страница 807](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092807.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Reference Number: 306262-004US
807
Interrupt Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Interrupt to preserve the current functionality, however, for “error” class [63:32] have
unconditional priority. The enhancements to the interrupt controller are not intended to
alter the connections to the interrupt sources, as the interrupt controller does not
influence that mapping, per se. The Interrupt Controller for the IXP45X/IXP46X
network processors is implemented to expand the interrupt capabilities of the Intel
XScale processor.
The Intel XScale processor has two kinds of interrupts, the first being a special high
performance interrupt (FIQ) and a “normal” interrupt (IRQ). (See the Intel XScale
processor architecture reference for details about these interrupts and the difference
between them.) The interrupts collected by the Interrupt Controller are combined and
configured to be an FIQ interrupt or an IRQ. The FIQ signal going to the Intel XScale
processor will be set when any of the interrupts assigned to be an FIQ become set. The
IRQ signal going to the Intel XScale processor will be set when any of the interrupts
assigned to be an IRQ are set.
The interrupt controller does not imply any semantic meaning to the IRQ or FIQ
interrupts, only the Intel XScale processor does so. From the perspective of the
interrupt controller, there are only two interrupt outputs, and any interrupt source can
be funneled to either interrupt. It may be worth pointing out that the FIQ interrupt is
not somehow “more important” than the IRQ interrupt, but instead the intent of the
Intel XScale processor FIQ interrupt is to provide a low latency interrupt source. The
division between IRQ and FIQ is strictly a latency and system software implementation
decision.
The Interrupt Controller consists of:
The Interrupt Controller has no concept of setting or clearing any interrupts and in fact
is simply level sensitive only. The intent of the Interrupt Controller is to collect and
prioritize the received interrupts from other sources. In order to set an interrupt, the
device connected to the assigned interrupt line must assert the interrupt.
Clearing of the interrupt must be made at the device that caused the interrupt. If the
interrupt is not cleared at the device that asserted the interrupt, the interrupt will be
service again. There is a slight delay between resetting the interrupt at the device that
caused the interrupt and the resetting of the interrupt due to pipeline delay.
In fact, it can be stated more generally that the interrupt controller has no semantic
concept for any of the interrupts. The only semantics associated with the interrupts
relate to the choices to funnel an interrupt as either an error interrupt or normal one
and as a FIQ or IRQ interrupt.
17.4.1
Interrupt Priority
Selecting the priority of interrupts is done through the assignment of the interrupt
priority register and natural interrupt priority assigned by interrupt number. As
described, the interrupts follow a natural priority. The interrupt connected to interrupt 0
has the highest priority and the interrupt connected to interrupt 63 has the lowest
priority.
• Two 32-bit interrupt status registers
• Two 32-bit interrupt enable registers
• Two 32-bit interrupt select registers
• Two 32-bit IRQ status registers
• Two 32-bit FIQ status registers
• A 32-bit interrupt priority registers
• A 7-bit IRQ highest priority register
• A 7-bit FIQ highest priority register
• A 32-bit high priority enable register