Title: Memoria%20y%20Entrada/Salida%20Tecnolog
1Memoria 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.
2Cará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.
3Vision general de la memoria de Acceso Aleatorio
Procesador
Memoria
Dirección
Datos
Control
4Memoria como dispositivo de capacidad 2n x p bits
Dirección
A0
D0
Datos
A2
D2
. . .
. . .
. . .
Dp-1
Dp
An-1
An
Lineas de Control
CS
OE
WE
Habilitación del chip
Habilitación salida de datos
Orden de Escritura
5Memoria de Acceso Aleatorio de 2n x p
CONTROL
bitp-1
bitp
bit0
bit1
Decodificacion de Localidad
A0 a An
Localidad0
Celda
Celda
Celda
Celda
. . .
Celda
Celda
Celda
Celda
Localidad1
. . .
DIRECCION
. . .
. . .
. . .
. . .
. . .
. . .
Celda
Celda
Celda
Celda
Dp a D0
. . .
Localidad2n-1
Celda
Celda
Celda
Celda
. . .
Localidad2n
DATOS
6Tecnologías de Memoria
Categoría Tipo Mecanismo de Borrado Mecanismo de escritura Volatilidad
Lectura-Escritura RAM Eléctrico a nivel de byte Eléctrico volátil
Sólo lectura ROM Imposible Máscara en construcción No volátil
Sólo lectura PROM Imposible Eléctrico No volátil
Lectura-escritura EPROM Luz Ultravioleta (nivel de chip) Eléctrico No volátil
Lectura-escritura EEPROM Eléctrico a nivel de byte Eléctrico No volátil
Lectura-escritura FLASH Eléctrico a nivel de bloque. Eléctrico No volátil
7Organización de la Memoria. El bit
8Organizació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.
9RAM Estática 6116 16 Kbits (2Kbytes x 8 bits)
10Temporizació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.
11Temporizació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.
12Memoria del MC68HC908GP32
CPU
- Memoria RAM
- Datos y Variables de ejecución
Direcciones Datos y Control
- Memoria FLASH
- Programa
- Configuración
- Datos semipermanentes
13Arreglos 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.
14Arreglos y expansión de Memoria
Espansión en Direcciones
Espansión en Ancho de Dato
b0
b7
b7
b15
b8
b16
b23
b24
b31
b0
Integrado(0)
Integrado(1)
Integrado(2)
Integrado(3)
0000
Integrado(0)
0000
0011
0011
Integrado(1)
0100
0111
Integrado(2)
1000
1011
Integrado(3)
1100
1111
15Expansión en Direcciones a 4k x 8 con Memorias
6116 de 2k x 8
D0 D7
A0 A12
A0 A10
A0
D0
...
...
...
...
A11 A12
D7
A10
A
Y0
WE
Y1
B
OE
6116(0)
Y2
CS
G
Y3
CONTROL
A0
D0
74LS139
...
...
...
...
WR
OE
D7
A10
. . . A CS de 6116(3)
WE
- La capacidad total direccionable es de 4K x 8.
Direcciones de 0x000 a 0x1FFF, donde - 6116(0) almacenará las direcciones de 0x0000 a
0x07FF. - 6116(1) almacenará las direcciones de 0x0800 a
0x0FFF. - 6116(2) almacenará las direcciones de 0x1000 a
0x17FF. - 6116(3) almacenará las direcciones de 0x1800 a
0x1FFF.
OE
6116(1)
CS
A0
D0
...
...
...
...
D7
A10
WE
OE
6116(2)
CS
...
16Expansion en Ancho de dato a 2k x 32 con 6116 de
2k x 8
D0 D31
A0 A10
A0 A10
A0 A10
A0 A10
D24 D31
A0
D0
A0
D0
A0
A0
D0
D16 D23
D0
D8 D15
A0 A10
D0 D7
...
...
...
...
...
...
...
...
D7
D7
A10
D7
A10
D7
A10
A10
WE
WE
WE
WE
OE
6116(3)
OE
6116(2)
OE
6116(0)
OE
6116(1)
CS
CS
CS
CS
WR
OE
CS
17Ejemplo de Conexionado INTEL
18Memorias 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).
19Memorias Complejas DDR-SDRAM Micron MT46V de 512
Mbits
20Memorias Complejas DDR-SDRAM Micron MT46V de 512
Mbits
21Arreglos DIMM MT18VDDF12872
128M x 4
128M x 4
128M x 4
128M x 4
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.
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
22Entrada 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
Procesador
Memoria
Datos
Control
- Dispositivo
- o equipo externo
- Monitor
- Teclado
- Impresora
- Otro Computador
- Actuador Industrial
- Sensores
Dispositivos de Entrada / Salida (periférico)
Mecanismo de acceso interno
Interconexión a dispositivo externo
23Entrada / Salida Mapeada en Memoria
Memoria RAM
0000
- 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
0011
Entrada / Salida
0100
0111
Memoria RAM
1000
1111
24Entrada / Salida Aislada
Entrada / Salida
Memoria RAM
0000
000
- Espacio de direcciones especial.
- Instrucciones especiales.
- Una instrucción de E/S podría ser
- OUT 0x005 ? 0x005 Salida
- IN 0x006 ? 0x006 Entrada
- Se deben usar señales especiales de control (no
las de memoria) activadas por las instrucciones. - Ejemplo Procesadores INTEL X86
111
1111
25Entrada / Salida mapeada Implementación Básica.
D0 a D7
Procesador que direcciona 32 bytes (25)
74LS244
1Y1
1A1
D0
A0
A0
1Y2
1A2
D1
A1
A1
1Y3
1A3
D2
A2
A2
Memoria 16x8
1Y4
1A4
Buffer de 3 estados
D3
A3
A3
2Y1
2A1
D4
A4
2Y2
2A2
D5
WE
2Y3
2A3
D6
OE
2Y4
2A4
D7
CS
1G
2G
Puerto (0)
A
Y0
Puerto (1)
74LS374
Y1
B
Puerto (2)
Q0
D0
Y2
Puerto (3)
Q1
D1
G
Y3
Q2
D2
Q3
D3
74LS139
Q4
D4
Biestable
Q5
D5
Direccionamiento 00000 a 11111 Memoria RAM
00000 a 01111 (16 bytes) Entrada/Salida 10000 a
10011 (4 E/S) Indefinida en circuito 10100 a
11111 El puerto(0) es entrada y tiene
dirección 10000 El puerto(1) es salida y tiene
dirección 10001
Q6
D6
Q7
D7
CLK
OC
GND
26Entrada / Salida Aislada Implementación Básica.
D0 a D7
Procesador que direcciona 16 bytes (25)
74LS244
1Y1
1A1
D0
A0
A0
1Y2
1A2
D1
A1
A1
1Y3
1A3
D2
A2
A2
Memoria 16x8
1Y4
1A4
Buffer de 3 estados
D3
A3
A3
2Y1
2A1
D4
2Y2
2A2
D5
WE
2Y3
2A3
D6
OE
2Y4
2A4
D7
CS
1G
2G
Puerto (0)
A
Y0
Puerto (1)
74LS374
Y1
B
Puerto (2)
Q0
D0
Y2
Puerto (3)
Q1
D1
G
Y3
Q2
D2
Q3
D3
74LS139
Q4
D4
Biestable
Q5
D5
Direccionamiento 0000 a 1111 Memoria RAM 0000
a 1111 (16 bytes) Entrada/Salida 0000 a 0011 (4
puertos) Indefinida en circuito 0100 a 1111 El
Puerto(0) es entrada y tiene dirección 0000 El
Puerto(1) es salida y tiene dirección 0001 . . .
Q6
D6
Q7
D7
CLK
OC
GND
27Entrada / 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.
28Entrada/Salida Dispositivos programables
Conexionado
Organización Interna general
29Dispositivos de E/S programables 82C55A
30Entrada / 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.
31Entrada/Salida programación
E/S Programada
E/S por interrupción
E/S por DMA
32Entrada/Salida programación
33Entrada/Salida por interrupciones
Ejemplo de uso del 82C55A para E/S para el uso
con un programa con E/S por interrupciones.
34Entrada/Salida por Interrupciones
35Entrada/Salida usando DMA
36Entrada/Salida usando DMA