Download Entrada / Salida - prof.usb.ve.
Document related concepts
no text concepts found
Transcript
Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC2721 – Arquitectura del Computador I Prof. Osberth De Castro Clase 05 Memoria y Entrada/Salida Tecnología – Organización - Expansión La memoria como componente del Computador Tecnología de Almacenamiento Organización interna y Externa. Conexionado y Expansión Temporización. Entrada/Salida como componente del Computador Organización y estructura básica E/S Mapeada en Memoria y Aislada Dispositivos programables de E/S Entrada / Salida Programada, por interrupción y DMA. Basado en A. Tanenbaum, S.C.O., 5th Edition, William Stallings, C.O.A., 7ª Ed. y Barry B. Brey, Microprocesadores Intel, 5ta Ed. Carácterísticas de la Memoria en un Computador Lo que se quiere: Gran Velocidad de Acceso Gran Capacidad Flexibilidad de Expansión Limitaciones: Costo por bit Complejidad en la organización para el acceso Compatibilidad. Universidad Simón Bolívar 2 Vision general de la memoria de Acceso Aleatorio Dirección Procesador Datos Memoria Control Universidad Simón Bolívar 3 Memoria como dispositivo de capacidad 2n x p bits Dirección A0 A2 D0 D2 ... ... ... Dp-1 Datos Dp An-1 An Lineas de Control CS OE WE Habilitación del chip Habilitación salida de datos Orden de Escritura Universidad Simón Bolívar 4 Memoria de Acceso Aleatorio de 2n x p A0 a An Decodificacion de Localidad DIRECCION CONTROL . . . bitp bitp-1 bit1 bit0 Celda Celda . . . Celda Celda Localidad0 Celda Celda . . . Celda Celda Localidad1 . . . . . . . . . . . . Celda Celda . . . Celda Celda Localidad2n-1 Celda Celda . . . Celda Celda Localidad2n . . . Dp a D0 DATOS Universidad Simón Bolívar 5 Tecnologías de Memoria Categoría Tipo Mecanismo de Borrado Lectura-Escritura RAM Eléctrico a nivel de byte Eléctrico Sólo lectura ROM Imposible Máscara construcción Volatilidad volátil en No volátil Eléctrico PROM Lectura-escritura Mecanismo de escritura EPROM Luz Ultravioleta (nivel de chip) EEPROM Eléctrico a nivel de byte FLASH Eléctrico a nivel de bloque. Universidad Simón Bolívar 6 Organización de la Memoria. El bit RAM DINAMICA RAM ESTATICA Universidad Simón Bolívar 7 Organización de la Memoria. El bit RAM DINAMICA Almacena como carga de capacitor Los capacitores se descargan. Necesita refrescamiento. Construcción simple. Celdas mas pequeñas. Mas barata. Mas lenta. Uso en arreglos grandes y lentos (Memoria Principal). Es básicamente analógica RAM ESTATICA Almacena como valor digital en flip-flops. No sufre descargas. No necesita refrescamiento. Construcción Compleja. Celdas mas grandes. Mas Costosa. Mas Rápida. Uso en arreglos mas pequeños y rápidos (Memoria Caché). Circuito Digital. Universidad Simón Bolívar 8 RAM Estática 6116: 16 Kbits (2Kbytes x 8 bits) Universidad Simón Bolívar 9 Temporización de Lectura (ejemplo con RAM 6116) Ciclo general Ciclo general Ciclo simple si CS está habilitado permanentemente Ciclo simple si la dirección ya se ha establacido previamente. Universidad Simón Bolívar 10 Temporización de Escritura (ejemplo con RAM 6116) Ciclo general con WE definiendo el momento de la escritura. Ciclo general con CS definiendo el momento de la escritura. Universidad Simón Bolívar 11 Memoria del MC68HC908GP32 Memoria RAM •Datos y Variables de ejecución CPU Direcciones Datos y Control Memoria FLASH •Programa •Configuración •Datos semipermanentes Universidad Simón Bolívar 12 Arreglos y expansión de Memoria Sistemas de memoria usando múltiples chips de Memoria para aumentar su capacidad. Expansión del número de datos disponible Se dispone de mas capacidad de memoria para datos o programa. Varios integrados almacenan espacios de direcciones diferentes. Se debe decodificar el espacio de direcciones para habilitar/dehabilitar integrados cada vez que se hace un acceso. Expansión del ancho de los datos Se pueden leer o escribir palabras mas grandes ( multiples bytes ) en un solo ciclo de acceso. Un dato está formado por varias localidades de distintos integrados, que comparten la misma dirección interna. Universidad Simón Bolívar 13 Arreglos y expansión de Memoria Espansión en Direcciones b7 b0 Espansión en Ancho de Dato b31 b24 b23 b16 b15 b8 b7 b0 0000 0000 Integrado(3) Integrado(0) Integrado(2) Integrado(1) Integrado(0) 0011 0011 0100 Integrado(1) 0111 1000 Integrado(2) 1011 1100 Integrado(3) 1111 Universidad Simón Bolívar 14 Expansión en Direcciones a 4k x 8 con Memorias 6116 de 2k x 8 D0 – D7 A0 – A10 A B G CONTROL Y0 Y1 Y2 Y3 74LS139 WR OE La capacidad total direccionable es de 4K x 8. Direcciones de 0x000 a 0x1FFF, donde: - 6116(0) almacenará de 0x0000 a 0x07FF. - 6116(1) almacenará de 0x0800 a 0x0FFF. - 6116(2) almacenará de 0x1000 a 0x17FF. - 6116(3) almacenará de 0x1800 a 0x1FFF. A0 D0 A10 D7 ... ... ... ... WE OE 6116(0) CS . . . A CS de 6116(3) A11 – A12 A0 – A12 las direcciones A0 D0 A10 D7 ... ... ... WE OE 6116(1) CS A0 D0 A10 D7 ... ... las direcciones las direcciones ... ... ... WE OE las direcciones 6116(2) CS Universidad Simón Bolívar ... 15 Expansion en Ancho de dato a 2k x 32 con 6116 de 2k x 8 ... D7 A10 WE OE CS D0 ... ... WE 6116(3) OE D0 A10 D7 ... ... CS OE CS A0 D0 A10 D7 ... ... WE WE 6116(2) A0 – A10 A0 – A10 D7 A10 A0 6116(1) OE 6116(0) CS WR OE CS Universidad Simón Bolívar 16 D0 – D7 ... A0 D8 – D15 D0 D16 – D23 A0 D24 – D31 A0 – A10 A0 – A10 A0 – A10 D0 – D31 Ejemplo de Conexionado INTEL Universidad Simón Bolívar 17 Memorias y arreglos complejos Para arreglos grandes de Memoria Principal se usa RAM Dinámica (DRAM). Tipos: EDO – RAM: Usa Latches para guardar información cercana a la lectura actual (típicamente 256 bits), eliminando esperas en accesos secuenciales. SDRAM: DRAM síncrona. Trabaja con una señal de reloj permitiendo transferencias de bloques de datos, típicamente de 32 bytes. Cada lectura de DRAM equivale a 3 ciclos de reloj (típico). 32 lecturas secuenciales en DRAM tardan 32 x 3 = 46 ciclos. 32 lecturas secuenciales en SDRAM tardan 3 + (1 x 32 ) = 36 ciclos. DDR-SDRAM: DRAM síncrona de tasa Dual de Datos (Dual Data rate): igual que la SDRAM, pero permite accesos en ambos flancos del reloj (subida y bajada). Universidad Simón Bolívar 18 Memorias Complejas: DDR-SDRAM Micron MT46V de 512 Mbits Universidad Simón Bolívar 19 Memorias Complejas: DDR-SDRAM Micron MT46V de 512 Mbits Universidad Simón Bolívar 20 Arreglos : DIMM MT18VDDF12872 La versión de 1Gbyte consiste en 18 Integrados MT46V, c/u de 128M x 4, mas circuitos de soporte de Reloj, Registros y otros. Universidad Simón Bolívar 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 128M x 4 21 Entrada y Salida La Entrada y Salida es necesaria para la interacción con el exterior: Procesador ↔ Usuario Humano (Teclados, visualizadores, actuadores, etc.) Procesador ↔ Otros equipos (Otros Computadores, Impresoras, Almacenamiento externo, etc.). Computador Dirección Datos Memoria Dispositivo o equipo externo Control Procesador Mecanismo de acceso interno Dispositivos de Entrada / Salida (periférico) Interconexión a dispositivo externo Universidad Simón Bolívar •Monitor •Teclado •Impresora •Otro Computador •Actuador Industrial •Sensores 22 Entrada / Salida Mapeada en Memoria 0000 Memoria RAM 0011 0100 Entrada / Salida 0111 1000 Memoria RAM • Comparte el Espacio de direcciones de la memoria. • No hay instrucciones especiales para acceder a la Entrada / Salida, ni lineas. • Una instrucción de E/S podría ser: mov 0x005 → 0x101 ; Salida mov 0x102 → 0x005 ; Entrada • Se minimiza la circuitería extra para la señalización de Entrada / Salida. • Ejemplo: MC68HC908GP32 1111 Universidad Simón Bolívar 23 Entrada / Salida Aislada 0000 000 • Espacio de direcciones especial. • Instrucciones especiales. Entrada / Salida 111 • Una instrucción de E/S podría ser: OUT 0x005 → 0x005 ; Salida IN 0x006 → 0x006 ; Entrada Memoria RAM • Se deben usar señales especiales de control (no las de memoria) activadas por las instrucciones. • Ejemplo: Procesadores INTEL X86 1111 Universidad Simón Bolívar 24 Entrada / Salida mapeada: Implementación Básica. D0 a D7 WE OE CS D0 D1 D2 D3 D4 D5 D6 D7 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 Buffer de 3 estados A0 A1 A2 A3 A0 A1 A2 A3 A4 Memoria 16x8 74LS244 2G 1G Procesador que direcciona 32 bytes (25) G Y0 Y1 Y2 Y3 74LS139 Direccionamiento: Memoria RAM: Entrada/Salida: Indefinida en circuito: 00000 a 11111 00000 a 01111 (16 bytes) 10000 a 10011 (4 E/S) 10100 a 11111 El puerto(0) es entrada y tiene dirección 10000 El puerto(1) es salida y tiene dirección 10001 Universidad Simón Bolívar Puerto (0) Puerto (1) Puerto (2) Puerto (3) 74LS374 D0 D1 D2 D3 D4 D5 D6 D7 OC Biestable A B Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 CLK GND 25 Entrada / Salida Aislada: Implementación Básica. D0 a D7 WE OE CS D0 D1 D2 D3 D4 D5 D6 D7 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 Buffer de 3 estados A0 A1 A2 A3 A0 A1 A2 A3 Memoria 16x8 74LS244 2G 1G IO / M G Procesador que direcciona 16 bytes (25) Y0 Y1 Y2 Y3 74LS139 Direccionamiento: Memoria RAM: Entrada/Salida: Indefinida en circuito: 0000 a 1111 0000 a 1111 (16 bytes) 0000 a 0011 (4 puertos) 0100 a 1111 El Puerto(0) es entrada y tiene dirección 0000 El Puerto(1) es salida y tiene dirección 0001 ... Universidad Simón Bolívar Puerto (0) Puerto (1) Puerto (2) Puerto (3) 74LS374 D0 D1 D2 D3 D4 D5 D6 D7 OC Biestable A B Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 CLK GND 26 Entrada / Salida: Módulos Programables Permiten flexibilizar la programación en el uso de E/S. Circuitos menos discretos. Un solo integrado puede cumplir multiples funciones programables. Se construyen directamente adaptados al conexionado de buses del computador. Ejemplos: Interfaz de periféricos 82C55A. Controlador de Interrupciones 82C59A. Interfaz de teclado/pantalla 8279 Temporizador programable 8254 Módulos periféricos del MC68HC908GP32. Universidad Simón Bolívar 27 Entrada/Salida: Dispositivos programables Conexionado Organización Interna general Universidad Simón Bolívar 28 Dispositivos de E/S programables: 82C55A Universidad Simón Bolívar 29 Entrada / Salida: programación Entrada / Salida Programada El programa en el procesador se encarga de todas las tareas de E/S. El programa explícitamente transfiere los datos, configura los dispositivos, y les pregunta periódicamente por el estado y datos de los mismos. Desvantajoso dado que el procesador es mucho mas veloz que los dispositivos de E/S, de modo que la espera por programa representa ineficiciencia. Entrada / Salida por interrupción El programa sólo configura el dispositivo de E/S y transfiere datos E/S a registros o Memoria, pero no pregunta por la operación del mismo, pues le será avisado por medio de una interrupción. Los dispositivos de E/S generan interrupciones una vez que tienen datos listos para el programa ó han culminado una operación ordenada por el programa. Entrada / Salida por Acceso Directo Memoria (DMA) El programa sólo realiza configuraciones y da órdenes de E/S. No se encarga de la transferencia de datos E/S Memoria. De esta transferencia se encargan dispositivos especiales llamados Controladores de DMA, como el 8237A de Intel. Universidad Simón Bolívar 30 Entrada/Salida: programación E/S Programada E/S por interrupción Universidad Simón Bolívar E/S por DMA 31 Entrada/Salida: programación Universidad Simón Bolívar 32 Entrada/Salida por interrupciones Ejemplo de uso del 82C55A para E/S para el uso con un programa con E/S por interrupciones. Universidad Simón Bolívar 33 Entrada/Salida por Interrupciones Memoria Principal Memoria Principal Universidad Simón Bolívar 34 Entrada/Salida usando DMA Universidad Simón Bolívar 35 Entrada/Salida usando DMA Universidad Simón Bolívar 36