Story 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