The PIPE module has the following features:
- Hardware support for interrupt prioritization, arbitration, grouping, software hand-shake, and nesting.
- Dynamic arbitration of interrupts in hardware on every clock.
- Selectable priority level to choose interrupts as either RTINT and INT (including Supervisor INT).
- Interrupt grouping of adjacent-prioritized interrupts to block nesting within groups.
- Default index-based priority order for interrupts used in arbitration.
- Vector fetch support for RESET, NMI, RTINT, and INT.
- User access to the stack configured for INT.
- Contexts used by a software task manager system or operating system.
- Link-based protection verifies only legal code from the assigned interrupt owner services the interrupt.
- Device level protection validates only legal code source updates interrupt configuration and vector tables.
- Automatic context save and restore for RTINT and NMI.
- RTINT stack overflow protection always provides NMI a block of reserved stack space for execution.
- ECC protection for interrupt vector table.
- Parity protection for configuration registers.
- Optional locking capability of interrupt configurations.