conceptos básicos jerarquía de memoria transparencias de...
TRANSCRIPT
Estructura de computadores 2
Sistemas de memoria
• Conceptos básicos• Jerarquía de memoria
• Memoria caché
• Memoria principal
• Memoria virtual
}Transparencias de clase encampusvirtual.udc.es
Estructura de computadores 2
Memoria principal
Antiguamente: Matriz de pequeños anillos ferromagnéticos
Hoy en día: Tecnología de semiconductores
Estructura de computadores 2
Memorias semiconductoras de acceso aleatorio
• RAM (Random Access Memory): Lectura y escritura de datos rápida
• RAM estática: almacenamiento de los valores binarios mediante biestables
• RAM dinámica: almacenamiento a través de celdas que conservan la caga como condensadores:
• Requieren circuitería de refresco
• Celda más simple => más densidad y más barata
• Utilizada para tamaños grandes => coste fijo de circuitería se compensa con el menor coste de las celdas
• Más lentas que las estáticas
Estructura de computadores 2
Memorias semiconductoras de acceso aleatorio
• ROM (Read Only Memory):
• Aplicaciones: Microprogramación, subrutinas de biblioteca para funciones de uso frecuente, programas del sistemas, tablas de funciones
• Inconveniente principal: Costes fijos de fabricación, relativamente grande
• PROM (ROM Programable): Alternativa más barata para aquellos casos en que el número de chips necesario es bajo.
• Proceso de escritura: eléctricamente y en un proceso posterior al de fabricación (suministrador o cliente)
• Mayor flexibilidad y comodidad
Estructura de computadores 2
Memorias semiconductoras de acceso aleatorio
• Memorias de sobre todo lectura: Útiles para aplicaciones en las que las lecturas son más frecuentes que las escrituras pero se requiere almacenamiento no volátil
• EPROM (Erasable programmable read-only memor): Más caras que una PROM pero podemos actualizar su contenido múltiples veces. Hay que borrar todo su contenido anterior.
• (EEPROM (Electrically EPROM):
• Puedes escribirse (un byte) en cualquier momento sin borrar su contenido anterior
• No volátil y actualizable in situ
• Más caras y menos densas que las EPROM,
• Escritura más lenta que la lectura
• Memoria flash (Alta velocidad de programación)
• Mayor densidad que las EEPROM, del orden de las EPROM
• Borrado mucho más rápido que las EPROM
Estructura de computadores 2
Resumen: tecnologías
Tipo de memoria Clase BorradoMecanismos de
escritura Volatilidad
Memoria de acceso aleatorio (RAM)
Memoria de lectura/escritura
Eléctricamente por bytes
Eléctricamente Volátil
Memoria de solo lectura (ROM) Memorias de solo
lectura No posible
Mediante máscaras
No-volátil
ROM programable (PROM)
Memorias de solo lectura No posible
Eléctricamente
No-volátilPROM borrable
(EPROM)
Memorias de sobre todo lectura
Luz ultravioleta, chip completo
Eléctricamente
No-volátil
Memoria FLASH Memorias de sobre todo lectura
Eléctricamente por bloques
Eléctricamente
No-volátil
PROM borrable eléctricamente
(EEPROM)
Memorias de sobre todo lectura
Eléctricamente por bytes
Eléctricamente
No-volátil
Estructura de computadores 2
Organización
• La celda de memoria es el elemento básico de la memoria semiconductora
• Normalmente tiene 3 terminales:• Terminal de selección: selecciona la celda para la operacion de
lectura o escritura
• Terminal de control: Tipo de operación
• Tercer terminal: Introducción de la señal que fija el estado a 0 o 1 (en una escritura) o por el que se lee el estado (en una lectura)
Celda
Escritura
Selección
Control
Entrada de datos Celda
Lectura
Selección
Control
Detección
Estructura de computadores 2
Lógica del chip de memoria
• Un chip contiene una matriz de celdas de memoria
• Tamaños típicos encapsulados en un chip: 4M-bits, 16M-bits
• Aspecto fundamental del diseño: número de bits de datos que pueden ser leidos/escritos a la vez
• Dos vertientes:• Disposición física de las celdas coincide con la disposición lógica
(la que percibe el procesador) de las palabras.La matriz se organiza en W palabras de B bits cada una.
• Estructura de un-bit-por-chip: Los datos se leen o escriben por bits
Estructura de computadores 2
Lógica del chip de memoria
• Se escriben o leen 4 bits a la vez
• Cuatro líneas (Dʼs) para E/S a/desde un buffer de datos
Estructura de computadores 2
Lógica del chip de memoria
• Para leer/escribir una palabra de datos en el bus, deben conectarse varias DRAMs como esta al controlador de memoria
Estructura de computadores 2
Lógica del chip de memoria
• Matriz de memoria estructura en 4 submatrices cuadradas de 2048x2048 elementos
Estructura de computadores 2
Lógica del chip de memoria
• Matriz de memoria estructura en 4 submatrices cuadradas de 2048x2048 elementos
Estructura de computadores 2
Lógica del chip de memoria
• Líneas de direcciones (Aʼs): suministran la dirección de la palabra a seleccionar.• Número de líneas requeridas -> log2 W (22 líneas 211=2048)
Estructura de computadores 2
Lógica del chip de memoria
• Multiplexado de líneas de dirección (A0-A10) => Ahorro de número de pines.
Estructura de computadores 2
Lógica del chip de memoria
• Primero se proporciona la dirección de la fila y después la dirección de la columna de la matriz
Estructura de computadores 2
Lógica del chip de memoria
• La selección se realizan mediante 2 señales:
• RAS -> Row Address Selection
• CAS -> Column Address Selection
Estructura de computadores 2
Lógica del chip de memoria
• Circuitería de refresco: se inhabilita el chip mientras se refrescan todas las celdas
• El contador de refresco recorre todos los valores de fila
• La salida del contador se conecta al decodificador de filas y se activa la línea RAS
Estructura de computadores 2
Encapsulado de los chips: EPROM DE 8 BITS
• Estructura de una palabra-por-chip• 1M palabras -> 20 pines (210=1M), A0-A19
• 8 líneas de lectura, D0-D7
• Línea de alimentación, Vcc. Terminal de tierra, Vss
• Pin de habilitación de chip CE (chip enable): ante la posibilidad de varios chips de memoria todos conectados al mismo bus de direcciones, CE indica si la dirección es válida o no para el chip
• Tensión de programación (operaciones de Escritura), Vpp
Estructura de computadores 2
Encapsulado de los chips: DRAM de 16 Mbit
• Terminales de datos de E/S
• WE (write enable) -> operación de escritura
• OE (output enable) -> operación de lectura
Estructura de computadores 2
Organización en módulos: memoria de 256 Kbytes
• Si un chip de RAM contiene 1 bit por palabra -> se necesitan al menos un número de chips igual al número de bits por palabra
• Funciona cuando el tamaño de memoria es igual al número de bits por chip (512*512=256K*8=256KB)
• En caso contrario necesitamos un array de chips
Estructura de computadores 2
Organización en módulos: memoria de 1Mbyte• Cuatro columnas (grupos) de chips donde cada columna tiene una diposición como la de la
figura anterior
• 1M palabras -> 20 líneas de direcciones
• 18 bits (menos significativos) -> conectados a los 32 módulos
• 2 bits (más significativos) -> selección de habilitación de chip a una de las 4 columnas de módulos
Estructura de computadores 2
Memorias entrelazadas
• Idea: dividir la memoria en módulos independientes
• Objetivo: acceso simultáneo a varias palabras en diferentes módulos
• Denominación: ténica de entrelazamiento
• Condición de eficiencia: las referencias a memoria se distribuyen equitativamente entre los módulos. La clave es la distribución
• Situación ideal: El ancho de banda de acceso a memoria se multiplica por el número de módulos
Estructura de computadores 2
Esquemas de entrelazamiento
• Entrelazamiento de orden superior
• Entrelazamiento de orden inferior
Memoria total = N = 2n palabras
Número de módulos = M = 2m
Estructura de computadores 2
Entr. de orden superior (consecutivo)• Dirección física: n bits
• Al i-ésimo módulo le c o r r e s p o n d e n l a s direcciones consecutivas i2n-m hasta (i+1)2n-m-1
• L o s m b i t s m á s significativos identifican el módulo y el resto un “desplazamiento” dentro del módulo
0 1 2 3 4 5 6 7
Estructura de computadores 2
Entr. de orden inferior (cíclico)
• A l i - é s i m o m ó d u l o l e corresponden las direcciones de la forma k*M+i con k=0,1,2,...2n-m-1 (Espaciamiento M entre ellas
• Los m bits menos significativos identifican el módulo y el resto un “desplazamiento” dentro del módulo
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Estructura de computadores 2
Entrelazamiento: Conflicto de memoria
• Con cualquier de ambos esquemas se pueden obtener M palabras en paralelo por cada acceso a memoria
• Conflicto de memoria: Varias direcciones requieren simultáneamente el acceso a mismo módulo
• Los conflictos de memoria son mayores en orden superior debido a la secuencialidad
Estructura de computadores 2
Entrelazamiento: Conflicto de memoria
• En sistemas multiprocesador es a veces mejor el entrelazamiento de orden superior cuando l as t a reas con d i s j un tas o interaccionan poco en tre sí (lo cual no siempre es cierto)
• Se suele utilizar el entrelazamiento de orden inferior
• Ventajas del superior:• Expandibilidad
• Fiabilidad: un fallo se restringe a un área localizada del espacio de direcciones
Estructura de computadores 2
Diseño de un esquema de orden inferior
• Soluciones:• Con latches a la salida
• Con latches a la entrada
Estructura de computadores 2
Orden inferior. Latches a la salida
• En cada acceso son le idas M palabras consecut ivas: k-M+i i=0,1,…,M-1
• Se almacenan en latches y son transferidas a un MUX
• Las palabras son leidas en el siguiente ciclo. Mecanismo de anticipación
• En el mejor caso el tiempo de acceso se reduce en M
• Es ideal para accesos a memoria secuenciales
• Baja su eficiencia en programas no secuenciales (saltos)
• Para solucionar este problema se pueden diseñar sistemas con latches a la entrada
Estructura de computadores 2
Orden inferior. Latches a la entrada
• Cada módulo puede usar una dirección relativa particular
• Necesita un controlador de memoria para procesar las peticiones una a una, secuencialmente
• Si una petición encuentra el latch ocupado por otra previa, es retardado