Tema 3: Jerarquía de memoria

Anuncio
Tema 3: Jerarquía de memoria
3.1
3.2
3.3
3.4
Registros
Memoria cache
Memoria principal
Memoria virtual
3.2 Memorias cache
•
•
•
•
•
•
•
•
•
Introducción
Lecturas
Ejemplos
Escrituras
Cache unificada vs separada
Localidad espacial
Asociatividad
Caches multinivel
Programación
Introducción
T = Ni · CPI · 1/f
Ni
Algoritmos, compiladores, conjunto de instrucciones
CPI
Segmentación, replicación, jerarquía de memoria
f
Tecnología
Introducción: jerarquía
Introducción: localidad
Introducción: nomenclatura
Introducción: tiempo de acceso
Introducción: mapping
Introducción: tags
Introducción: validez de los
datos
Lecturas
Factor de utilización
Manejo de un miss (datos)
Manejo de un miss
(instrucciones)
Ejemplo
Writes: write-through
Writes: write-back
• Esquema alternativo: write-back
– Una escritura solamente afecta a la cache.
• Actualización en memoria principal:
– Cuando un bloque es reemplazado.
• Mejora el rendimiento respecto de write-through,
especialmente cuando se producen muchas
escrituras.
Cache unificada vs separada
Tamaño de la cache
Localidad espacial
Localidad espacial
• Aumentar el tamaño de bloque supone un menor número
de TAGs y VALID bits (mayor eficiencia y menor tiempo
de hit)
• Por el contrario, la multiplexación aumenta el tiempo de
hit.
• Finalmente, puede producirse un mal uso de los bloques de
cache (véase más adelante en la parte de programación)
Localidad espacial:tamaño de bloque
Asociatividad
Asociatividad: nomenclatura
• N-way set associative (1 <= N <= M)
–M
número de bloques de la cache
– N=1 direct mapped
– N=M fully associative
Asociatividad vs Miss rate
Reemplazamiento
Localización de un bloque
Caches multinivel
Caches multinivel
Programación
Merging
Aligning and Padding
Aligning and Padding
Aligning and Padding
Aligning and Padding
Packing
Loop Fusion
Blocking
Blocking
Descargar