Вы находитесь на странице: 1из 34

Universidad Michoacana de San Nicol de Hidalgo as

Entrada/Salida

Presenta: Hector Tejeda Villela

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Importancia Se considera a los modulos de E/S como los siguiente en impor tancia despues del CPU y la memoria. Cada modulo se conecta al bus del sistema o a un conmutador central y controla uno o mas dispoisitivos perifericos. El modulo de E/S tiene la logica necesaria para permitir la comunicacion entre el periferico y el bus. Las razones por las cuales los perifericos no se conectan directamente al bus del sistema son: Por la amplia variedad existente de perifericos que tienen for mas de funcionamiento diferentes. No justica colocar la logica en el CPU para controlar tal diversidad.
Por su velocidad de transferencia de datos (que es mucho menor que la memoriao o el CPU)

Por datos con formatos y tamanos de palabra diferentes.


Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Por lo anterior se requieren de modulos de E/S, debiendo cumplir las siguientes funciones: Interfaz entre la CPU y la memoria a traves del bus del sistema o un conmutador central. Interfaz entre uno o mas disposistivos perifericos.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Dispositivos Externos Las operaciones de E/S se realizan a traves de dispositivos que proporcionan una forma de intercambiar datos entre el exterior y la computadora. Los dispositivos se conectan al computador median te un enlace a un modulo de E/S, con el que intercambia senales de control (que debe realizar), estado y datos. A estos dispositivos se les conoce como dispositivo periferico. Los dispositivos externos se pueden clasicar en: De interaccion con humanos (terminales de vdeo, impresoras). De interaccion con maquinas (discos magneticos, sistemas de cinta). De comunicacion

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Teclado/Monitor La forma de interaccion mas comun entre computadora/usuario se hace a traves del teclado/monoitor. La unidad basica de intercam bio es el caracter, y para cada caracter hay un codigo de 7 u 8 bits conocido como ASCII. Los caracteres son de dos tipos: impri mibles (alfabeticos, numericos y especiales) y de control (formato, transmision, separadores de informacion y otros).

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Controlador de disco (Disk Drive) Contiene la electronica necesaria para intercambiar senales de da tos, control, y estado, ademas la electroncia para el control de lectura/escritura. En un disco de cabeza ja, el transductor hace la converion entre los patrones magneticos y los bits del buffer, en un disco de cabeza movil se mueve radialmente el brazo del disco.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Modulos de E/S Funcion Es el responsable del control de uno o mas dispositivos externos, y del intercambio de datos con la memoria principal o los registros del CPU. Tiene una interfaz interna a la computadora (con el CPU y la memoria) y una interfaz externa (para los dispositivos). Las principales funciones son: Control y temporizacion. Comunicacion con la CPU. Comunicacion con los dispositivos.
Almacenamiento temporal de datos.

Deteccion de errores.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

El CPU puede comunicarse con uno o mas dispositivos externos en cualquier orden, de acuerdo a las necesidades de E/S. La memoria principal y el bus del sistema, deben compartirse para diversas ac tividades. El control y la temporizacion permiten coordinar el traco entre los recursos internos y externos. Los siguientes pasos permiten el control de la transferencia de datos de un dispositivo externo al CPU:
1. El CPU revisa el estado del dispositivo preguntando al m odulo de E/S a traves del cual esta conectado. 2. El modulo de E/S indica el estado del dispositivo. 3. Si el dispositivo est funcionando y preparado para transmitir, el CPU a solicita la transferencia del dato mediante una orden al m odulo de E/S. 4. El modulo de E/S obtiene un dato del dispositivo externo. 5. Los datos se traseren desde el m odulo de E/S a la CPU.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Se establece una comunicacion con el CPU y con el dispositivo externo que implica: 1. Decodicacion de ordenes Las ordenes dadas por el CPU al modulo de E/S se envan usando el bus de control. 2. Datos Usan el bus de datos el CPU y los modulos de E/S para intercambio de datos. 3. Informacion de Estado Indica el estado (BUSY, READY) y posi blemente senales para informar ciertas situaciones de error. 4. Reconocimiento de Direccion Al igual que las palabras de me moria, cada dispositivo de E/S tiene una direccion unica para cada uno de los perifericos que controla.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Funciones del modulo de E/S El modulo de E/S tambien se debe comunicar con el dispositivo, con el que intercambia ordenes, informacion del estado y datos. Otra actividad importante del modulo de E/S es el almacenamiento temporal de datos (data buffering), ya que la conexion de elementos de alta velocidad (memoria, CPU) y perifericos lentos, hara que las prestaciones del sistema se degraden, por los tiempos de espera para los perifericos lentos. El modulo de E/S es responsable de la deteccion de errores y de informarlos al CPU. Una clase de errores son por defectos mecani cos y electricos (papel atascado, pista de disco defectuosa) y otra clase esta constituida por la modicacion en los bits transmitidos.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Diagrama de bloques de un modulo de E/S


Interfaz con el bus del sistema Registro de datos Lneas de datos Registro de Estado/Control Interfaz con el dispositivo externo

Lgica de interfaz con el disposi tivo externo

Datos Estado Control

. . . .
Lneas de direcciones Lgica de E/S Lneas de control

. .

Lgica de interfaz con el disposi tivo externo

Datos Estado Control

Diagrama de bloques de un modulo de E/S

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Estructura del Modulo de E/S Un modulo de E/S permite que el CPU vea una amplia gama de dispositivos de una forma sencilla, encargandose de ocultar los de talles de temporizacion, formatos, y electromecanica de los dispositivos externos. Se conoce como canal de E/S o procesador de E/S al modulo que hace la mayora de los detalles de procesamiento, y al modulo sim ple que requiere un control detallado se de denomina controlador de E/S o controlador de dispositivo.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Tecnicas para las operaciones de E/S


E/S programada Los datos se intercambian entre el CPU y el modulo de E/S. El CPU ejecuta un programa que controla direc tamente la operacion de E/S (datos, estado y control). Cuando el CPU enva una orden al modulo de E/S, debe esperar hasta que la operacion de E/S concluya. E/S mediante interrupciones El CPU proporciona la orden de E/S, continua ejecutando otras instrucciones, y es interrumpida por el modulo de E/S cuando este ha terminado su trabajo.

Acceso directo a memoria (DMA) El modulo de E/S y la memoria principal intercambian datos directamente, a diferencia de las dos tecnicas anteriores donde el CPU es responsable de extraer y almacenar los datos.
Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

E/S Programada Ordenes de E/S Al ejecutar una instruccion relacionada con una E/S, el CPU pro porciona una direccion, especicando el modulo de E/S particular y el dispositivo externo, y una orden de E/S. Los tipos de ordenes de E/S que puede recibir un modulo son: Control Se usa para activar el periferico (rebobinar cinta, avance de registro) e indicarle que hacer y dependen del tipo particular de dispositivo periferico.
Test Se usa para comprobar las diversas condiciones de estado entre el modulo de E/S y sus perifericos, por lo que el CPU puede saber si el periferico esta conectado y disponible, o si la operacion de E/S ha terminado.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Lectura Hace que el modulo de E/S capte un dato de un pe riferico y lo situe en un buffer interno, para que despues el CPU obtenga el dato solicitado indicando al modulo que lo ponga en el bus de datos. Escritura Hace que el modulo de E/S tome un dato (byte o palabra) del bus de datos y despues los transmita al periferico.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

E/S programada
Mandar orden de lectura al mdulo de E/S CPU E/S

Leer el estado del mdulo E/S

E/S

CPU

No pre parado Comprobar el estado Preparado Leer una pala bra del mdu lo de E/S

Condicin de error

E/S

CPU

Escribir una palabra en memoria

CPU

Memoria

No

Final? S Instruccin siguiente

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Instrucciones de E/S La correspondencia entre las instrucciones de E/S que la CPU cap ta de memoria y las ordenes de E/S que la CPU enva a un modulo de E/S es estrecha y frecuentemente hay una relacion de uno a uno. Cada dispositivo tiene asociado un identicador unico o direccion, cuando el CPU manda una orden de E/S, en la orden va la direccion del dispositivo, por lo que cada modulo de E/S debe interpretar las lneas de direccion para saber si la orden es para el. Si el CPU, memoria principal y los modulos de E/S comparten un bus comun, se puede direccionar en los siguientes modos: asigna do en memoria (memory-mapped) y aislado.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

En las E/S asignadas en memorias se tiene un unico espacio de direcciones para las posiciones de memoria y los dispositivos de E/S. El CPU considera a los registros de estado y de datos de los modulos de E/S como posiciones de memoria y utiliza las mismas instrucciones de maquina para acceder tanto a memoria como a los dispositivos de E/S. Se requiere una sola lnea de lectura y una sola lnea de escritura en el bus Si se disponen de lneas adicionales para ordenes de entrada y salida, indican si la direccion se reere a una posicion de memoria o a un dispositivo de E/S, con lo que se logra separar el espacio de direcciones, y se le conoce como E/S aislada.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

E/S asignada en memoria y aislada


7 6 5 4 3 2 1 0 516 Registro de datos de entrada de teclado 517 1 preparado 0 ocupado 7 6 5 4 3 2 1 0 Registro de estado y control de entrada de teclado Se pone 1 para comenzar la lectura

Direccion 200 202

Instruccion Load AC Store AC Load AC Branch if Sign=0 Load AC

Operando 1 517 517 202

Comentario Comenzar la lectura del teclado Obtener el byte de estado Repetir bucle hasta estar preparado

516 Cargar un byte de datos E/S asignada en Memoria Operando 5 5 201 5 Comentario Comenzar la lectura del teclado Comprobar si se ha acabado Repetir el bucle hasta acabar Cargar un byte de datos E/S aislada

Direccion 200 201

Instruccion Star I/O Test I/O Branch Not Ready In

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

E/S mediante interrupciones


E/S Mandar orden CPU de lectura al Hacer otra mdulo de E/S cosa E/S CPU Interrupcin

Leer el estado del mdulo E/S

Comprobar el estado Preparado Leer una pala bra del mdu lo de E/S

Condicin de error

E/S

CPU

Escribir una palabra en memoria

CPU

Memoria

No

Final? S Instruccin siguiente

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

E/S mediante interrupciones Con la E/S programada se tiene el problema de que el CPU tiene que esperar un tiempo para recibir o transmitir los datos, mientras el CPU espera, debe comprobar repetidamente el estado del modulo de E/S, y como consecuencia se degrada el nivel de prestaciones. Otra forma es que el CPU tras enviar una orden de E/S, continue realizando algun trabajo util. Despues el modulo de E/S interrum pira al CPU cuando este preparado para intercambiar datos, enton ce el CPU ejecuta la transferencia de datos y despues continua con el procesamiento previo. Con lo anterior se eliminan las esperas innecesarias, pero se consume gran cantidad del tiempo del CPU, ya que cada palabra de datos que va de la memoria al modulo de E/S o viceversa debe pasar a traves del CPU.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Desde el punto de vista del modulo de E/S, recibe una orden READ del CPU, luego lee el dato desde el periferico asociado. Cuando el dato esta en el registro de datos del modulo, le enva una interrup cion al CPU usando la lnea de control. Despues el modulo espera hasta que el CPU le solicita el dato. Al recibir la solicitud, el modulo situa su dato en el bus de datos y se prepara para otra operaci on de E/S. Desde el punto de vista del CPU para una entrada, el CPU enva una orden READ y pasa a realizar otro trabajo. Al nal de cada ci clo de instruccion, el CPU comprueba las interrupciones, cuando el modulo de E/S la pide, el CPU guarda el contexto (contador de pro grama y registros del CPU) y procesa la interrupcion. La CPU lee la palabra de datos del modulo de E/S y la almacena en memoria. Despues recupera el contexto y continua su ejecucion.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Procesamiento de la interrupcion Eventos en el procesador


El controlador del dispositivo u otro hardware del sistema genera una interrupcin

Guarda el resto de la informacin de estado del procesador

El procesador completa la ejecucin de la instruccin en curso

SOFTWARE

Procesar la interrupcin

HARDWARE

El procesador genera el reconocimiento de la interrupcin

Restaurar la informacin de estado del proceso

El procesador introduce el PSW y el PC en la pila de control

Restaurar el PSW y el PC antiguos

El procesador carga el nuevo PC en funcin de la interrupcin

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Interrupcion despues de la instruccion de la posicion

N+1 Contador del programa T+M Registros T Puntero de pila

Inicio

N N+1 Y+L Programa de usuario Retorno Rutina de servicio de interrupcion

T+M

Pila de control

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Retorno al nal de la interrupcion

N+1

Y+L Contador del programa

T Registros

T+M Puntero de pila

Inicio

N N+1 Y+L Programa de usuario Retorno Rutina de servicio de interrupcion

T+M

N+1

Pila de control

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Diseno Identicacion del dispositivo que provoco la interrupcion por el CPU. Multiples lneas de interrupcion entre el CPU y los modulos de E/S. Es una aproximacion directa que no resulta practica, a menos que sean pocas lneas, y aun as se conectan varios dispositivos, por lo que se debe usar alguna de las siguientes tecnicas.
Consulta software (Software poll) Una rutina de servicio de interrupcion se encarga de consultar a cada modulo de E/S para saber el que la ha provocado. La consulta la hace el CPU activando la lnea TEST E/S y situando la direccion del modulo de E/S en el buffer de direccion. El modulo de E/S respon de armativamente si solicito la interrupcion. Otra forma es que cada modulo de E/S disponga de un registro de estado direccionable, por lo que el CPU debera leer el de cada modu Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

lo. Despues de haberlo identicado se produce una bifurcacion para ejecutar la rutina de servicio. Una desventaja es el tiempo que consume. La Conexion en cadena (Daisy Chain) de los modulos de E/S es una consulta hardware, donde todos los modulos comparten una lnea comun para solicitar interrupciones. La lnea de reconocimiento de interrupcion se conecta encadenando los modulos uno tras otro, que es activada por el CPU al recibir una interrupcion, y que se va propagando hasta alcanzar el modu lo que la solicito. El modulo responde colacando una palabra (llamada vector ) en las lneas de datos y es la direccion del modulo. El CPU usa el vector como un puntero a la rutina de servicio del dispositivo, para evitar la ejecucion de una rutina de servicio general primeramente. Se conoce como interrupciones vectorizadas.
Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Arbitraje de bus hace uso de las interrupciones vectorizadas y el modulo de E/S debe de disponer en 1er lugar del control del bus antes de poder activar la lnea de peticion de interrupcion, por lo que un solo modulo puede activar la lnea en un instan te. El CPU al detectar la interrupcion responde usando la lnea de reconocimiento de interrupcion, despues el modulo situa su vector en las lneas de datos.

Las tecnicas mencionadas identican al modulo que solicito la inte rrupcion, ademas asignan prioridades cuando mas de un dispositi vo pide que se atienda su interrupcion. Con varias lneas, el CPU selecciona la lnea con mas prioridad. Con la consulta software, el orden de consulta determina la prioridad, al igual que la cone xion en cadena. El arbitarje de bus puede emplear un esquema de prioridad.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Controlador de Interrupciones Intel 8259A El 8086 tiene una lnea de peticion de interrupcion (INTR Interrupt Acknowquest) y una lnea de Reconocimiento de Interrupcion (IN TA Interrupt Acknowledge). El 8086 se congura con un arbitor de interrupciones externo, el 8259A. Los dispositivos externos se conectan al 8259A, que a su vez se conecta al 8086. Cada 8259A puede manejar hast 8 modulos, se pueden disponer en cascada para manejar hasta 64 modulos. La funcion del 8259A es la gestion de interrupciones, determina que interrupcion tiene la prioridad mas alta activando la senal INTR, y el CPU reconoce la solicitud usando la lnea INTA, con lo que el 8259 situa el vector apropiado en el bus de datos, y el CPU inicia el procesamiento de la interrupcion y comunicacion directa con el modulo.
Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Esquema de prioridad El 8259A es programable y el 8086 determina el esquema de prioridad a usar cargando una palabra de control. Se tienen los siguientes modos: Completamente anidado Las solicitudes de interrupcion se ordenan segun un nivel de prioridad (0-7).
Rotatorio Al haber dispositivos con prioridades iguales, en este modo, un dispositivo pasa a tener la menor prioridad del grupo despues de ser servido.

Con mascara especial El CPU puede inhibir selectivamente las interrrupciones de ciertos dispositivos.

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Interfaz Programable de Perifericos Intel 8255A Puede usarse para la E/S programada y la E/S mediante interrup ciones. Disenado para ser usado con el 8086. Las 24 lneas de E/S son programables por el 8086 usando un re gistro de control, se dividen en tres grupos de 8 bits ( , , ). Cada grupo puede funcionar como un puerto de E/S de 8 bits. El grupo se subdivide en grupos de 4 bits ( y ) que pueden usarse conjuntamente con los puertos de E/S y . Los grupos contienen senales de control y estado. Tiene una interfaz interna con el bus del 8086. Usando dos lneas de direcciones e indica uno de los tres puertos de E/S o el registro de control. Para una transferencia se requiere que la lnea de seleccion de chip (CHIP SELECT) se active junto con la lnea de lectura (READ) o escritura (WRITE). Con la lnea RESET se inicia el modulo.
Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Interfaz programable de perifericos 8255A


Buffer de datos Bus de datos del 8086 8 / 8 / Bus interno de 8 bits 8 /

CA CB

4 / Lneas de A0 direccin A1 Read Write Reset Chip Select

Lgica de Control Registro de control

8 /

8 /

Buffer de datos

Diagrama de bloques

Terminales

Posgrado de Ingeniera Electrica

8255A

Fuente de alimentacin

+5 voltios tierra

4 /

PA3 PA2 PA1 PA0 Read Chip Sel Tierra A1 A0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB0 PB1 PB2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

PA4 PA5 PA6 PA7 Write Reset D0 D1 D2 D3 D4 D5 D6 D7 V PB7 PB6 PB5 PB4 PB3

Universidad Michoacana de San Nicol de Hidalgo as

Modos de operacion El registro de control que es cargado por el CPU dene el modo de operacion y las senales, en el modo 0, los 3 grupos de 8 lneas externas funcionan como 3 puertos de E/S de 8 bits, cada uno como entrada o salida, caso contrario, los grupos y son puertos sirve para control de y . Las funciones de E/S y el grupo de la lneas de control sirven para la sincronizacion mediante con formidad de senales (handshaking) y la peticion de interrupciones. El emisor usa una lnea de control como lnea de Datos Listos (DATA READY) para indicar que hay un dato en las lneas de E/S. El receptor usa otra lnea de reconocimiento como reconocimien to (ACKNOWLEDGE), para indicar que el dato se ha ledo y que se pueden liberar las lneas de datos. Otra lnea se designa como lnea de Peticion de Interrupcion (INTERRUPT REQUEST).

Posgrado de Ingeniera Electrica

Universidad Michoacana de San Nicol de Hidalgo as

Interfaz de teclado/pantalla mediante el 8255A


Peticion de Interrupcion C3 A0 A1 A2 A3 A4 A5 A6 A7 R0 R1 R2 R3 Teclado R4 R5 Shift (desplz) Control

Puerto de Entrada

C4 C5

Dato Preparado Reconocimiento

8255A B0 B1 B2 B3 B4 B5 B6 B7 S0 S1 S2 Pantalla S3 S4 S5 Backspace (retroceso) Borrar

Puerto de Salida

C0 Peticion de Interrupcion

C1 C2 C6 C7

Dato Preparado Reconocimiento Blanking (Blanco) Borrar linea

Posgrado de Ingeniera Electrica

Вам также может понравиться