12.07.2015 Views

Tema 5 Sistema de Entrada/Salida - QueGrande

Tema 5 Sistema de Entrada/Salida - QueGrande

Tema 5 Sistema de Entrada/Salida - QueGrande

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.5.GESTIÓN DE LA ENTRADA/SALIDA 11Bus <strong>de</strong> datosProcesadorPINControlador NPeriférico NRIPetición <strong>de</strong>Interrupción(PI)RIPI2Controlador 2Periférico 2RIPI1Controlador 1 Periférico 1Reconocimiento <strong>de</strong> Interrupción (RI)Figura 5.6: Enca<strong>de</strong>namiento <strong>de</strong> periféricosrespon<strong>de</strong> mediante la línea <strong>de</strong> reconocimiento <strong>de</strong> interrupción. Después el móduloque solicitó la interrupción sitúa la dirección <strong>de</strong> su rutina <strong>de</strong> tratamiento en laslíneas <strong>de</strong> datos.Las técnicas <strong>de</strong> arriba sirven para i<strong>de</strong>ntificar el módulo <strong>de</strong> E/S que solicita interrupcióny para asignar priorida<strong>de</strong>s cuando más <strong>de</strong> un dispositivo está pidiendo que se atienda suinterrupción. Con varias líneas <strong>de</strong> interrupción, el procesador simplemente selecciona lalínea con más prioridad. Con consulta software, el or<strong>de</strong>n en el que se consultan los módulos<strong>de</strong>termina la prioridad. De igual forma, el or<strong>de</strong>n <strong>de</strong> los módulos en la conexión en ca<strong>de</strong>na<strong>de</strong>termina la prioridad. Finalmente, el arbitraje <strong>de</strong> bus pue<strong>de</strong> emplear también un esquema<strong>de</strong> prioridad.Si una petición <strong>de</strong> interrupción se produce mientras se atien<strong>de</strong> una anterior existen2 alternativas. En un sistema <strong>de</strong> interrupciones único la ejecución <strong>de</strong>l programa <strong>de</strong>servicio <strong>de</strong> una interrupción continúa hasta el final antes <strong>de</strong> la que CPU pueda aceptaruna segunda petición <strong>de</strong> interrupciones. En un sistema multinivel se pue<strong>de</strong>n aten<strong>de</strong>rpeticiones <strong>de</strong> interrupción durante la ejecución <strong>de</strong>l programa <strong>de</strong> servicio <strong>de</strong> otro dispositivo.En este caso se le asigna a cada causa <strong>de</strong> interrupción uno <strong>de</strong> entre varios niveles<strong>de</strong> prioridad <strong>de</strong> modo que una interrupción solo se atien<strong>de</strong> si su nivel es superior al <strong>de</strong> lainterrupción cuyo programa <strong>de</strong> servicio se está ejecutando.La forma <strong>de</strong> ignorar interrupciones es mediante el enmascaramiento (ver figura 5.7).Con este mecanismo se pue<strong>de</strong> evitar que una interrupción se vea a su vez interrumpidapor otra <strong>de</strong> igual o menor nivel <strong>de</strong> prioridad, permitiendo la ejecución sin interrupciones<strong>de</strong> tareas críticas y/o evitando que dispositivos lentos interrumpan a otros <strong>de</strong> mayorprioridad. También se pue<strong>de</strong> pedir que ninguna interrupción interrumpa a la actual. Lasexcepciones/interrupciones más críticas, <strong>de</strong> hecho, no son enmascarables y tienen prioridadabsoluta.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!