4-1 Interfaces de Entrada / Salida Familia de Circuitos que permiten adaptar, leer y/o gobernar señales externas desde y hacia un sistema microprocesador 4-2 1
Tipos de Entradas / Salidas A) Formato de la información: Paralelo: una línea por bit del dato y todos simultáneos. Serie: todos los datos a través de la misma línea y multiplexados en el tiempo Puerto E/S Paralelo D0 Puerto E/S Serie D0 D1 D2 D3... D7 D7 4-3 B) Tipo de transferencia: Síncrona: se envía o recibe una señal de reloj para sincronizar la transferencia de entrada / salida Asíncrona: no existe señal de reloj de sincronización. Es necesario establecer un protocolo de comunicación ( handshake ) C) Tipo de señales eléctricas Digitales Analógicas Mixtas 4-4 2
D) Dirección de los datos: Entrada: todas las líneas son permanentemente de entrada Salida: líneas permanentemente de salida Programables: las líneas son configurables para actuar como entradas o como salidas E) Funcionalidad Interfaces generales: USART, Puertos paralelo Interfaces dedicadas: temporizadores, controlador disco duro,... Coprocesadores de E/S 4-5 Registros de Entrada / Salida Son registros asociados a los puertos de E/S Tipos de registros: Registros de datos: donde se colocan los datos a sacar al exterior o de donde se leen los datos Registros de control: determinan el modo de operación y la configuración de la unidad de E/S Cada puerto puede tener asociados varios registros Un mismo registro puede afectar a varios puertos Pueden ser accesibles mediante operaciones genéricas de lectura/escritura o mediante instrucciones específicas de entrada/salida 4-6 3
Acceso a registros de Entrada / Salida A) Dentro del mismo Mapa de Memoria ROM CS PI/T PI/T SRAM USART DRAM Ai Circuito Combinac. CS USART Las señales de habilitación de los integrados se generan con las líneas del bus de direcciones 4-7 B) Con un Mapa de Entradas / Salidas separado del Mapa de Memoria: si el Microprocesador dispone de instrucciones específicas (IN Registro, OUT Registro) ROM PI/T Ai Decod. Memoria SRAM USART M/IO DRAM Ai Decod. Registros E/S Mapa de Memoria Mapa de E/S El µprocesador dispone de salidas que indican si se accede a Memoria o a Registro de E/S. (Salidas del 8086: M/IO, /IORc, /IOWC) 4-8 4
Métodos de Entrada/Salida A) Bloqueo del Proceso: el Microprocesador espera a que el periférico conectado a la unidad de Entrada/Salida le responda B) Consulta Periódica (Polling): el Microprocesador consulta de manera periódica el estado del periférico Datos Microprocesador Unidad E/S Rdy érico Bsy Protocolo con 2 líneas C) Interrupción: el Microprocesador responde al periférico cuando éste le interrumpe 4-9 Métodos de Entrada/Salida A) Bloqueo del Proceso: ejemplo impresora como periférico Es sencillo Bloquea al µp Problemas por diferencia de velocidades 4-10 5
B) Consulta Periódica: Métodos de Entrada/Salida (II) Complicado con muchos periféricos No detiene el proceso principal 4-11 Métodos de Entrada/Salida (III) C) Interrupción: petición de interrupción aceptación de interrupción Datos Microprocesador Unidad E/S érico Desvío del Programa Principal a petición del érico (evento) Se atiende a los periféricos cuando lo requieren y puede la CPU Secuencia: 1.-Petición 2.-Aceptación 3.-Programa de tratamiento de interrupción 4-12 6
Aceptación de Interrupciones Interrupciones Enmascaramiento: Existen interrupciones enmascarables y no enmascarables (se aceptan siempre) Las enmascarables se aceptan o no en función del estado de unos bits denominados máscaras que pueden ser locales (del periférico) o globales (generales) 4-13 Prioridad de Interrupciones Interrupciones (II) Qué sucede si se solicitan varias interrupciones?: Habrá que fijar una prioridad de las mismas Gestión de la prioridad: 1.-Prioridad fija (varias líneas de ) 2.-Prioridad programable 3.-Prioridad hardware Controlador de interrupciones específico Estructura Daisy Chain 4-14 7
Interrupciones (III) Programa de Tratamiento de la Interrupción: Se trata de saber qué dispositivo interrumpe y generar la dirección del programa de tratamiento de la Interrupción 1.- Salto a una posición fija para cada línea de petición 2.- Tabla de vectores de interrupción: a).- Autovectorizadas: cada fuente tiene una posición b).- Vectorizadas externamente por el periférico 3.- El periférico genera la dirección de salto 4-15 Interrupciones con varios periféricos 1.- Líneas de petición y aceptación separadas para cada periférico up 1 2... N 2.- Líneas de petición codificadas up 3 Codif 3 1 2... N 4-16 8
Interrupciones con varios periféricos 3.- Varios periféricos en una sola línea de petición up Línea de colector abierto 1 2... Más prioridad (P1>P2>...) N Estructura Daisy Chain 4-17 Acceso Directo a Memoria (DMA) Consiste en la transferencia directa, sin pasar por la CPU, de datos entre las unidades de E/S y la Memoria del Sistema La CPU deja de controlar los buses de datos y direcciones durante un tiempo 4-18 9
Acceso Directo a Memoria (II) Aplicaciones: Cintas y discos magnéticos Memoria de vídeo para terminales gráficos Sistemas de adquisición de datos Necesidad de un controlador de bus: Controla quién accede en cada momento a la memoria Posibilidades: Algoritmo interno a la CPU Dispositivo externo Posibles retardos en la CPU 4-19 10