Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre Prof. Eugenio Duque Pérez Prof. Felipe Cabarcas Departamento de Ingeniería Electrónica Facultad de Ingeniería
El contenido de esta clase se complementa con el capítulo 7 del texto : Computer Organization David A. Patterson, John L. Hennessy. Tercera Edición
3
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Recordando : Los cinco componentes de cualquier computador Con: o registros para almacenar variables, y o modos de direccionamiento para accesar la memoria.
Ejemplos reales de sistemas computacionales y sus jerarquías de memoria
Pentium Board
Asus Eee PC
Asus Eee PC (…cont)
Ipods and Iphones
Arquitectura
17
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jerarquía de Memoria Soportada en la diferencia de las tecnologías de memoria (SRAM,DRAM y Magnética) y en el principio de localidad (espacial, y temporal).
20
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Recordando la terminología utilizada en Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Cache : Consideraciones y términos 23
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Cache : Consideraciones y términos (…cont) Miss Penalty (Tiempo de penalización) : Tiempo necesario para recuperar una falta y suministrar el bloque requerido a la CPU. 24
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Calculating Miss Penalties Cache (k-word blocks) DRAM 1. Ask for data (send address to DRAM), 1 cycle typical 2. DRAM finds and reads the data e.g. 5 cycles 3. DRAM delivers 1 word each cycle What happens during a miss? CPU Address
Fundamentos de Cache Mapeamiento Directo y Desempeño
27
28
29
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Accessing Cache (...cont) = DataTagV Data Hit Slot # Tag Address 2010 Total cache size: 1024x ( ) = 53 Kbits
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Como trabaja el controlador cache 31
Tamaño de Bloques y Desempeño 32
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Exploiting Spatial Locality: Bigger Blocks To better exploit spatial locality caches fetch several words after a miss Data TagV Data TagV choose desired word 32
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Read address 28 ( ): Block index 01, Word 11 within block, tag 0. Example: 4-word Blocks Chooses byte within word Chooses slot Chooses word within block Is stored in Tag field
35
36
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
54
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Determining Cache Performance Factors (total) cache size hit rate increases with size access time increases with size block size hit rate increases with size up to some limit miss penalty increases with size (since time to load increase) miss penalty also depends on organisation of lower levels Cache performance is more significant for faster processors miss penalties become much more serious
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Calculating Miss Penalties Cache (k-word blocks) DRAM 1. Ask for data (send address to DRAM), 1 cycle typical 2. DRAM finds and reads the data e.g. 5 cycles 3. DRAM delivers 1 word each cycle What happens during a miss? CPU Address
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Datos para ejemplo 57
Más formas de Organización de la Cache Asociatividad
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Organización de la Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Organización de la Cache 60
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Organización de la Cache (…cont) 61
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Campos de Dirección
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Recordando : Mapeo Directo
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Recordando : Mapeo Directo - Bloques de Varias Palabras 64
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Asociatividad por Conjuntos 65
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Asociatividad por Conjuntos (…cont)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Asociatividad 67
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ubicando un bloque en una cache Asociativa
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Cache Completamente Asociativa 69
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Efecto de la Asociatividad en la Tasa de Fallas (Miss Rate)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Operación de lectura de memoria 71
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Problem 1: Caches Misses On a read miss Stall the pipeline A special control unit loads the cache from DRAM The cycle that caused the miss is redone If it was an instruction fetch ensure PC isnt updated! On a write miss Keep going No need to stall the pipeline… (see next slide)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Problem 2: Cache Writes When the processor writes a result to memory The result must go into the cache The result must go to main memory as well, eventually The write-through technique Every write to cache is copied to main memory Should we wait for write to DRAM to complete? A write-buffer helps Overwrites must be avoided. The write-back technique Multiple writings in cache block require a writing in the memory lower level.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Resolviendo las faltas de Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Escritura mediante uso de Buffer
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ventajas de: Write Through y Write back Write through (escritura directa) La escritura directa es más fácil de implementar que la postescritura, con la ayuda del buffer. Write back (postescritura) Las palabras individuales son escritas por el procesador a la velocidad de la caché. Múltiples escrituras en un bloque, requieren solo una escritura en el nivel más bajo de la jerarquía. El bloque de la caché se transfiere cuando va a ser reemplazado.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ejemplo de Estructura Interna de Memoria
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Jerarquía de Memoria 78
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Estrategias de Reemplazo de Bloques
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Ejemplo de Organización de la Cache en un procesador
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Cache de Instrucciones (Primer Nivel de Cache)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia Cache de Datos (Primer Nivel de Cache)