arquitectura de computadoras -...

43
Arquitectura de Computadoras Clase 7 Memoria

Upload: buihanh

Post on 10-May-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

  • Arquitectura de Computadoras

    Clase 7

    Memoria

  • Notas de Clase 7 2

    Sistema de Memoria

    Los programadores desean acceder a cantidades ilimitadas de memoria rpida !!

    Solucin prctica:

    Jerarqua de memoria

    organizada en niveles que son ubicados en distintos lugares fsicos

    fabricados con tecnologas diferentes que se gestionan de manera independiente

  • Jerarqua de memoria

    3 Notas de Clase 7

  • Notas de Clase 7 4

    Jerarqua de memoria (2)

    Objetivo: la velocidad del sistema deber ser, aproximadamente, la del nivel ms rpido al costo del nivel mas barato.

    A medida que nos alejamos de la CPU, cada nivel inferior es ms grande, ms lento y ms barato que el nivel previo (o superior) en la jerarqua.

    Debe haber correspondencia de direcciones en los distintos niveles.

  • Notas de Clase 7 5

    Jerarqua de memoria (3)

    Propiedades a cumplir

    Inclusin

    Los datos almacenados en un nivel han de estar almacenados en los niveles inferiores a l

    Coherencia

    Las copias de la misma informacin en los distintos niveles deben contener los mismos valores.

  • Notas de Clase 7 6

    Porqu funciona la jerarqua?

    Principio de localidad de referencias

    Localidad Temporal: los elementos de memoria referenciados recientemente (datos o instrucciones), volvern a serlo en un futuro prximo => subo la palabra de nivel

    Localidad Espacial: los elementos de memoria cuyas direcciones estn prximas a los ltimos referenciados sern referenciados. => subo un bloque (con la palabra) de nivel

  • Notas de Clase 7 7

    Mecanismo de acceso memoria

  • Trabajo de etapa M del cauce

    8 Notas de Clase 7

  • Notas de Clase 7 9

    Memoria Cache

    Cantidad pequea de memoria rpida.

    Se ubica entre la memoria principal y la CPU.

    Puede localizarse en un chip o en mdulo CPU.

    Transferencia de bloques

    Transferencia de palabras

    Memoria

    principal

  • Notas de Clase 7 10

    Memoria Cache y Principal

    Bloque

    2 N - 1

    Direccin

    de memoria

    001 002 003

    000

    Bloque

    (k palabras)

    Bloque

    Datos

    Longitud de palabra

    Etiqueta

    1 2

    0

    C-1

    Nmero

    de lnea

    Longitud de bloque

    (k palabras)

  • Notas de Clase 7 11

    Funcionamiento de la cache

    La CPU solicita contenido de 1 direccin de memoria.

    La cache tiene ese dato?

    Si es as, la obtiene de la cache (rpidamente).

    Si no est, se lee el bloque que contiene esa direccin desde la memoria principal y copia en la cache.

    Despus, la cache entrega el dato requerido a la CPU.

    La cache incluye etiquetas para identificar qu bloque de la memoria principal est en cada una de sus lneas.

  • Notas de Clase 7 12

    Funcionamiento de la cache (2)

  • Notas de Clase 7 13

    Conceptos bsicos

    Acierto (hit): se encuentra en la cach el dato solicitado

    Fallo (miss): no se encuentra en la cach el dato solicitado

    un bloque que contiene la palabra accedida se copia de la memoria principal a una lnea de cach.

    Tiempo para servir un fallo: depende de la latencia y ancho de banda de la memoria principal.

    Latencia: tiempo necesario para completar un acceso a memoria.

    Ancho de banda: cantidad de informacin por unidad de tiempo que puede transferirse desde/hacia la memoria.

    Los fallos de cach se gestionan mediante hardware y causan que el procesador se detenga hasta que el dato est disponible.

  • Tiempo de acceso medio a memoria

    Tacceso = Tacierto + Tfallos_memoria

    Tfallos_memoria = Tasa de fallos x Penalizacin_fallo

    Tacceso = Tacierto + TF x PF

    Para mejorar las prestaciones

    Reducir el tiempo en caso de acierto (Tacierto)

    Reducir la tasa de fallos (TF)

    Reducir la penalizacin por fallo (PF)

    Notas de Clase 7 14

    Prestaciones de la jerarqua

  • Jerarqua perfecta vs real

    Supongamos que un procesador con frecuencia de reloj de 2 GHz y un CPI=1 ejecuta cdigo de 100 instrucciones.

    Caso 1: Se incorpora 2 memorias caches ideales MI y MD (NO habr fallos y tacierto es despreciable).

    t = tcpu+ tmem

    t = tcpu + 0 = tcpu t = nI . CPI . T = 100 . 1 . (1/2G)

    t = 50ns

    15 Notas de Clase 7

  • Jerarqua perfecta vs real (2)

    Caso 2: Se incorpora 2 caches reales. Cache MI con TF=4% y PF=100ns y Cache MD con TF=6% y PF=115ns. El 25% del cdigo accesa datos.

    t = tcpu+ tmem

    tmem= accesosMI.(taciertoMI+TFMI.PFMI)+ accesosMD. (taciertoMD+TFMD.PFMD)

    tmem =100(0+0,04x100ns) + 25(0+0,06x115ns)

    tmem = 400ns + 172,5ns = 572,5ns

    t = tcpu + tmem = 622,5ns

    16 Notas de Clase 7

  • Notas de Clase 7 17

    Diseo de la cache

    Organizacin (tamao y cantidad)

    Poltica de ubicacin Tipo de funcin de correspondencia

    Poltica de reemplazo Algoritmo de sustitucin

    Poltica de escritura

  • Notas de Clase 7 18

    Organizacin de la cache

    Tamao - Costo - Niveles.

  • Notas de Clase 7 19

    Ubicacin de un bloque

    Correspondencia directa. Un bloque slo puede estar almacenado en un lugar de la cach. N lnea cach = N bloque ref. mod N lneas cach

    Correspondencia totalmente asociativa. Un bloque puede almacenarse en cualquier lugar de la cach.

    Correspondencia asociativa por conjuntos. Un bloque puede almacenarse en un conjunto restringido de lugares en la cach. Un conjunto es un grupo de lineas de la cach.

    N conjunto = N bloque ref. mod N conjuntos cach

  • Notas de Clase 7 20

    Tipos de correspondencia

    dnde se ubica el bloque 5 de la MP si la cache posee 4 lineas?

    lneas

  • Tipos de correspondencia (2)

    Notas de Clase 7 21

    La interpretacin de la direccin fsica depende del tipo que se utilice. INDICE indicar la lnea el conjunto que le corresponde. BO representa todas las direcciones que pertenecen al bloque.

  • Notas de Clase 7 22

    Tipos de

    corresponden

    cia (3)

    Supongamos que en el ejemplo anterior:

    MP es de 2GB

    Pginas de 16KB

    Bloques de 1KB

    Cualquier direccin del bloque 5 es como en la figura

    00000000000000000

  • Notas de Clase 7 23

    Correspondencia directa:

    Organizacin de cache

    Etiqueta

    Direccin de memoria

    Lnea Palabra

    Cache Memoria

    principal

    Etiqueta Datos

    Comparacin

    (Acierto de cache)

    (Fallo de cache)

  • Notas de Clase 7 24

    Ejemplo de

    correspon-

    dencia

    directa

    Etiqueta

    Lnea +

    Palabra Datos

    Etiqueta Datos Nmero

    de lnea

    Cache de 16K lineas

    Memoria principal de 16 Mbytes

  • Notas de Clase 7 25

    Correspondencia Directa:

    ventajas y desventajas

    Simple.

    Poco costosa.

    Hay una posicin concreta para cada bloque dado:

    si un programa accede a dos bloques que se corresponden a la misma lnea (diferentes bloques de memoria principal) de forma repetida, las prdidas de cache (desaciertos) sern muy grandes.

  • Notas de Clase 7 26

    Organizacin de cache

    totalmente asociativa

    Direccin de memoria

    Etiqueta Palabra

    Etiqueta Datos

    Comparacin

    (Acierto de cache)

    (Fallo de cache)

    Memoria principal

  • Notas de Clase 7 27

    Ejemplo de

    correspon-

    dencia

    totalmente

    asociativa

    Direccin Datos

    Etiqueta Datos

    Nmero

    de lnea

    Cache de 16K lineas

    Memoria principal de 16 MBytes

  • Notas de Clase 7 28

    Correspondencia Asociativa:

    ventajas y desventajas

    Un bloque de memoria principal puede colocarse en cualquier lnea de la cache.

    La etiqueta identifica unvocamente un bloque de memoria.

    Todas las etiquetas de las lneas se examinan para buscar una coincidencia.

    Bsqueda costosa (en tiempo principalmente).

  • Notas de Clase 7 29

    Organizacin de cache

    asociativa por conjuntos

    Direccin de memoria

    Etiqueta Conjunto Palabra

    Etiqueta Datos

    Comparacin

    (Acierto de cache)

    (Fallo de cache)

    Memoria principal

    Conjunto 0

    Conjunto 1

  • Notas de Clase 7 30

    Ejemplo de

    correspon-

    dencia

    asociativa

    por

    conjuntos

    de 2 vas

    Etiqueta

    Cache de 16K lineas

    Memoria principal de 16 Mbytes

    Datos

    N de

    conjunto Etiqueta Datos

    Etiqueta Conj. +

    palabra Datos

    02C

    02C 02C

  • Notas de Clase 7 31

    Corres. asoc. por conjuntos:

    ventajas y desventajas

    Combina lo mejor de las otras correspondencias

    La cache se divide en un grupo de conjuntos. Cada conjunto contiene un nmero de lneas

    N vas, con N=2, 4, 8 ... etc.

    Un bloque determinado corresponder a cualquier lnea de un conjunto determinado. El bloque B puede asignarse en cualquiera de las lneas

    del conjunto i.

  • Notas de Clase 7 32

    Poltica de reemplazos

    Algoritmos de sustitucin En correspondencia directa:

    el que ocupa el lugar del nuevo

    En correspondencia asociativa: LRU (menos recientemente usado)

    FIFO (ms antiguo)

    LFU (menos frecuentemente usado)

    Aleatoria

  • Notas de Clase 7 33

    Algoritmos de sustitucin

    Correspondencia directa No hay eleccin.

    Slo hay una posible lnea para cada bloque.

    Se necesita una sustitucin de esa lnea (si o s).

  • Notas de Clase 7 34

    Algoritmos de sustitucin (2)

    Correspondencias asociativas Los algoritmos deben implementarse en hardware

    (para conseguir velocidad).

    Menos recientemente usado (LRU)

    Requiere controles de tiempos

    En correspondencias asociativas por conjuntos de 2 vas. Cal de las 2 lneas es la LRU?

  • Notas de Clase 7 35

    Algoritmos de sustitucin (3)

    Primero en entrar - primero en salir (FIFO). Requiere controles de acceso.

    Se sustituye aquella lnea que ha estado ms tiempo en la cache.

    Menos frecuentemente usado (LFU) requiere controles de uso.

    Se sustituye aquella lnea que ha experimentado menos

    referencias.

    Aleatoria Se sustituye una lnea al azar.

  • Notas de Clase 7 36

    Poltica de escritura

    Se debe evitar inconsistencia de memorias en el caso de escrituras.

    Tener en cuenta:

    La CPU escribe sobre una lnea de cache El bloque de memoria principal correspondiente debe ser

    actualizado en algn momento.

    Un mdulo E/S puede tener acceso directo a la memoria principal.

    En procesamiento paralelo, las mltiples CPU pueden tener caches individuales.

  • Notas de Clase 7 37

    Poltica de escritura: en acierto

    Write-through (Escritura inmediata).

    Se actualizan simultneamente la posicin de la cach y de la memoria principal. con mltiples CPU, observar el trfico a memoria

    principal para mantener actualizada cada cache local.

    se genera mucho trfico y retrasa la escritura.

    Write-back (Post-escritura).

    La informacin slo se actualiza en la cach. Se marca como actualizada bit de sucio.

    La memoria principal se actualiza en el reemplazo y puede contener informacin errnea en algn momento

  • Notas de Clase 7 38

    Poltica de escritura: en fallo

    Write allocate

    La informacin se lleva de la memoria principal a la cach. Se sobreescribe en la cach

    Habitual con write-back

    No-write allocate

    El bloque no se lleva a la memoria cach. Se escribe directamente en la memoria principal.

    Habitual con write-through

  • Notas de Clase 7 39

    Pentium 4

  • Notas de Clase 7 40

    Pentium 4 (cont.)

    Puede tener hasta tres niveles de cache:

    Caches L1 separadas para datos e instrucciones

    Cache de datos (de 8 KBytes). Asociacin por conjuntos de 4 vas. Bloques de 64 bytes. Poltica de Escritura inmediata. Acceso a los datos enteros en dos ciclos de reloj.

    La cach de instrucciones almacena segmentos de caminos de ejecucin de instrucciones decodificadas (trazas).

  • Notas de Clase 7 41

    Pentium 4 (cont.)

    Cache L2 (interna) unificada para datos e instrucciones Capacidad de 256 KBytes. Organizacin asociativa por

    conjuntos de 8 vas. Bloques de 128 bytes. Poltica de Post-escritura. Latencia de acceso de 7 ciclos de reloj.

    Las dos caches (L1 y L2) en el chip del procesador. Ancho de banda de las transferencias entre L1 y L2 48 GBytes/s.

    La arquitectura admite un tercer nivel de cach (L3) en el mismo chip (servidores).

  • Notas de Clase 7 42

    Power PC G3

  • Notas de Clase 7 43

    Referencias

    Organizacin y Arquitectura de Computadoras, William Stallings, Captulo 4, 5ta ed.

    Diseo y evaluacin de arquitecturas de computadoras, M. Beltrn y A. Guzmn, Captulo 2 Apartados 2.1 a 2.4, 1er ed.