Tema 4. Subsistema de Memoria 4.1. Introducción 4.2. Memoria cache 4.3. Memoria principal Conceptos generales 4.4. Memoria virtual Organizaciones para mejorar el rendimiento Algunas tecnologías DRAM Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 53 4.3 M P R I N C I P A L Conceptos generales • La memoria principal es el siguiente nivel de la jerarquía de memorias, a continuación de la/s cache/s, y por tanto satisface las demandas de ese nivel. • Además, sirve de interface para la E/S del sistema computador Æ Destino de las entradas y fuente de las salidas. • Está construida con DRAMs, las cuales están pensadas para aumentar la densidad en lugar de disminuir el tiempo de acceso • Al ser el siguiente nivel de la jerarquía, y por el hecho de ser un nivel más lento que la cache, su organización influye en la penalización de fallo y por tanto influye en el rendimiento. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 54 1 4.3 M P R I N C I P A L Rendimiento de la memoria principal • Los parámetros para evaluar el rendimiento de la memoria principal son – Latencia : tiempo en obtener el primer acceso – Ancho de banda : número de bytes leídos o escritos por unidad de tiempo • Para lograr un buen rendimiento, hay que conseguir el mejor ancho de banda posible entre la cache y la memoria principal, ya que así se disminuye el tiempo de transferencia. El tiempo de acceso o latencia es difícil de reducir. • Las posibles organizaciones para mejorar el rendimiento de la memoria principal son – Aumentar el ancho de la memoria – Utilizar memoria entrelazada – Utilizar bancos de memoria independientes Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 55 4.3 M P R I N C I P A L Organización con ancho de una palabra • La conexión de la CPU con la cache es de 1 palabra de ancho, al igual que la conexión entre la cache y la memoria principal. • Si suponemos: – 1 ciclo para enviar la dirección. – 15 ciclos para cada acceso a una posición de la DRAM. – 1 ciclo para enviar una palabra de datos. – Bloque de cache de 4 palabras (16 bytes). • Penalización de fallo = 1 + 4x15 + 4x1 = 65 ciclos • Medida del ancho de banda entre la cache y la memoria principal Nº bytes transferidos /ciclo = 16 / 65 = 0,25 CPU Cache Bus Memory Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 56 2 4.3 M P R I N C I P A L Organización con ancho de varias palabras • Se aumenta el ancho de banda haciendo la memoria y el bus de varias palabras de ancho. • Aumentar el ancho de la memoria y del bus disminuye el tiempo de acceso y el tiempo de transferencia Æ disminuye la penalización de fallo • Se necesita un multiplexor que seleccione la palabra del bloque de cache que se va a suministrar a la CPU • CPU Multiplexor Cache Todas estas medidas aumentan el coste, y aumentan también el tiempo de acceso a la cache. Bus Memory • Si ancho de memoria es de 2 palabras Penalización de fallo = 1 + 2x15 + 2x1 = 33 ciclos Nº bytes transferidos/ciclo = 16/33 = 0,48 • Si ancho de memoria = 4 palabras Penalización de fallo = 1 + 1x15 + 1x1 = 17 ciclos Nº bytes transferidos/ciclo = 16/17 = 0,94 Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 57 4.3 M P R I N C I P A L Organización de memoria entrelazada (1) • Se incrementa el ancho de banda ensanchando la memoria pero no el bus de conexión. • Memoria organizada en bancos de 1 palabra de ancho. Se leen/escriben simultáneamente varias palabras (tantas como bancos) con un solo tiempo de acceso. – Hay una parte común en la dirección que se envía a todos los bancos – Todos los bancos acceden simultáneamente al dato ubicado en esa dirección – Se lee el dato disponible en cada banco → se obtiene un bloque de datos CPU Cache Bus • Los bits menos significativos de la dirección seleccionan el banco de memoria. Direcciones consecutivas de memoria (Dn) se ubican en bancos consecutivos. Memory bank 0 Memory bank 1 Memory bank 2 Memory bank 3 – Ejemplo con 4 bancos: D0 -> Banco0; D1 -> Banco1; D2 -> Banco2; D3 -> Banco3; Dn -> Banco(Dn MODULO Nº Bancos) Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 58 3 4.3 M P R I N C I P A L Organización de memoria entrelazada (2) • Se sigue pagando el coste de transmitir cada palabra secuencialmente, pero se evita pagar más de una vez la latencia de acceso. – Con 4 bancos de memoria Penalización de fallo = 1 + 1x15 + 4x1 = 20 ciclos Nº bytes transferidos/ciclo = 16/20 = 0,80 • Se hacen más rápidas las escrituras Æ importante en write through. • Funcionan al mismo tiempo todos los módulos Æ más consumo • Dificultad para expandir la memoria Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 59 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (1) • Las DRAMs evolucionan hacia mayor densidad, no menor tiempo de acceso. • Una DRAM es una matriz de d x w elementos, siendo d el número de filas distintas y w el número de bits de salida para cada fila (1≤ w≤ 16, común 4 y 8) • Si aumenta la densidad, el tamaño total de la DRAM crece, pero como w se mantiene constante (coste de verificación y encapsulado menor) Æ d crece. • Aumentar el tamaño total conduce a que la configuración mínima de memoria crezca, y esto puede no interesarnos por razones de coste, etc... Æ Cada vez es menos atractivo construir la memoria con múltiples bloques de memoria porque la configuración mínima de memoria crece. • Ejemplo: Construir una memoria de 64 MB con chips de 4Mx 1 , y palabras de 32 bits. 4 bancos, c/u con 32 DRAMs de 4Mbit x 1 Æ 128 DRAMS de 4Mx 1 • Si usamos chips de 16M x 1 Æ 1 solo banco con 32 chips de 16M x1, y si quisieramos tener 4 bancos (por hacer la memoria entrelazada), estaríamos obligados a poner 32x4 chips de 16M x 1, haciendo un total de 256MB de memoria. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 60 4 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (2) • Ejercicio: Diseña una memoria de 64 MB con chips de 64 Mbits de forma de obtengamos 4 bancos. ¿Qué características (d y w) deben tener los chips de 64 Mbits? ¿Cuántos chips de 64 Mbits tendrá cada banco? • Si no fijamos el tamaño total de la memoria a diseñar, sino la características de los chips a utilizar y el nº de bancos Æ el tamaño total de la memoria crece. • A medida que aumenta la densidad de los chips DRAM es más caro construir memoria entrelazada porque hay que poner un tamaño total de memoria mayor. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 61 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (3) • ¿Cómo hacer para aumentar la velocidad de transmisión desde memoria principal a las caches aprovechándonos de la estructura de las DRAM? • Una DRAM es una matriz de celdas de memoria. • El acceso se divide en acceso a fila y acceso a columna. Son tiempos de acceso secuenciales. Dirección de memoria completa Nº Fila Activar RAS: row access strobe Nº Columna Activar CAS: column access strobe Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 62 5 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (4) Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 63 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (5) • Tecnologías DRAM – DRAM estándar Æ acceso a fila (RAS) y luego acceso a columna (CAS); siempre activar y desactivar ambas señales. – DRAM con Fast Page Mode Æ Mejora del anterior. Se accede a una secuencia de datos. El primer acceso especifica fila y columna, RAS se mantiene activo para toda la secuencia. Los siguientes accesos sólo tienen que especificar la columna y activar CAS Æ mejora el tiempo de acceso. – DRAM EDO (Extended Data Output)Æ En las anteriores CAS debe estar activa el tiempo suficiente para que el usuario pueda disponer del dato. La mejora EDO Æ poner el dato en un buffer, así CAS se puede desactivar antes y mejora el tciclo (determina el momento en que se puede comenzar otro acceso). Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 64 6 4.3 M P R I N C I P A L Aspectos de diseño de la memoria principal (6) – DRAM Síncrona (SDRAM) • Permiten acceso en masa a datos secuenciales de la DRAM. • Se proporciona dirección inicial y longitud de la secuencia (burst), y los datos se transfieren al ritmo que fija una señal de reloj. • Ventajas: – Uso del reloj Æ no necesita sincronización. – No necesita suministrar una dirección para cada dato a acceder (un controlador las genera) – Usa la circuitería ya existente en las DRAM añadiendo un pequeño coste al sistema. A cambio se aumenta bastante el ancho de banda, sin incurrir en desventajas de expansividad (como en organizaciones de memoria de palabra ancha) o de tamaño mínimo de memoria (como en la memoria entrelazada). • MEJORA ADICIONAL Æ Dual Data Rate SDRAM (DDR SDRAM ó DDR) – Permiten transferir datos en los dos flancos de reloj Æ dobla el ancho de banda Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 4. Subsistema de memoria 65 7