Resumen Tema01

Anuncio
Resumen de los temas Entrada/salida e Interrupciones.
ENTRADA/SALIDA, BUSES
-Un Bus es una vía de comunicación heterogénea pensada para que un procesador pueda
comunicarse con una variedad de dispositivos con características heterogéneas.
- Para comunicarse con el procesador a través de un bus un dispositivo necesita una
Interfaz que sepa interpretar el Protocolo del bus.
- El Protocolo de bus viene determinado por su conjunto de señales (Datos, Dirección y
Control) y la forma y tiempo de activarlas para realizar una Transacción.
- Un Protocolo de bus tiene dos tipos de Transacciones básicas, de lectura y de escritura.
- Cada Transacción requiere una fase de direccionamiento y una fase de datos.
- Para que un procesador pueda comunicarse con un dispositivo a través del bus, este
dispositivo debe tener asignada una dirección.
- Algunos procesadores dividen su espacio de direcciones en dos: espacio de direcciones
de entrada-salida y espacio de direcciones de memoria.
- Cuando el procesador tiene dividido el espacio de direcciones las transacciones deben
especificar sobre qué espacio de direcciones se van a realizar.
- Un dispositivo puede tener asignadas direcciones dentro del espacio de direcciones de
memoria, dentro del espacio de direcciones de entrada salida o en ambos.
- Cuando hablamos de configurar un dispositivo hablamos en primer lugar de asignarle
una dirección de bus a cada una de las unidades accesibles independientes de ese
dispositivo.
- El sistema computador se organiza en una jerarquía de buses, de manera que el bus
más próximo al procesador es el más rápido y los buses más lentos se alejan del
procesador.
- Los dispositivos más rápidos se sitúan en los buses más próximos al procesador
(memoria, interfaz de vídeo), los dispositivos más lentos se sitúan en los buses más
alejados (teclado, ratón)
- Entre los buses se sitúan interfaces de bus a bus que se encargan de acoplar las
diferencias de velocidades.
INTERRUPCIONES
- Las interrupciones son un recurso que reduce los tiempos de espera del procesador por
los servicios solicitados a un dispositivo. Mientras el dispositivo realiza las actividades
encomendadas, el procesador puede mantenerse ocupado con otras tareas no
dependientes del resultado del dispositivo.
- No todos los dispositivos necesitan tener capacidad de generar una interrupción.
Cuando un dispositivo tiene esta capacidad el procesador debe asignarle un vector de
interrupción.
- Obtener su vector de interrupción es otra de las actividades que se incluyen dentro del
término “Configurar un dispositivo”
- Un Vector de interrupción es un identificador que permite al procesador saber cómo
obtener la dirección de la rutina de atención a la interrupción que genera ese dispositivo.
- Debido a que el procesador tiene un número limitado de entradas de interrupción, cada
vez que se genera una interrupción el procesador necesita identificar primero al
dispositivo que la generó y obtener su vector de interrupción.
- El proceso de identificar al dispositivo que generó la interrupción se denomina
Reconocimiento de Interrupción y suele implementarse como una transacción especial
del bus del procesador.
- Las Transacciones Especiales son un tipo de transacciones en las cuales la fase de
dirección no indica ninguna dirección específica porque se sobre entiende hacia qué
dispositivo van dirigidas.
- Se han implementado dos grandes estrategias para realizar un Reconocimiento de
Interrupción. En la primera el procesador debe ir explorando dispositivo por dispositivo
hasta encontrar el que generó la interrupción (Por consulta). En la segunda el propio
dispositivo debe realizar la labor de identificarse ante el procesador (Vectorizada)
- En los sistemas x86 el esquema adoptado es Vectorizado y se utiliza un dispositivo
Controlador de Interrupciones que se encarga de responder a las transacciones de
Reconocimiento de Interrupción.
- El Controlador de Interrupciones recibe directamente las peticiones de interrupción de
los dispositivos y las comunica al procesador. Para ello tiene un conjunto de entradas
físicas llamadas IRQ (interrupt Request) a las cuales debe pincharse físicamente la línea
correspondiente del dispositivo.
- En los sistemas x86 la manera de Configurar un Dispositivo con respecto a las
interrupciones empieza por asignarle una IRQ. El Driver del dispositivo se encargará de
identificar cual es el vector de interrupción asociado a esa IRQ y de instalar en la
localización correspondiente la rutina de atención a la interrupción de ese dispositivo.
DMA
- En el bus del procesador, el único que inicia transacciones es el procesador. Todos los
demás dispositivos esperan pasivamente a que el procesador los señale con su dirección
durante una transacción.
- Con el fin de reducir trabajo al procesador se vio la conveniencia de que algunos
dispositivos pudieran hacer llegar directamente sus datos a los módulos de memoria sin
necesidad de ocupar al procesador. Entonces se creó el controlador de DMA
- Un controlador de DMA (acceso directo a memoria) es un dispositivo que tiene
capacidad de iniciar una transacción dentro del bus del procesador.
- El controlador de DMA es capaz de transferir datos desde memoria hasta un
dispositivo y viceversa sin intervención del procesador.
- El controlador de DMA tiene una serie de canales que deben ser asignados a los
dispositivos que van a utilizar sus servicios. Esta asignación de canales a los
dispositivos es una tercera actividad que debe realizarse durante la Configuración de los
dispositivos al instalarlos en el bus del procesador.
Configuración: Asignación de:
-rango de direcciones de memoria
-rango de direcciones de entrada salida
-IRQ (del controlador de interrupciones)
-canal DMA.
Descargar