140 likes | 365 Views
Controlador de Interrupciones. Josué Sánchez Zempoaltecatl Miguel Nazaret Flores Arenas. Introducción.
E N D
Controlador de Interrupciones Josué Sánchez Zempoaltecatl Miguel Nazaret Flores Arenas
Introducción • El controlador de interrupciones es un componente importante del sistema principal que permite asignar niveles de prioridad a sus interrupciones de salida. Debido a que el microprocesador debe atender peticiones de muchos componentes externos e internos. Cada dispositivo que desea comunicarse con el procesador por interrupciones debe tener asignada una línea única capaz de avisar a éste de que le requiere para una operación.
Controlador de Interrupciones • El controlador de interrupciones es un módulo que tiene por función gestionar las interrupciones de entrada/salida para el procesador. Esto ahorra diseñar lógica al procesador. También proporciona flexibilidad porque permite idealmente, gestionar un número ilimitado señales de interrupción.
Descripción de los Pines • -CS: Habilita la comunicación con la CPU. • -WR: Permite al 8259 aceptar comandos de la CPU. • -RD: Permite al 8259 dejar la información en el bus de datos. • D7..D0: Bus de datos bidireccional, por el que se transmite la información de control/estado y el número de vector de interrupción. • CAS0..CAS2: Líneas de cascada, actúan como salida en el 8259 maestro y como entrada en los 8259 esclavos, en un sistema con varios 8259 interconectados, constituyendo un bus local. • INT: Conectado a la patilla INT de la CPU para producir la interrupción cuando llegue el momento. • IR0..IR7: Líneas asíncronas de petición de interrupción. Una petición de interrupción se ejecuta manteniendo IR en alto hasta que se recibe el reconocimiento (modo por flancos) o simplemente poniendo en alto la línea IR (modo por niveles). • -INTA: Línea de reconocimiento de interrupción, por medio de esta línea se fuerza al 8259 a depositar en el bus la información del vector de interrupción. INTA es independiente de -CS. • A0: En conjunción con -CS, -WR y -RD es empleada para enviar las palabras de comando al 8259 y para solicitar información al mismo. Suele ir conectada a la línea A0 de la CPU.
Ciclo de Reconocimiento de Interrupción • Ciclo de reconocimiento de interrupción en el 8259: • Una o más líneas IR son activadas por los periféricos, lo que pone a 1 el correspondiente bit del IRR. • El 8259 evalúa la prioridad de estas interrupciones y solicita la interrupción a la CPU (línea INT) si es necesario. • Cuando la CPU reconoce la interrupción, envía la señal -INTA. • Nada más recibida la señal -INTA de la CPU, el 8259 activa el bit correspondiente a la interrupción de mayor prioridad (la que va a ser procesada) en el ISR y lo borra en el IRR. En este ciclo, el 8259 aún no controla el bus de datos.
Estructura del Controlador • El controlador dispone de un conjunto de registros internos para realizar sus funciones: • Los principales registros internos del 8259 son el IRR (InterruptRequestRegister) y el ISR (In ServiceRegister). El IRR almacena todas las peticiones de interrupción pendientes; el ISR almacena todas las interrupciones que están siendo atendidas en un momento dado. La lógica de gestión de prioridad determina qué interrupción, de las solicitadas en el IRR, debe ser atendida primero: cuando lleguen las señales INTA dicha interrupción será la primera procesada y su bit correspondiente se activará en el ISR.