Jerarquia de Memoria

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Jerarquia de Memoria por Mind Map: Jerarquia de Memoria

1. Conceptos Básicos

1.1. Diseño de una jerarquía de memoria básica

1.1.1. Primeros modelos de computador tenian un bajo rendimiento

1.1.2. Hoy se utiliza una jerarquía de meoria organizada en niveles

1.1.2.1. Memoria Cache(MC)

1.1.2.1.1. Se ubica en el mismo chip que el procesado

1.1.2.1.2. Fabricada con memoria RAM estática

1.1.2.1.3. Controlada por el controlador de caché incluido el mismo chip

1.1.2.1.4. En la actualidad existen varios niveles de caché

1.1.2.2. Memoria Principal(MP)

1.1.2.2.1. Ubicada en un chip diferente que al procesador

1.1.2.2.2. Fabricada con memoria RAM dinámica (DRAM)

1.1.2.2.3. Controldada por el contralador de memoria principal que se encarga de planificar accesos

1.1.2.2.4. En la actualidad el controlador puede ubicarse en el mismo chip que el procesador y la memoria cache o en otro chip como el chipset norte o el MCH

1.1.2.3. Memoria Virtual

1.1.2.3.1. Ubicada en el disco duro

1.1.2.3.2. Fabricada con tecnologia magnetica

1.1.2.3.3. Se controla desde el sistema operativo a traves del controlador de disco duro

1.1.3. Cada una

1.1.3.1. Se ubica en un lugar distinto

1.1.3.2. se fabrica con una tecnolodia diferente

1.1.3.3. se genera de manera diferente

1.2. Propiedades de una jerarquia de memoria

1.2.1. Inclusión: cualquier información contenida en un nivel de la jerarquía debe estar también en los niveles superiores

1.2.2. Coherencia: las copias de la misma información en los diferentes niveles coherentes entre sí, es decir, que almacena los mismo valores

1.2.3. Debe exitir una correspondencia de direcciones ente los distintos niveles de la jerarquia.

1.3. Aciertos y fallas en el acceso a la cache

1.3.1. Si la palabra leer o escribir se busca en MC

1.3.1.1. Si la palabra se encuentra acierto

1.3.1.2. Si la palabra no se encuentra fallo

1.3.1.2.1. La penalizacion dependera de la latencia de la MP y su ancho de banda.

1.3.2. Si la palabra no se encuentra en la MC, se trae un bloque que contenga la palabra desde la MP

1.4. Principios de Localidad

1.4.1. Localidad Espacial

1.4.1.1. Si se referencia a un elemento, lo elemento cercanos a el tambien tenderan a ser referenciados.

1.4.1.2. La jerarquia de memoria mueve bloques con palabras contiguas en memoria a los niveles mas altos de jerarquia

1.4.1.3. Operaciones con matrices y arrays, ejecucion secuencial de un programa.

1.4.2. Localidad temporal

1.4.2.1. Si se referencia un elemento, este tendera a ser referencia pronto

1.4.2.2. Mantiene los datos accedidos recientemente lo mas cerca posible del procesador

1.4.2.3. Estructura de los programas: datos y bucles

1.5. Aciertos y fallos en el acceso a la MP

1.5.1. Relacion MP y MV similar a relacio MC y MP

1.5.2. La MP se divide en paginas y segmentos

1.5.3. Cuando se produce fallo en la pagina o segmento, se debe acceder a la MV

1.5.4. La penalizacion es mayor ya que la MV es la mas lenta de la jerarquia

1.5.5. Interviene el SO.

1.6. Mecanismos completo de acceso de memoria

1.6.1. 1. Se traduce la direccion virtual a una direccion fisica

1.6.2. 2. Se traduce con exito, es porque la palabra se encuentra en MP. Con esta direccion se accede a la memoria cache.

1.6.3. Tipos de fallo en la MC

1.6.3.1. Iniciales, cuando se referencia una palabra por primera vez

1.6.3.2. De capacidad, cuando se producen reemplazos

1.6.3.3. De conflicto varios bloques tienen asignada la misma ubicacion en la MC

1.6.4. 4. En caso de fallo, hay que pasar por le controlador de MP.

1.6.5. 5. El controlador planificara el acceso a la MP

1.6.6. 6. En caso, el bloque que incluye a la palabra se envia a la MC

1.6.7. 7. En caso de fallo, se debe resolver el fallo de página o segmento desde la MV

1.6.8. 8. El SO realiza un cambio de contexto y pasa a ejecutar otro proceso

1.6.9. 9. Cuando la pagina o el segmento estan en MP, se lleva el bloque correspondiente a MC y se renauda la ejecucción de la instruccion que provoco el fallo.

1.7. Mecanismo completo cuando se tiene dos niveles de MC

1.7.1. El mecanismo de acceso es el mismo

1.7.2. Cuando falla el acceso al primer nivel de cache, primero se intenta resolver desde el primero

1.7.3. Si esta en segundo nivel, se envia el bloque a primer nivel

1.7.4. En caso de fallo, se intenta desde MP

1.7.5. el bloque que provoco el fallo se lleva desde MP a cache de segundo nivel y de esta a cache de primer nivel

1.7.6. En un procesador segmentado esto se debe completar en un ciclo de reloj

1.8. Evaluacion de prestaciones de la jerarquia de memoria

1.8.1. tMEM = taciertoMC + TF • pF

1.8.2. TF = núm de fallos / núm total accesos a memoria

1.8.3. t = tCPU + tMEM

1.8.4. Metricas que se utilizan con la MP o MV

1.8.4.1. Latencia

1.8.4.1.1. tiempo que transcurre desde un acceso a memoria comienza hasta que finaliza.

1.8.4.2. Ancho de banda

1.8.4.2.1. Cantidad de informacion por unidad de tiempo que puede transferirse desde/hacia memoria

2. Diseño de la MC

2.1. tMEM = nº de acceso a MI(taciertoMI + TFMI • pFMI)+ nº de acceso a MD(taciertoMD + TFMD • pFMD)

2.2. Almacena unos determinados bloques de informacion denominados marcos

2.3. Se utilizan etiquetas o tags para determinar que bloque ocupa un marco

2.4. Las etiquetas se comparan con la del bloque buscado para indicar si se ha producido un acierto o un fallo.

2.5. Aspectos básico de su diseño

2.5.1. Organizacion de la MC

2.5.1.1. Tamaño de la MC

2.5.1.1.1. Demasiado pequeña

2.5.1.1.2. Demasiado Grande

2.5.1.2. Tamaño del marco

2.5.1.2.1. Bloques grandes

2.5.1.2.2. Se debe llegar a un compromiso teniendo en cuenta la latencia y el ancho de banda

2.5.1.3. Unificacion o division de las instrucciones y los datos

2.5.1.3.1. La segmentacion del procesador obliga a la division

2.5.1.3.2. Cuando no se trata del primer nivel se puede optar por unificar

2.5.1.3.3. Estas decisiones se toman con ayuda de herramientas de simulacion

2.5.1.4. Implementacion de caches multinivel

2.5.1.4.1. Aspecto que influye en el rendimiento

2.5.1.4.2. MC de un unico nivel

2.5.1.4.3. Nivel1 L1 cercana al procesador, pqueña y rápida

2.5.1.4.4. Nivel 2 L2 mayor tamaño, mas lenta pero menos fallos de capacidad

2.5.1.4.5. La penalizacion por fallo es menor, en lugar de ir a MP ira al cache de nivel 2

2.5.1.4.6. tMEM (lectura) = taciertoL1 + TFL1 • pFL1

2.5.2. Politica de Ubicacion

2.5.2.1. La MC solo almacena unos determinado bloques de informacion

2.5.2.2. Politica de ubicacion: tasa de fallos vs tiempo de acceso

2.5.2.2.1. Correpondencia directa

2.5.2.2.2. Totalmente asociativa

2.5.2.2.3. Asociativa por conjuntos

2.5.3. Politica de reemplazo

2.5.3.1. Cuando se produce un fallo en MC hay que determinar que bloque de MC desalojar

2.5.3.2. En caso de un cache con correspondencia directa solo se puede desalojar un bloque

2.5.3.3. La seleccion puede reducir la tasa de fallos de los accesos posteriores a MC

2.5.3.4. Algoritmos mas utilizados

2.5.3.4.1. Aletorio

2.5.3.4.2. FIFO

2.5.3.4.3. LRU

2.5.4. Politica de escritura

2.5.4.1. Las escrituras llevan mas tiempo puesto que no se pueden realizar trabajo en paralelo

2.5.4.2. Politicas

2.5.4.2.1. Escritura directa

2.5.4.2.2. Post-escritura

2.5.4.3. Si el acceso a MC es para escritura y el bloque no se encuentra, se produce un fallo de escritura

2.5.4.4. Escritura con ubicacion

2.5.4.4.1. Se asocia a post escritua

2.5.4.4.2. Se lleva el bloque de MP a MC donde se realiza la escritura

2.5.4.5. Escritura sin ubicacion

2.5.4.5.1. Se asocia con escritura directa

2.5.4.5.2. Solo escribe sobre la MP

3. Memoria Principal

3.1. Diseño de la MP

3.1.1. Chips de memoria

3.1.1.1. matrices cuadradas de celdas DRAM

3.1.1.2. Cada celda alamacena un bit

3.1.2. El controlador de memoria gestiona accesos

3.1.2.1. Dentro del propio procesador o en un chipset o hun externo

3.1.3. Mapea la direccion fisica a ubicacion fisica

3.1.4. Evolucion de las diferentes tecnologias de memoria desde la DRAM hasta DDR3

3.2. DRAM convencional

3.2.1. Modelo obsoleto

3.2.2. Las actuales son el resultado de aplicar mejoras y optimizaciones sobre la misma

3.2.3. Proceso de acceso a memoria

3.2.3.1. El proceso vuelva la direccion en el bus

3.2.3.2. El controlador la decodifica

3.2.3.3. Determina los chips que deben ser accedidos y las matrices dentro de los mimos

3.2.3.4. Envia las matrices la direccion de fila y columna para validarlas

3.2.4. Desprovechamiento de recursos

3.2.4.1. Se vuelve a repetir todo el proceso

3.3. FPM DRAM

3.3.1. Division de la memoria en paginas

3.3.2. Los accesos que se encuentra en la misma pagina requieren menos ciclos de espera

3.3.3. Accesos en modo brust

3.4. SDRAM o DRAM Sincronia

3.4.1. tecnologias anteriores eras asincronas

3.4.2. Sus propias señales introduciendo latencia y retardos innecesarios

3.4.3. Tecnologia actual es sincrona

3.5. DDR, DDR2, DDR3

3.5.1. DDR transfiere informacion dos veces cada ciclo de reloj

3.5.2. DDR2 permite trabajar a mayores frecuencias

3.5.3. DDR3 reduce la tension de alimentacion