Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre 2011-2...
-
Upload
severino-lema -
Category
Documents
-
view
106 -
download
0
Transcript of Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre 2011-2...
Circuitos Digitales IICircuitos Digitales II
Jerarquía de memoria
Memoria Cache (Parte II)
Semana No.14Semana No.14Semestre 2011-2Semestre 2011-2
Prof. Eugenio Duque PérezProf. Eugenio Duque Pé[email protected]
Prof. Gustavo Patiño (en comisión)Prof. Gustavo Patiño (en comisión)[email protected]
Departamento de Ingeniería ElectrónicaDepartamento de Ingeniería Electrónica
Facultad de IngenieríaFacultad 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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Recordando : Los cinco componentes de cualquier computador
Con: o registros para almacenar
variables, yo modos de direccionamiento para
accesar la memoria.
Ejemplos reales de sistemas computacionales y sus jerarquías de memoria
Pentium BoardPentium Board
Asus Eee PCAsus Eee PC
Asus Eee PC Asus Eee PC (…cont)(…cont)
Asus Eee PC Asus Eee PC (…cont)(…cont)
Ipods and IphonesIpods and Iphones
ArquitecturaArquitectura
17
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Recordando la terminología utilizada en Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Cache : Consideraciones y términos
23
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Calculating Miss Penalties
Cache(k-wordblocks)
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Accessing Cache (...cont)
=
20 32
DataTagV
31 30 29 ... 15 14 13 12 11 10 9 ... 3 2 1 0
Data
Hit
Slot #
Tag
012
10221023
Address
20 10
Total cache size:1024x (1 + 20 + 32) = 53 Kbits
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Exploiting Spatial Locality: Bigger Blocks To better exploit spatial locality caches fetch
several words after a miss
20 32
012
Data
DataTagV
20
64
012
Data
DataTagV
10221023
511
choose desired word
32
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Read address 28 (0011100): Block index 01, Word 11 within block, tag 0.
Example: 4-word BlocksIndex V Tag Word0 Word1 Word2 Word3
00 N
01 N
10 N
11 N
0 0 1 1 1 0 0Chooses 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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-239
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-240
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-241
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-242
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-243
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-244
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-245
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-246
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-247
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-248
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-249
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-250
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-251
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-252
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-253
54
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Calculating Miss Penalties
Cache(k-wordblocks)
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Organización de la Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Organización de la Cache60
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Organización de la Cache (…cont)
61
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Campos de Dirección
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Recordando : Mapeo Directo
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Recordando : Mapeo Directo - Bloques de Varias Palabras
64
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Asociatividad por Conjuntos65
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Asociatividad por Conjuntos (…cont)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Asociatividad67
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Ubicando un bloque en una cache Asociativa
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Cache Completamente Asociativa 69
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Efecto de la Asociatividad en la Tasa de Fallas (Miss Rate)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Operación de lectura de memoria
71
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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 isn’t 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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Resolviendo las faltas de Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Escritura mediante uso de Buffer
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
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
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Ejemplo de Estructura Interna de Memoria
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Jerarquía de Memoria78
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Estrategias de Reemplazo de Bloques
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Ejemplo de Organización de la Cache en un procesador
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Cache de Instrucciones (Primer Nivel de Cache)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Cache de Datos (Primer Nivel de Cache)