[Examen Febrero 2020] [Problema 1]

[Examen Febrero 2020] [Problema 1]

de Veronica Viviana Pintos Fernandez -
Número de respuestas: 1

Buenos días, 

Mirando la solución me surge la siguiente duda: por qué estando en estado "espero INTA IRQ1" si tengo como entradas

IRQ1=1

IRQ0=X

INTA=1 

cambio al estado "espero INTA IRQ0"?

La traducción sería que el dispositivo 1 sigue interrumpiendo a pesar de que la CPU atiende su pedido y pasa al dispositivo 0 por el orden de jerarquía de atención de interrupciones?

Si este último no emitió un pedido de interrupción, cómo voy al estado "espero IRQ"? INTA hasta cuándo queda encendido? 

La misma duda estaría de "espero INTA IRQ0" a "espero INTA IRQ1".

Desde ya muchas gracias.

Saluda,

Verónica.

En respuesta a Veronica Viviana Pintos Fernandez

Re: [Examen Febrero 2020] [Problema 1]

de Federico Rivero -
Estimada,

Los estados 'espero INTA IRQ1' y 'espero INTA IRQ0' son los estados para cuando el controlador ya levantó la señal INTR y se encuentra a la espera del INTA por la CPU. Imaginemos que el dispositivo 1 solicitó interrupción y la máquina pasa al estado 'espero INTA IRQ1'. Si antes de que llegue el INTA de la CPU, el dispositivo 0 también prende la señal IRQ0, entonces al recibir el INTA se lo debe atender inmediatamente, por eso la transición desde 'espero INTA IRQ1' hasta 'espero INTAIRQ0' es con las entradas X, 1, 1 (IRQ1 = X, IRQ0 = 1, INTA = 1), el don't care en IRQ1 está porque sí, el dispositivo 1 podría querer volver a interrumpir inmediatamente o bajar la señal. En cualquier caso se debe transicionar hacia el estado 'espero INTA IRQ0'

Saludos,
Federico