A flexible interrupt controller (28) that includes an interrupt force
register (120) is presented. Hardware interrupts (102) that are presently
asserted by their respective hardware sources are stored in an interrupt
source register (110) included in the interrupt controller (28). An
independent interrupt force register (120) stores currently pending
software interrupts (104) which may be asserted through the execution of
software routines by the central processing unit (CPU) (12) within the
data processing system (10). In one embodiment, each bit location in the
interrupt source register (110) has a corresponding bit location in the
interrupt force register (120), and each bit in the interrupt force
register (120) is logically OR-ed with the corresponding bit in the
interrupt source register (110). Results of the logical OR operation are
stored in an interrupt pending register (160) and the contents of the
interrupt pending register (160) is bit wise OR-ed together in order to
generate an interrupt request signal (174) provided to the CPU (12).
Se presenta un regulador de interrupción flexible (28) que incluye un registro de la fuerza de la interrupción (120). Las interrupciones del hardware (102) que son afirmadas actualmente por sus fuentes respectivas del hardware se almacenan en un registro de la fuente de la interrupción (110) incluido en el regulador de interrupción (28). Un registro independiente de la fuerza de la interrupción (120) almacena actualmente hasta que finalicen las interrupciones del software (104) que se pueden afirmar con la ejecución de las rutinas del software por la unidad central de proceso (CPU) (12) dentro del sistema de proceso de datos (10). En una encarnación, cada localización de pedacito en el registro de la fuente de la interrupción (110) tiene una localización de pedacito correspondiente en el registro de la fuerza de la interrupción (120), y cada pedacito en el registro de la fuerza de la interrupción (120) es lógicamente O-oR-ed con el pedacito correspondiente en el registro de la fuente de la interrupción (110). Los resultados del lógico O de la operación se almacenan en un registro pendiente de la interrupción (160) y el contenido del registro pendiente de la interrupción (160) es O-oR-ed sabio mordido junto para generar una señal de petición de la interrupción (174) proporcionada a la CPU (12).