Interfaz Periférico Programable 8255 (8255 PPI ≡ programmable peripheral interface) Introducción a los sistemas de Entr
Views 131 Downloads 48 File size 109KB
Interfaz Periférico Programable 8255 (8255 PPI ≡ programmable peripheral interface)
Introducción a los sistemas de Entrada/Salida
Índice de contenidos • • • • • • • • • •
Características Diagrama de bloques Direcciones y registros de control Modo 0 (E/S programada) Cronograma modo 0 Modo 1 (E/S por interrupciones) Cronograma modo 1 Modo 2 (E/S bidireccional) Cronograma modo 2 Emulación interfaz centronics (puerto paralelo impresora) mediante un 8255 Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
2
Características • 3 puertos de E/S. • 2 de tamaño byte. • 1 de tamaño, 2x4 bits con control bit a bit. • Disposición de los puertos como entradas, como salidas o bidireccionales. • Departamento Líneas de protocolo. de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
3
Diagrama de bloques
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
4
Direcciones y registros de control
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
5
Modo 0 (E/S Programada) • Se utilizan los tres puertos (A,B,C) como simples registros donde leer y escribir. La CPU y el dispositivo/s externo/s correspondiente/s se encarga/n de leer/escribir de acuerdo a un determinado protocolo previamente definido. ¾Puerto A (8 bits) controlado por D4 del registro de control. ¾Puerto B (8 bits) controlado por D1 del registro de control. ¾Puerto C alto (4 bits) controlado por D3. ¾Puerto C bajo (4 bits) controlado por D0.
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
6
Cronograma modo 0
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
7
Modo 1 (E/S por Interrupciones) • En este modo se automatiza el Handshake. ¾Puerto A (8 bits) controlado por D4 del registro de control. ¾Puerto B (8 bits) controlado por D1 del registro de control. ¾Puerto C señales del protocolo. Señales del protocolo Handshake SEÑALES DE ENTRADA
STBA (strobe input): Un cero en esta línea de entrada el 8255 carga un dato en el registro del PUERTO A.
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
8
Modo 1 (E/S por Interrupciones) IBFA (input buffer full): un 1 en esta línea de salida indica que el dato ha sido cargado en el registro del PUERTO A. IBF se hace 1 cuando STB es 0 y se hace 0 con el flanco de subida de la señal RD, es decir, cuando la CPU ha leído el dato. SEÑALES DE SALIDA OBFA (output buffer full): esta línea de salida será 0 para indicar que la CPU ha puesto un dato en el PUERTO A y que este debe ser recogido por el dispositivo esterior. OBF será 0 con el flanco de subida de la señal WR y se hará 1 cuando la señal de entrada ACK sea 0. Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
9
Modo 1 (E/S por Interrupciones) ACKA (acknowledge input): un 0 en esta entrada informa al 8255 de que los datos del PUERTO A han sido leídos. Esencialmente es una respuesta del dispositivo periférico indicando que ha sido recibido el dato enviado por la CPU. INTERRUPCIONES • La señal de interrupción se puede generar a la entrada de un dato en el PUERTO A o a salida debido a una lectura de un dispositivo externo. Lo mismo para el PUERTO B. • En el caso del PUERTO A es necesario siempre que el bit 4 del puerto C (PC4) esté a 1. Esta bit se denomina INTEA. Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
10
Modo 1 (E/S por Interrupciones) • En el caso del PUERTO B es necesario siempre que el bit 2 del puerto C (PC2) esté a 1. Esta bit se denomina INTEB • Por lo tanto, para que el 8255 genere una interrupción asociada al PUERTO A (señal INTRA) a la llegada de un dato, se debe dar el caso de: STBA es 1, IBFA es 1 e INTEA es 1 • Para el caso de que l 8255 genere una interrupción asociada al PUERTO A (señal INTRB) a la salida de un dato, se debe dar el caso de: ACKA es 1, OBFA es 1 e INTEA es 1 Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
11
Modo 1 (E/S por Interrupciones)
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
12
Cronograma modo 1 1 2
5 3
Comienzo ejecución de las rutinas de atención a la interrupción
4
1 2
4 5 3
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
13
Modo 2 (E/S bidireccional) • El PUERTO A funciona de forma bidireccional (lectura y escritura). Es como un doble modo 1. El PUERTO B no tiene este modo. ¾Puerto A (8 bits) controlado por D4 del registro de control. ¾Puerto C bajo señales de protocolo. SEÑALES DE PROTOCOLO STBA (strobe input) IBFA (input buffer full) ACKA (acknowledge) OBFA (output buffer full) Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
14
Modo 2 (E/S bidireccional)
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
15
Cronograma modo 2
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
16
Emulación interfaz centronics (puerto paralelo impresora) mediante un 8255
Departamento de Arquitectura y Tecnología de Computadores
Introducción a los sistemas de Entrada/Salida
17