Download Memoria - Erika Vilches

Document related concepts
no text concepts found
Transcript
Memoria
M. en C. Erika Vilches
Parte 6
Lógica del Chip
• Como otros circuitos integrados, las
memorias semiconductoras vienen en chips
encapsulados.
• Cada chip contiene una matriz de celdas de
memoria.
• Para las memorias semiconductoras, uno de
los aspectos fundamentales de diseño es el
número de bits de datos que pueden ser
leídos / escritos a la vez.
• Organización de las celdas → 2D ó 2½ D
Organización 2D
• La disposición física de las celdas de la
matriz es la misma que la disposición lógica
(tal y como la percibe el procesador) de las
palabras de memoria.
• Esta organizada en W palabras (y) de B bits
(x) cada una.
• Ejemplo: Chip de 16MB → estructurado en
1M palabras de 16B
• Todos los bits de una palabra se encuentran
en el mismo chip.
Organización 2D
• En esta organización...
• # de líneas de dirección
• # de celdas de memoria (capacidad)
• # palabras (# de unidades direccionables)
• # bits por palabra (longitud de palabra)
Ejemplos
1. Ej: Diseñe una memoria de 2D de 1Kb con
palabras de 16 bits.
2. Ej: Si se sabe que una memoria 2D tiene 5 líneas
de dirección y 2048 celdas de capacidad,
entonces:
•
•
¿Cuántas palabras tiene?
¿Cuántos bits por palabra?
3. Ej: ¿Cuál es el efecto en la capacidad de una
memoria 2D si se agrega una línea de dirección?
1. Dado un MAR de 8 bits y un MDR de 64
bits:
• ¿Cuántas palabras puedo direccionar?
• ¿Cuál es la longitud de la palabra?
• ¿Cuál es la capacidad de la memoria en
bits?
• ¿Cuál es la capacidad de la memoria en
bytes?
2. Realice un diagrama de bloque para una
memoria de 1MByte en 2D, con longitud de
palabra de 16 bits, coloca todos los
componentes.
Organización 2½D
• Un bit por chip
• Los bits de una palabra están repartidos en
varios chips
• El chip contiene un arreglo de bits cuadrado
Organización 2½ D
DRAM típica de 16 Megabits (4M x 4)
• Se escriben / leen 4 bits a la vez.
• La matriz de memoria está estructurada en
4 matrices cuadradas de 2048 x 2048.
• Los elementos de la matriz conectan a líneas
horizontales (de fila) y a líneas verticales (de
columna).
• Línea horizontal → conecta al terminal de
Selección de cada celda en la fila.
• Linea vertical → conecta al terminal I/O de
cada celda en la columna.
• Se requiere un total de log W líneas de
2
dirección.
• En nuestro ejemplo se requieren 11 líneas
de direcciones para seleccionar una de entre
2048 filas.
• log (2048) = log
2
10
(2048) / log10 (2) = 11
• Estas 11 líneas entran en un decodificador
de filas que tiene 11 líneas de entrada y
2048 de salida.
• Otro grupo de 11 líneas de direcciones
selecciona una de entre 2048 columnas, con
4 bits por columna
• Se utilizan 4 líneas para la entrada y salida de
datos.
• Observe que sólo hay 11 líneas de
direcciones (A0 a A10), la mitad del número
necesario para una matriz de 2048 x 2048.
• Ahorro en el número de terminales.
• Primero se proporcionan al chip 11 señales
de dirección que definen la dirección de la
fila, después se presentan las otras 11
señales para la dirección de la columna.
• Estas señales se acompañan por las de Row
Addres Selection (RAS) y de Column
Address Selection (CAS) que temporizan el
chip.
• Los terminales Write Enable (WE) y Output
Enable (OE) determinan si se realiza una
operacion de escritura o de lectura.
• Técnica simple de refresh → inhabilitar el
chip mientras se refrescan todas las celdas.
Para cada fila, las salidas del contador se
conectan al decodificador de filas y se activa
la linea RAS (realizar una lectura), de modo
que se refrescan todas las celdas de una fila
a la vez.
• Ej: Se tiene una memoria 2½ D con longitud
de palabra de 1 bit. Si se sabe que tiene 1Kb
de capacidad: ¿cuántas
• Palabras
• Lineas de dirección y
• Tamaño de matriz
se necesitan?
• 1Kbit de capacidad (# celdas en la
memoria), entonces:
• # palabras = 1K = 1024
• # líneas de dirección = log2 1024 = 10 (5
para las líneas y 5 para las columnas)
• # bits por palabra = 1
• La matriz cuadrada de memoria es de 2^5 x
2^5 (32 x 32).
Ventajas de 2½D sobre 2D
• 2½ requiere menos líneas de dirección que
2D.
• 2½ facilita la corrección de errores.
• 2½ cuadriplica la capacidad por línea de
dirección.
• 2½ es modular (por ser cuadrada).
Organización Modular
•
•
•
•
#chips = #bits palabra
256K x 8 (2 ½ D)
256K = 256 x 1024 = 262,144
log2 (262,144) = log10 (262,144) / log10 (2) = 18 líneas de dirección.
18 dirección a 8 chips c/u provee un bit
El tamaño de la memoria es igual al número de bits por chip
512 x 512 = 262,144 / 1024 = 256K
•
•
•
Matriz de chips
1M x 8 RAM 2½ D
Ejercicio de Organización
Modular 2½ D
•
Proporcione un diagrama de bloque para una memoria
de 256Kbx16, utilizando chips de memoria de 64Kbx1.
Coloque todas las lineas necesarias, así como el MAR y
el MDR.
•
Determine los datos necesarios para el chip de
64Kx1 y realice el diagrama
•
Forme un módulo con los chips de forma que se
ajuste al tamaño de palabra. Da el diagrama del
módulo.
•
Usando módulos, genere el diagrama de bloque para
la memoria de forma que su capacidad sea de
256Kx16.
Encapsulado de los
Chips
DRAM de 16Mb (2½D)
EEPROM de 8Mb (2D)
• Para la EEPROM (1M x 8):
• 1M = 1 X 1024 = 1024 Kb = 1,048,576 b
• log (1,048,576) = 20 líneas de dirección
2
(A0 a la A19)
• 8 líneas de datos (D0 a la D7)
• Vpp = Tensión de programación
• Vss = Tierra
• Vcc = Alimentación
• CE = Chip Enable
•
Para la DRAM (4M x 4):
•
•
•
WE = Write Enable = Operación de escritura
OE = Output Enable = Operación de lectura
Debido al acceso por filas y columnas, solamente
se necesitan 11 terminales para indicar las 4M
combinaciones.
•
•
•
•
•
4M x 1024 = 4096K x 1024 = 4,194,304 b
log2 (4,194,304) = 22 (11 para filas, 11 para
columnas)
RAS = Row Addres Selection
CAS = Column Address Selection
NC = No conectar = para que el numero total
de terminales sea par