Title: Memorias Cache
1Memorias Cache
- Arq. de Computadores
- Santiago González Tortosa
2Parte I
- Introducción a Memorias Cache
3Introducción
- Para que sirve
- Reducción de tiempo en el acceso de información
(no acceder a MP) - Tiempo de acceso reducido
- Control de Información
- Política de lectura Para un buen uso de Mca, se
necesita tener actualizada la información en la
misma (coherencia). Cómo se lleva la info a MCa? - Política de escritura Cuando el user quiere
modificar info,cómo se escribe? - OJO Reemplazo de Mca únicamente en asociativas y
asociativas por conjuntos
4Política de Lectura
MP
MCa
1
2
3
4
CPU
5Política de Lectura
MP
MCa
1
2
3
4
3
CPU
6Política de Lectura
MP
MCa
1
2
3
4
3
CPU
7Política de Lectura
MP
MCa
1
2
3
4
1
3
CPU
8Política de Lectura
MP
MCa
1
2
3
4
1
2
3
CPU
9Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
10Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
CPU
11Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
1
CPU
12Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
1
2
CPU
13Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
1
2
3
CPU
14Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
1
2
3
CPU
15Política de Lectura
MP
MCa
1
2
3
4
1
2
3
4
CPU
MP
MCa
1
2
3
4
1
2
3
4
CPU
16Política de escritura
MP
MCa
3
3
CPU
17Política de escritura
MP
MCa
2
3
CPU
18Política de escritura
MP
MCa
2
3
CPU
19Política de escritura
MP
MCa
2
2
CPU
20Política de escritura
MP
MCa
3
3
CPU
21Política de escritura
MP
MCa
3
2
CPU
22Política de escritura
MP
MCa
reemplazo
3
2
CPU
23Política de escritura
reemplazo y dato mod
MP
MCa
3
2
3
CPU
24Política de escritura
MP
MCa
2
2
3
Segun Politica Lectura
CPU
25Política de escritura
MP
MCa
2
2
Segun Politica Lectura
CPU
26Política de escritura
MP
MCa
2
2
Segun Politica Lectura
CPU
27Política de escritura (II)
MP
MCa
3
3
CPU
28Política de escritura (II)
MP
MCa
2
2
CPU
29Operaciones MCa
- Lectura
- Acierto
- Fallo
- Escritura (Política de Escritura)
- Acierto
- Fallo
- Debemos tener en cuenta políticas
30Lectura MCa
MCa
T Tca
MCa
Segun Politica Lectura
reemplazo
MP
X
31Lectura MCa
MCa
T Tca
MCa
bloque
reemplazo
MP
bloque
32Lectura MCa
MCa
T Tca
MCa
Segun Politica Lectura
MP
reemplazo
X
bloque
Tacc Tca ( N Tmp) X Tmp Tocup Tca (
N Tmp) N Tmp
33Posibles Derivaciones
- Tiempo medio de Acceso probabilidades de
Acierto/Fallo - T Hr Tacierto (1-Hr) Tfallo
- Tiempo medio de Acceso con Probabilidades de
Lectura/Escritura - Plec Tlec Pesc Tesc
- Tlec calculado con probabilidades acierto/fallo
- Tesc calculado con probabilidades acierto/fallo
34Posibles Derivaciones (II)
- Tiempo máximo de acceso
- Igual que tiempo medio de acceso, pero sin tener
en cuenta la posibilidad de acierto. - Tiempo mínimo de acceso
- Igual que tiempo medio de acceso, pero sin tener
en cuenta la posibilidad de fallo. - Tiempo de ocupación
- Igual que el tiempo medio de acceso, pero
teniendo en cuenta la lectura y escritura de
TODAS las palabras del bloque (tiempo en que la
CPU realiza otras operaciones)
35Parte II
36Fase de Traducción
MP Paginada
TLB
DV
3 Niveles
37Fase de Traducción
MP Paginada
TLB
DV
DR
3 Niveles
T Ttlb
38Fase de Traducción
MP Paginada
TLB
DV
3 Niveles
39Fase de Traducción
MP Paginada
TLB
DV
DF
3 Niveles
T Ttlb 3 Tmp
40Uso de Memoria Virtual
- Traducción y Acceso a la Info secuencial
Tacc
Ttrad
DF
Información
DV
T Ttrad Tacc
41Uso de Memoria Virtual (II)
- Traducción y Acceso a la Info Simultaneo
TRAD
DV
DF
(acierto/fallo)
TLB
ACC
Info
(acierto/fallo)
Byte Bloque
MCa
42Uso de Memoria Virtual (II)
- Tiempo de Traducción
- T Hrtlb Ttlb (1 - Hrtlb) (Ttlb N Tmp)
- Tiempo de Acceso
- Acierto T Tca
- Fallo T Tca ( )
- Habiendo Simultaneidad
- T max (Ttrad,Tacc) (Si fallo MCa)
43Uso de Memoria Virtual (III)
- Diferencias entre secuencial y simultaneo
- Acierto en Cache
- Tsec Ttrad (aciertos o fallos) Tca
- Tsimul max(Ttrad,Tca)
- Fallo en Cache
- Tsec Ttrad (acierto o fallo) Tacc
- Tsimul max (Ttrad, Tca) Tfallo
44Uso de Memoria Virtual
- Posibilidades
- Traducción
- Acierto TLB Ttlb
- Fallo TLB Ttlb N Tmp (N niveles de pagina)
- Acceso Información
- Acierto Mca Tca
- Fallo Mca Tca ( Tfallo_cache)
- Mezclar posibilidades con derivaciones de tiempos
- OJO Tiempo de Traducción es siempre el mismo en
todos los casos (acceso, ocupación) - Tpo maximo de acceso Solo fallos de TLB (1
Hr_tlb 100) - Tpo minimo de acceso Solo aciertos de TLB
(Hr_tlb 100)
45Parte III
- Inclusión de nuevas tecnologías
46Nuevas Tecnologías
- Memoria Cache de 2º Nivel
- Stream Buffer
- Buffer de Escritura
- Victim Buffer
- Posibilidad de mezclar Traducción Acceso
simple a MCa Nuevas Tecnologías
47Memoria Cache de 2º Nivel
- Cuando falla el MCa de Nivel 1, se accede al MCa
de Nivel 2. - Políticas de Nivel 1 y Políticas de Nivel 2
- Si falla MCa de Nivel 2, se accede a MP.
MCa1
MCa2
MP
48Stream Buffer
MP
MCa
Stream
CPU
49Stream Buffer
MP
MCa
Stream
CPU
50Stream Buffer
MP
MCa
Stream
2
CPU
51Stream Buffer
MP
MCa
Stream
NO politica lectura
2
2
CPU
52Stream Buffer
MP
MCa
Stream
2
2
CPU
53Stream Buffer
MP
MCa
Stream
2
bloque i1
bloque i1
Tacc Tca N maximo(MCa,Stream) Tocup Tca
N maximo(Mca,Stream) N Tmp
CPU
54Stream Buffer
MP
MCa
Stream
CPU
55Stream Buffer
MP
MCa
Stream
2
2
Según política lectura
CPU
56Stream Buffer
MP
MCa
Stream
2
2
CPU
57Stream Buffer
MP
MCa
Stream
2
2
Según política lectura
CPU
58Stream Buffer
MP
MCa
Stream
2
2
bloque i1
bloque i1
Tacc Tca Tstr X Tmp Tocup Tca Tstr
N Tmp N Tmp
CPU
59Buffer de escritura
- Escrituras de MP NO en Tacc (Tocup)
- Se utiliza este mecanismo sii buffer no lleno
- Probabilidades llenado de Buffer
- Pb_vacio Tb_vacio (1-Pb_vacio) Tacc_n
- Tb_vacio Tacc usando buffer de escritura
60Buffer de escritura (II)
- Casos de estudio
- Política Escritura Copy-Back
- Op Lectura, fallo MCa con reemplazo
- Op Escritura, fallo MCa con reemplazo
- Política Escritura Write-through
- Op Escritura, acierto o fallo
61Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
CPU
62Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
2
CPU
63Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
2
Reempazo
CPU
64Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
bloque
2
Reempazo
CPU
65Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
2
2
X
según politica lectura
CPU
66Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
2
2
CPU
67Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
2
2
según politica lectura
CPU
68Buffer de escritura (III)
- CB, Op lectura y escritura
MP
MCa
Buffer
bloque
2
2
bloque
Tacc Tca N maximo (Tca,Buff) X
Tmp Tocup Tca N maximo (Tca,Buff) N Tmp
N Tmp
CPU
69Buffer de escritura (III)
MP
MCa
Buffer
CPU
70Buffer de escritura (III)
MP
MCa
Buffer
2
2
CPU
71Buffer de escritura (III)
MP
MCa
Buffer
2
2
CPU
72Buffer de escritura (III)
MP
MCa
Buffer
2
2
2
Tacc maximo (Tca,Tbuf) Tocup maximo
(Tca,Tbuf) Tmp
CPU
73Buffer de escritura (III)
MP
MCa
Buffer
2
CPU
74Buffer de escritura (III)
MP
MCa
Buffer
2
CPU
75Buffer de escritura (III)
MP
MCa
Buffer
2
2
Tacc Tbuf Tocup Tbuf Tmp
CPU
76Victim Buffer
- Unicamente para Caches DIRECTAS
- Reducir el Tacc por fallos de conflicto (dos
palabras en la misma dir)
77Victim Buffer (II)
MP
MCa
VB
CPU
78Victim Buffer (II)
MP
MCa
VB
bloque r
CPU
79Victim Buffer (II)
MP
MCa
VB
bloque
bloque r
CPU
80Victim Buffer (II)
MP
MCa
VB
bloque
bloque r
CPU
81Victim Buffer (II)
MP
MCa
VB
bloque
bloque r
Tacc Tca N max(Mca,Tvb) N max
(Mca,Tvb) Tocup Tacc
CPU
82Victim Buffer (II)
MP
MCa
VB
CPU
83Victim Buffer (II)
MP
MCa
VB
bloque r
2
CPU
84Victim Buffer (II)
MP
MCa
VB
bloque r
bloque r
2
CPU
85Victim Buffer (II)
MP
MCa
VB
2
bloque r
2
X
CPU
según política de lectura
86Victim Buffer (II)
MP
MCa
VB
2
bloque r
2
CPU
87Victim Buffer (II)
MP
MCa
VB
2
bloque r
2
CPU
según política de lectura
88Victim Buffer (II)
MP
MCa
VB
2
bloque r
2
Tacc Tca Tvb N maximo(Tca,Tvb) X
Tmp Tocup Tca Tvb N maximo(Tca,Tvb) N
Tmp
CPU
89Memorias Cache