circuitos digitales ii jerarquía de memoria memoria cache (parte ii) semana no.14 semestre 2012-1...
Post on 04-Feb-2015
9 Views
Preview:
TRANSCRIPT
Circuitos Digitales IICircuitos Digitales II
Jerarquía de memoria
Memoria Cache (Parte II)
Semana No.14Semana No.14Semestre 2012-1Semestre 2012-1
Prof. Eugenio Duque PérezProf. Eugenio Duque Pérezeaduque@udea.edu.co
Prof. Felipe Cabarcas Prof. Felipe Cabarcas fcabarcas@udea.edu.co
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Recordando la terminología utilizada en Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Cache : Consideraciones y términos
23
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-139
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-140
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-141
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-142
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-143
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-144
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-145
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-146
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-147
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-148
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-149
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-150
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-151
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-152
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-153
54
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Organización de la Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Organización de la Cache60
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Organización de la Cache (…cont)
61
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Campos de Dirección
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Recordando : Mapeo Directo
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Recordando : Mapeo Directo - Bloques de Varias Palabras
64
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Asociatividad por Conjuntos65
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Asociatividad por Conjuntos (…cont)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Asociatividad67
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Ubicando un bloque en una cache Asociativa
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Cache Completamente Asociativa 69
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Efecto de la Asociatividad en la Tasa de Fallas (Miss Rate)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Operación de lectura de memoria
71
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Resolviendo las faltas de Cache
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Escritura mediante uso de Buffer
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
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
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Ejemplo de Estructura Interna de Memoria
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Jerarquía de Memoria78
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Estrategias de Reemplazo de Bloques
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Ejemplo de Organización de la Cache en un procesador
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Cache de Instrucciones (Primer Nivel de Cache)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2012-1
Cache de Datos (Primer Nivel de Cache)
top related