Descargar

Arquitectura de computadores. Jerarquía de memoria

Enviado por Pablo Turmero


    edu.red

    1 Resumen Modelo de von Neumann Características de los sistemas de memoria Memorias semiconductoras Almacenamiento en el computador Brecha de rendimiento entre el procesador y la memoria Principio de localidad Jerarquía de memoria Aspectos básicos de memoria cache

    edu.red

    Modelo de von Neumann Concepto del programa almacenado Las instrucciones y los datos de un programa se guardan en una memoria de lectura/escritura

    2 CPU Busses Controllers Working storage SRAM (Cache) DRAM (Main memory) Permanent storage Magnetic disks Optical disks Tapes Input Keyboard Mouse Scanner Digital Camera Network Sound, Video cards

    Screen Printer Output Memory system I/O system

    edu.red

    Características de los sistemas de memoria Ubicación (Interna, Externa)

    Capacidad

    Unidad de transferencia

    Método de acceso (Secuencial, Directo, Aleatorio, Asociativo)

    Rendimiento (Tiempo de acceso (latencia), Tiempo de ciclo de memoria, Tasa de transferencia)

    Tecnología de fabricación (Semiconductor (Transistores CMOS), Superficie magnética, Óptica)

    Características físicas (Volátil, No volátil)

    3

    edu.red

    Memorias semiconductoras Memoria de acceso aleatorio (RAM) Memoria volátil Lectura/escritura El tiempo de acceso es independiente de la posición de memoria y de la secuencia previa de accesos La memoria RAM es la memoria a la que se refieren las características de un computador Almacena las instrucciones y los datos que requiere el computador para ejecutar los programas 1981: “640KB of memory ought to be enough for anybody” Bill Gates 2007: Windows Vista requiere mínimo de 2GB de RAM para comportarse decentemente!!! 4

    edu.red

    Memorias semiconductoras Dynamic RAM (DRAM) Es la forma más popular de RAM Construcción basada en celdas que almacenan el dato como la carga de un capacitor (es, en esencia, un dispositivo analógico) La presencia o ausencia de carga se interpreta como un estado binario (0, 1) Requiere de un refrescamiento periódico de la carga para conservar el dato almacenado Gran densidad de integración (1 transistor por celda) y bajo costo 5

    edu.red

    Memorias semiconductoras Static RAM (SRAM) Dispositivo digital que usa la misma tecnología de fabricación de la CPU Se emplea para ofrecer una interfaz directa a la CPU (memoria cache) Una celda SRAM consiste en un flip-flop biestable: cuando no se direcciona la celda, los dos transistores de acceso están abiertos y el dato se conserva en un estado estable El flip-flop necesita de un suministro eléctrico constante para conservar la información (volátil) No es necesario un ciclo de refrescamiento SRAM es más rápida, menos densa (6 transistores por celda), consume más potencia que DRAM, y es mucho más costosa 6

    edu.red

    Almacenamiento en el computador Static RAM (SRAM) 0.5ns – 2.5ns, USD $2000 – $5000 por GB

    Dynamic RAM (DRAM) 50ns – 70ns, USD $20 – $75 por GB

    Disco magnético 5ms – 20ms, USD $0.20 – $2 por GB

    Memoria ideal Tiempo de acceso de SRAM Capacidad y costo/GB del disco 7

    edu.red

    Brecha de rendimiento entre el procesador y la memoria 8 ?P: 50%/year DRAM: 10%/year Processor-Memory performance gap (grows ~40%/year) Ley de Moore

    edu.red

    Acerca del sistema de memoria 9 Hechos: Es necesario suministrar al procesador una instrucción y algunos operandos cada nuevo ciclo de reloj Las memorias grandes son lentas, y las memorias rápidas son pequeñas

    ¿Cómo crear una memoria que ofrezca la ilusión de ser grande, barata y rápida (la mayor parte del tiempo)? Con una jerarquía Con paralelismo

    edu.red

    Principio de localidad 10 En un momento dado, un programa sólo accede a una pequeña porción de su espacio de direcciones

    Localidad temporal Es muy probable que los ítems a los que se ha accedido recientemente sean referenciados pronto otra vez Ejemplo: las instrucciones de un bucle

    ? Mantener los ítems accedidos más recientemente cerca del procesador

    Localidad espacial Es muy probable que los ítems cercanos a aquellos accedidos recientemente sean referenciados pronto Ejemplos: acceso secuencial a instrucciones, elementos de un array

    ? Mover bloques consistentes en varias palabras contiguas cerca del procesador

    edu.red

    Jerarquía de memoria 11 Sacando provecho del principio de localidad se puede tener la ilusión de disponer de tanta memoria como lo permite la tecnología más barata, a la velocidad de la tecnología más rápida

    Jerarquía de memoria

    Consiste en disponer de diferentes niveles de memoria con diferentes velocidades y tamaños

    Almacenar todo en el disco Copiar los ítems accedidos recientemente (y sus vecinos) desde el disco a una memoria DRAM más pequeña Memoria principal Copiar los ítems accedidos recientemente (y sus vecinos) desde la DRAM a una memoria SRAM más pequeña Memoria caché unida a la CPU

    edu.red

    Memoria cache ($ memory) 12 Nivel de la jerarquía de memoria que ubicado entre el procesador y la memoria principal

    Se implementa usando la misma tecnología de fabricación de la CPU (normalmente integrada en el mismo chip) Más rápida pero también más costosa que la DRAM

    La memoria cache almacena un subconjunto de la memoria principal

    La mayoría de los procesadores poseen caches de datos e instrucciones separadas

    edu.red

    Representación de la jerarquía de memoria 13 Procesador (Gp:) Tamaño de memoria en cada nivel

    (Gp:) Mayor distancia al procesador, mayor tiempo de acceso

    (Gp:) Nivel 1 (Gp:) Nivel 2 (Gp:) Nivel n (Gp:) Nivel 3 (Gp:) . . .

    Mayor Menor (Gp:) Niveles en la jerarquía de memoria

    En niveles inferiores, la latencia crece y el precio por bit disminuye

    edu.red

    Terminología de la jerarquía de memoria 14 Bloque: Unidad de información que está presente o no en un nivel de la jerarquía Unidad mínima de transferencia Puede ser de varias palabras Cuando el procesador solicita un dato: Si el dato accedido está en el nivel superior: Acierto (Hit): acceso satisfecho por el nivel superior Tasa de aciertos (Hit ratio): aciertos/accesos Tiempo de acierto (Hit time) Si el dato accedido no está en el nivel superior: Fallo (Miss): el bloque es copiado desde el nivel inferior Tiempo necesario: penalización de fallo (miss penalty) Tasa de fallos (Miss ratio): fallos/accesos= 1 – tasa de aciertos

    edu.red

    Tiempo de acierto, penalización de fallo 15 Hit time: Tiempo de acierto Tiempo para acceder a un nivel de la jerarquía Consiste en: Tiempo para acceder al bloque + Tiempo para determinar si hay acierto/fallo

    Miss Penalty: Penalización de fallo Tiempo para reemplazar un bloque en un nivel de la jerarquía con el bloque correspondiente del nivel inferior Consiste en: Tiempo para acceder al bloque en el nivel inferior + Tiempo para transferir ese bloque al nivel que sufrió el fallo + Tiempo para insertar el bloque en este nivel + Tiempo para pasar el bloque a quien lo solicita

    Para la que el diseño de la jerarquía de memoria tenga sentido: Hit Time