7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria...

79
7. MEMORIA 1

Transcript of 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria...

Page 1: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

7. MEMORIA

1

Page 2: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

2

1.1. Estructura Jerárquica de la MemoriaEstructura Jerárquica de la Memoria

2.2. Memoria CachéMemoria Caché

3.3. Memoria PrincipalMemoria Principal

4.4. Memoria VirtualMemoria Virtual

MEMORIA

Page 3: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

1.1. Estructura Jerárquica de la MemoriaEstructura Jerárquica de la Memoria

3

MEMORIA

Page 4: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Estructura Jerárquica de la Memoria

Memoria

Registros

Caché N1-N2

Memoria Principal

Disco Magnético

Cinta Magnética Disco Óptico

Coste por bit

Capacidad

Tiempo de acceso

Frecuencia de acceso

No es única

- La CPU/MMU

- El S. O.

Quién se ocupa del transvase

entre memorias¿ ?

4

Page 5: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Estructura Jerárquica de la Memoria

Memoria

Memoria Multinivel

C a

c h

eMemoriaPrincipal

Dispositivosde E/S

Registros

CPU Bus de Memoria

Bus de E/S

Tamaño:

Velocidad:

Oct-KB

250 ps.

KB-MB

1 ns.

GB

100 ns.

TB

10 ms.

5

Page 6: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

2.2. Memoria CachéMemoria Caché

6

MEMORIA

Page 7: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria Caché

Memoria

Principio de laLocalidad de Referencia

Los accesos a memoria que realiza la CPUno están uniformemente distribuidos

por todo el espacio de direccionamiento, sino que se concentran, temporalmente, solamente

en ciertas áreas de la memoria.

Por qué es tan útiluna memoria tan pequeña¿ ?

Fundamento

7

Page 8: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Fundamento

Es muy probable repetir

instrucciones

LocalidadTemporal

LocalidadEspacial

Principio deLocalidad de Referencia

Es muy probable ejecutar

instrucciones cercanas

Unidad deTransferencia:

BLOQUE

Memoria Caché

8

Page 9: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

CPU(bytes)

Caché(KB-MB)

MemoriaPrincipal(GB-TB)

Bloque

Palabra

• El espacio de la memoria caché está dividido en líneas

• Nº Líneas << Nº Bloques

• Tamaño Bloque potencia de 2

• Tamaño Línea = Tamaño Bloque

Buscar en la caché

Acierto Fallo

Entregar Dato

Asignar Línea

Traer Bloque

Funcionamiento

9

Page 10: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

10

Page 11: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria CachéPolíticas de UbicaciónCorrespondencia Directa

Bloque Despl.L0

Comp.

. . .

. . .

. . .

. . .

. . .

etiq. datosCaché

LJ

Dir. de memoria

b+dpal. 0

pal. 1

pal. 2

pal. 3

. . .

. . .

B0

Memoriaprincipal

pal. 4j

pal. 4j+1

pal. 4j+2

pal. 4j+3

. . .

BJ

b

d

Falta de caché

Acierto

+

l db-l

etiq. línea

pal. 4j+2

11

Page 12: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Arquitectura de Computadores

0000000100100011010001010110011110001001101010111100110111101111

Memoria principal de 16 palabrasBloque 0

Bloque 1

Bloque 2

Bloque 3

Bloque 4

Bloque 5

Bloque 6

Bloque 7

Bloques de 2 palabras

Línea 0

Línea 1

Línea 2

Línea 3

Memoria caché de 4 líneas

Ejemplo:

Memoria Caché

Memoria 12

Page 13: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

0 0 0 0 Línea 0 Desplazamiento 0 0 0 0 1 Línea 0 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

0 0 1 0 Línea 1 Desplazamiento 0 0 0 1 1 Línea 1 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

0 1 0 0 Línea 2 Desplazamiento 0 0 1 0 1 Línea 2 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

0 1 1 0 Línea 3 Desplazamiento 0 0 1 1 1 Línea 3 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

1 0 0 0 Línea 0 Desplazamiento 0 1 0 0 1 Línea 0 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

1 0 1 0 Línea 1 Desplazamiento 0 1 0 1 1 Línea 1 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

1 1 0 0 Línea 2 Desplazamiento 0 1 1 0 1 Línea 2 Desplazamiento 1

Línea 0Línea 1Línea 2Línea 3

Línea 0Línea 1Línea 2Línea 3

1 1 1 0 Línea 3 Desplazamiento 0 1 1 1 1 Línea 3 Desplazamiento 1

Memoria Caché

Memoria 13

Page 14: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Arquitectura de Computadores

0 0 0 0 Línea 0 Desplazamiento 0 0 0 0 1 Línea 0 Desplazamiento 1 0 0 1 0 Línea 1 Desplazamiento 0 0 0 1 1 Línea 1 Desplazamiento 1 0 1 0 0 Línea 2 Desplazamiento 0 0 1 0 1 Línea 2 Desplazamiento 1 0 1 1 0 Línea 3 Desplazamiento 0 0 1 1 1 Línea 3 Desplazamiento 1 1 0 0 0 Línea 0 Desplazamiento 0 1 0 0 1 Línea 0 Desplazamiento 1 1 0 1 0 Línea 1 Desplazamiento 0 1 0 1 1 Línea 1 Desplazamiento 1 1 1 0 0 Línea 2 Desplazamiento 0 1 1 0 1 Línea 2 Desplazamiento 1 1 1 1 0 Línea 3 Desplazamiento 0 1 1 1 1 Línea 3 Desplazamiento 1

Memoria Caché

Memoria 14

Page 15: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Arquitectura de Computadores

0 0 0 0 Línea 0 Desplazamiento 0 0 0 0 1 Línea 0 Desplazamiento 1 0 0 1 0 Línea 1 Desplazamiento 0 0 0 1 1 Línea 1 Desplazamiento 1 0 1 0 0 Línea 2 Desplazamiento 0 0 1 0 1 Línea 2 Desplazamiento 1 0 1 1 0 Línea 3 Desplazamiento 0 0 1 1 1 Línea 3 Desplazamiento 1 1 0 0 0 Línea 0 Desplazamiento 0 1 0 0 1 Línea 0 Desplazamiento 1 1 0 1 0 Línea 1 Desplazamiento 0 1 0 1 1 Línea 1 Desplazamiento 1 1 1 0 0 Línea 2 Desplazamiento 0 1 1 0 1 Línea 2 Desplazamiento 1 1 1 1 0 Línea 3 Desplazamiento 0 1 1 1 1 Línea 3 Desplazamiento 1

Memoria Caché

Memoria 15

Page 16: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Arquitectura de Computadores

0 0 0 0 Línea 0 Desplazamiento 0 0 0 0 1 Línea 0 Desplazamiento 1 0 0 1 0 Línea 1 Desplazamiento 0 0 0 1 1 Línea 1 Desplazamiento 1 0 1 0 0 Línea 2 Desplazamiento 0 0 1 0 1 Línea 2 Desplazamiento 1 0 1 1 0 Línea 3 Desplazamiento 0 0 1 1 1 Línea 3 Desplazamiento 1 1 0 0 0 Línea 0 Desplazamiento 0 1 0 0 1 Línea 0 Desplazamiento 1 1 0 1 0 Línea 1 Desplazamiento 0 1 0 1 1 Línea 1 Desplazamiento 1 1 1 0 0 Línea 2 Desplazamiento 0 1 1 0 1 Línea 2 Desplazamiento 1 1 1 1 0 Línea 3 Desplazamiento 0 1 1 1 1 Línea 3 Desplazamiento 1

¡ Eti

queta

!

Memoria Caché

Memoria 16

Page 17: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Arquitectura de Computadores

Etiqueta

Formato de una dirección en correspondencia directa:

Línea Desp.

1 2 1

En el ejemplo

Memoria Caché

Memoria 17

Page 18: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria CachéPolíticas de UbicaciónCorrespondencia Asociativa

Caché

Bloque Despl.

Comp.

etiq

etiq

etiq

Acierto Fallo

Comp.

Comp.

Acierto Fallo

Acierto Fallo

Lín

ea 0

Lín

ea 1

Lín

ea 2

Dir. de memoria

18

Page 19: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Políticas de UbicaciónCorrespondencia Asociativa de Conjuntos

Comparador

Falta de caché

Acierto

b+d

Bloque Despl.

Dir. de memoria

d

C0. . .

Caché

C1

. . .b

d+

+

Mem. principal

pal. 0

pal. 1

pal. 2

pal. 3

. . .

. . .

B0

BJ

pal. 4j

pal. 4j+1

pal. 4j+2

pal. 4j+3

.

. . .

b-c c

etiq. conjunto

Etiq

19

Page 20: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Políticas de Sustitución

Política de Sustitución

20

Page 21: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Políticas de Sustitución

De Tipo Estadístico

De Tipo NO Estadístico

LRULeast Recently Used

LFULeast Frequently Used

FIFOFirst In First Out

RandomNº aleatorio entre 0 y Nº Líneas-1

Buena tasa de aciertos No falla con las matrices Fácil y económico

Bueno en general Falla con algunas

matrices

21

Page 22: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Políticas de Actualización

Coherencia de la información entre las distintas memorias

Propiedad dela caché

Escrituraen caché

Acierto

Fallo

Actualizar MP

Retrasar laactualización

Escritura Inmediata(Write Through)

Escritura Diferida(Write Back)

Traer bloquea caché

Escribir datoen MP 2 accesos a

MP

22

Page 23: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Políticas de Actualización

Escritura Inmediata

Escritura Diferida

No hay incoherencia Mucho tráfico: cada escritura en caché una

actualización en MP

Menos tráfico: muchas escrituras en caché una sola actualización en MP

Incoherencia MultiprocesadoresDMA

Al reemplazar un bloque “sucio” se penaliza el acceso actual con la escritura del bloque

Su actualización se solapa con la ejecución

de las instrucciones

Buffer de escritura

23

Page 24: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Tamaño de la CachéSPEC CPU 2000 Benchmarks (2003)

• Barata• Rápida• Muchas faltas

• Pocas faltas• Cara• No tan Rápida• Poca mejora

24

Tas

a de

Fal

los

Tamaño de la caché

Page 25: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Tamaño de la Caché

CPU TAMAÑO CACHÉ L1

80486DX and DX2 8 KB L1

80486DX4 16 KB L1

Pentium 16 KB L1

Pentium Pro 16 KB L1

Pentium MMX 32 KB L1

AMD K6 and K6-2 64 KB L1

Pentium II and III 32 KB L1

Celeron 32 KB L1

Pentium III Cumine 32 KB L1

AMD K6-3 64 KB L1

AMD K7 Athlon 128 KB L1

AMD Duron 128 KB L1

AMD Athlon Thunderbird 128 KB L1

PowerPC G4 64 KB L1 (32 + 32)

PowerPC G5 96KB L1 (64+32)

Pentium IV 104 KB (96 + 8)

A partir de aquí todostienen más niveles de caché

25

Page 26: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Tamaño del Bloque

↑ Localidad espacial ↓ Localidad

Temporal

26

Page 27: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Tipos de fallo de caché

• Por Carga inicial (Compulsory)• Carga inicial de la caché. • Estos fallos se producen aun con una caché de tamaño infinito

• De Capacidad (Capacity)• Cuándo la caché no puede almacenar todos los bloques de un

programa en ejecución• Por Conflicto (Conflict)

• Aun habiendo líneas libres no se puede cargar un bloque• Suele suceder en cachés con un grado bajo de asociatividad

(correspondencia directa o asociativa por conjuntos de pocas vías)

Tasa de Fallo = Nº Fallos / Nº Accesos

27

Page 28: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Tipos de fallo de caché

28

Cache Size (KB)

Mis

s R

ate

per

Typ

e

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

1 2 4 8

16

32

64

12

8

1-way

2-way

4-way

8-way

Capacity

Compulsory

Page 29: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

Optimización

29

Page 30: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción del tiempo de acceso: Caches Pequeñas

Tamaño Caché

Tie

mpo

acc

eso

(ns)

Consume tiempo:•Búsqueda del bloque•Etiquetas grandes•Nº Comparadores

Correspondencia Directa y

Cachés multinivel

Configuración: bloque 64 bytes y un banco

30

Page 31: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción del tiempo de acceso: Caches Pequeñas

C a

c h

é

L 1

MemoriaPrincipal

CPU

Cac

L2

Acceso a Memoria

TL1 PAL1

TL2 PAL2

TMP

Acierto Fallo

TL1 * PAL1TL1 * PAL1 (1-PAL1)(1-PAL1)L1:L1:

Acierto Fallo

PAL2 * (1-PAL1)* TL2PAL2 * (1-PAL1)* TL2 (1-PAL1)* (1-PAL2 )* TMP (1-PAL1)* (1-PAL2 )* TMP L2:L2:

TMEDIO = TL1 * PAL1 + PAL2 * (1-PAL1)* TL2 + (1-PAL1)* (1-PAL2 )* TMP

Caches Multinivel

31

Page 32: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción del tiempo de acceso: Predicción

• Se parte de una caché con correspondencia asociativa de conjuntos (menos conflictos de colisiones que la correspondencia directa)

• Se intenta obtener el tiempo de acceso de una memoria de correspondencia directa

• Se predice que línea del conjunto va a ser accedida• Mediante la predicción se consigue que la comparación de

etiquetas y la lectura de bloque se realice en paralelo• La predicción tiene un acierto elevado (85%)• Cuando la predicción falla se busca el bloque en el resto de líneas

del conjunto (penalización)• Cada línea tiene asociados unos bits para realizar la predicción• Pentium 4 y MIPS R10000 utilizan este esquema

32

Page 33: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción del tiempo de acceso: Caché de Trazas

• Similar a una caché de instrucciones• En lugar de almacenar bloques de código (localidad espacial)

almacena las secuencias de instrucciones que van a ejecutarse (localidad temporal)

• Los saltos pueden provocar que se almacenen en la caché dos secuencias de código de acuerdo al sentido del salto

• Mayor dificultad en los mecanismos de gestión de direcciones (ubicación)

• Bloques de mayor tamaño• Cara y poco utilizada• Pentium 4 la utiliza para almacenar micro-ops (instrucciones ya

decodificadas)

33

Page 34: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónIncremento del ancho de banda: Caches de nivel 1 separadas

Caché L1UnificadaInstrucciones

y Datos

Caché L1Instrucciones

Caché L1Datos

Equilibrio automáticode instrucciones y datos

Más simple de diseñare implementar

Arquitectura Harvard

En procesadores segmentados evita riesgos estructurales

Todos los procesadores modernos la utilizan

34

Page 35: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónIncremento del ancho de banda: Caches segmentadas

• Segmentar los accesos a la caché• Consiguiendo que se lleven a cabo varios accesos a memoria• No se reduce el tiempo de acceso• La duración de la etapa está en función de la duración total y del nº

de etapas

Load 1

1 ciclo

Load 2

1 ciclo

Load 3

1 ciclo Load 1

1 ciclo

1 ciclo

1 ciclo

Load 2

Load 3

Mayor frecuencia de Reloj

35

Page 36: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónIncremento del ancho de banda: Caches No Bloqueantes

• Un fallo de caché provoca que no se atiendan más accesos• Comportamiento pernicioso en procesadores superescalares

– Una falta de caché en escritura provoca que otras instrucciones no puedan terminar aunque su acceso sea un acierto

• Las caches no bloqueantes siguen atendiendo peticiones en presencia de un fallo

• Cuantos más accesos se solapen mayor reducción de la penalización por fallo de caché en los programas

36

Page 37: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónIncremento del ancho de banda: Caches Multibanco

Línea 0

1

2

3

Línea 0

1

2

3

Línea 0

1

2

3

Línea 0

1

2

3

Banco 0 Banco 1 Banco 2 Banco 3Línea 0

1

2

3

4

5

6

78

9

10

11

12

13

Caché Monolítica

Bloque Despl.

Dir. de memoria

Banco = Bloque MOD 4

• Funciona bien cuando los accesos están repartidos

• L2 AMD Opteron 2 bancos• L2 SUN Niagara 4 bancos

Bloque 0Bloque 1

Bloque 2

Bloque 3

Bloque 4

37

Page 38: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de la penalización por fallo: Caché de victimas

Línea 0

1

2

3

4

5

6

78

9

10

11

12

13

Caché L1 CorrespondenciaDirecta

1

2

3

Línea 0

Caché Asociativa

CachéNivel 2

Últimos bloques expulsados de la caché L1

Memoria muy pequeña Fallo L1

Comprobar victimas LRU cuando está llena Admite algún esquema

predictivo

38

Page 39: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de la penalización por fallo: Buffer de Escritura

CPUCache L1

Buffer Escritura

MemoriaPrincipal

• Para caches de escritura directa (Write Through), aunque también se emplea con escritura diferida

• El procesador escribe en la caché y en el Buffer continuando con la ejecución de instrucciones

• El controlador de memoria vuelca el Buffer a memoria (L2 o principal)

• El Buffer suele tener 4 entradas y política FIFO

• Funciona bien cuando la frecuencia de las escrituras es menor que 1 / Tacceso memoria

• Cuando el Buffer está lleno el procesador espera por una entrada libre

store

39

Page 40: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de la penalización por fallo: Buffer de Escritura y Write Merging

• En el Buffer se van introduciendo las palabras (store) generadas por el procesador una en cada entrada

• Una optimización del Buffer consiste en comprobar si cada nueva palabra puede combinarse con las ya existentes para formar bloques completos

Escrituras

100

108

116

124

32 octetos

100

108

116

124

Sin Write MergingSin Write Merging

Escrituras

100

108

116

124

100 108 116 124

32 octetos

Con Write MergingCon Write Merging

LLENO LIBRES

0

1

2

3

0

1

2

3

PosicionesConsecutivas

40

Page 41: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de la penalización por fallo: Palabra crítica primero

y rearranque rápido

• El procesador en un acceso a memoria sólo necesita una palabra no el bloque completo

• Por lo tanto no es necesario que espere por todo el bloque

CPU)

CACHE

MEMORIA PRINCIPAL

CPU

1. load

2. Get Block3. Word 4. Update

Palabra Crítica primeroPalabra Crítica primero

CPU)

CACHE

MEMORIA PRINCIPAL

CPU

1. load

2. Get Block

4. Word (M)

3. Update (0,..,M,..N-1)

Rearranque RápidoRearranque Rápido

41

Page 42: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de tasa de fallos: Optimizaciones del compilador

• No modifica la estructura de la caché

• Reordenación de código para explotar la localidad tanto espacial como temporal

• Se optimiza la disposición del código y el acceso a los datos

int x[10][50];

for (j=0; j<50; j++) for (i=0; i<10; i++) x[i][j] = 2*x[i][j];

0,0 0,1 0,2 9,47 9,48 9,49

Disposición en memoria de x(almacenamiento por filas)

int x[10][50];

for (i=0; i<10; i++) for (j=0; j<50; j++) x[i][j] = 2*x[i][j];

Se accede por filas

$80 $84 $88

42

Page 43: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de tasa de fallos y penalización: HW prefetch

• Cargar los bloques en caché antes de ser usados sin interferir en el funcionamiento normal

CPUCache L1Instrucciones

Stream Buffer

MemoriaPrincipal

1. Fetch

2. Get Block (N)

3. Block (N)

4. Block (N+1)

if Fallo_Cache then if Block (X) in Stream Buffer Update_Cache (Block (X)) GetBlock_MP (X+1) else // No está en Stream Buffer GOTO “Paso 2” // GetBlock(N)endif

4. Instr.

43

Page 44: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Caché

OptimizaciónReducción de tasa de fallos y penalización: SW prefetch

• La carga anticipada de bloques en la caché la realiza el compilador insertando instrucciones especiales de pre-carga de bloques

• Al igual que la técnica anterior la memoria debe tener el suficiente ancho de banda para soportar este mecanismo

int x[10][50];

for (i=0; i<10; i++) for (j=0; j<50; j++) x[i][j] = 2*x[i][j];

• Elementos de x de tamaño 64 bits• Almacenamiento por filas• Bloques de caché de 128 bits• 50 % tasa de fallo (1 de cada 2 accesos)

compilador int x[10][50];

for (i=0; i<10; i++) { PRE_FECTH (x[i+1][0]); for (j=0; j<50; j++) { PRE_FETCH (x[i][j+5]); x[i][j] = 2*x[i][j]; }}

44

Page 45: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

3.3. Memoria principalMemoria principal

45

MEMORIA

Page 46: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

Per

form

ance

(log)

El problema …

46

Page 47: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

• Latencia Tiempos de acceso: Tiempo entre solicitar y recibir un dato Ciclo: Tiempo entre dos accesos

• Ancho de Banda Transferencia de grandes cantidades de información

(bloques, páginas, etc.)

Parámetros rendimiento de la memoria

Tipos de memoria

• DRAM Memoria Principal

• SRAM Memoria Caché

47

Page 48: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMDynamic Random Access Memory

• Primera DRAM Intel 1103 – 1 Kbit en un único Chip

• Hoy en día más de 4 GB por chip

• Un transistor y un condensador por bit

• Necesitan refresco (cada 8 ms, <5% del tiempo) No permite accesos

• Tras una lectura es necesario volver a refrescar la información

• Ciclo de memoria mayor que el tiempo de acceso

• Organizada en una matriz de N Filas x N columnas de M bits Reducir el nº de pines al multiplexar Filas y Columnas

• Cada acceso un ciclo de RAS/CAS RAS: Row Access Strobe CAS: Column Access Strobe

• Encapsulada en pequeñas tarjetas DIMM (Dual Inline Memory Modules) De 4 a 16 DRAM

48

Page 49: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMEstructura

CPUCACHÉ

L2CACHÉ

L2

NORTH BRIDGE

DRAMDRAM

CACHÉ L1

CACHÉ L1

DRAM Controller

DRAM Controller

SOUTHBRIDGE

Backside Bus

Frontside Bus

DRAM Bus

PCI

USB

APM

Otros Dispositivos

49

Page 50: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMEstructura

Deco

difi

cador d

e 3

a 8

(Row

)

Decodificador de 3 a 8 (Column)

Bit Line

Word Line

64 x1bit

Celda dememoria

Buff

er d

e D

ireccio

nes

50

Page 51: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Array deCeldas

Memoria

Memoria Principal

DRAMEstructura: Organización Física

Array deCeldas

(1024x1024bits)

Row

x2 DRAM

Array deCeldas

(1024x1024bits)

Row

x4 DRAM

Array deCeldas

(1024x1024bits)

Row

x8 DRAM

2M bit 4M bit 8M bit

51

Page 52: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

Año Tamaño T. Acceso(ns) Ciclo (ns)

1980 64K bit 150-180 250

1983 256K bit 120-150 220

1986 1M bit 100-120 190

1989 4M bit 80-100 165

1992 16M bit 60-80 120

1996 64M bit 50-70 110

1998 128M bit 50-70 100

2000 256M bit 45-65 90

2002 512M bit 40-60 80

2004 1G bit 35-55 70

2006 2G bit 30-50 60

DRAMPrestaciones

52

Page 53: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMLatencia

CPUControladorde Memoria

DRAMDRAM

A

B

C

D

E

F

A. Encolado de la petición de acceso a memoria (posible espera)B. Petición de acceso enviada al Controlador de MemoriaC. Conversión de la petición de acceso a órdenes para la DRAM (posible

espera)D. Envío de órdenes a la DRAME. Fijar Fila (RAS) y Columna (CAS) en la matriz de celdasF. Resultado del acceso

Latencia DRAM = A + B + C + D + E + F

53

Page 54: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

FILA COL FILA COL

RAS

CAS

Dirección

Datos

DRAMCiclo de Lectura: Modo Normal

54

DATODATO

Page 55: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMCiclo de Lectura: Modo Fast Page

FILA COL COL

RAS

CAS

Dirección

Datos

COL

Explota la localidad de los datos Página = FILA El tiempo de acceso al primer datoidéntico al de la DRAM convencional

55

DATODATO DATO

Page 56: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMCiclo de Lectura: Modo Extended Data Out (EDO)

FILA COL COL

RAS

CAS

Dirección

Datos

COL COL

Reduce el tiempo de acceso a posiciones consecutivas de memoria Solapa datos con direcciones

CAS cambia antes de que la memoria haya entregado el dato anterior

56

DATODATO DATODATO

Page 57: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DRAMCiclo de Lectura: Modo Ráfaga (Burst)

FILA COL

RAS

CAS

Dirección

Datos

Utiliza un mecanismo de autoincremento paracalcular la siguiente columna Los accesos aleatorios no son más rápidos Muy útil para ciertas aplicaciones (streaming) Tiempos de acceso 6-1-1-1 (primeros 64 bits y sucesivos)

57

DATODATO DATODATO

Page 58: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

SDRAMSynchronous DRAM

DRAM FPM y DRAM EDO son asíncronas Controlador de memoria y DRAM utilizan un protocolo mediante señales

para realizar/sincronizar los accesos a memoria El protocolo de acceso introduce varios ciclos de latencia Se sustituye el protocolo de acceso por uno nuevo basado en la

señal de reloj de la placa base Los eventos suceden de acuerdo a esta nueva señal (CLK) Se simplifica el controlador de memoria

Suelen disponer de Varios bancos de memoria (entrelazada). De 2 a 4 bancos Mayor ancho de banda

Bus de Datos de 64 bits

58

Page 59: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

SDRAMCiclo de lectura

RAS

CLK

CAS

ACT READ

FILA COL

Comandos

Direcciones

DATO DATODatos

DATO DATO

Activar Banco

59

Page 60: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

SDRAMBancos de memoria (entrelazada)

0

1

2

N-2

N-1

N

N+1

N+2

2N-2

2N-1

BUFFER

BUS

Banco 0 Banco 1

0

2

4

2N-4

2N-2

1

3

5

2N-3

2N-1

BUFFER

BUS

Banco 0 Banco 1

BUFFER

Memoria NO entrelazada Memoria Entrelazada

60

Page 61: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

SDRAMBancos de memoria (entrelazada)

CLK

Oct. 1 Oct. 2

CLK

Oct. 1 Oct. 2Oct. 3 Oct. 4

Accesos No Entrelazada

Accesos Entrelazada

Ban

co 0

Ban

co 0

Ban

co 1

Ban

co 1

Ban

co 2

Ban

co 2

Ban

co N

Ban

co N

……

Palabra Banco

m bits k bits

Dirección

61

Page 62: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DDR-SDRAMDouble Data Rate SDRAM

• Aparece en los procesadores AMD Athlon• Transfieren más información por cada ciclo

Utilizan ambos flancos de la señal de reloj Prefetching para aumentar el nº de bits transferidos entre la matriz de

celdas de memoria y el buffer de memoria Señalización más rápida

DDR SDRAM

Matrizde

MemoriaBuffer

Bus de memoria Bus de Datos

DDR1 DDR2 DDR3

Bits por ciclo x2 x4 x8

64 bits

62

Page 63: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

DDR-SDRAMDouble Data Rate SDRAM

Tipo Nombre Nombre del módulo

Bus de memoria

Ancho de banda máx.

100 Mhz x 2 Datos por ciclo x 8 Octetos

63

PREGUNTA 3

100 Mhz

133 Mhz

166 Mhz

200 Mhz

100 Mhz

133 Mhz

200 Mhz

166 Mhz

100 Mhz

133 Mhz

166 Mhz

200 Mhz

Page 64: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

RDRAMRambus DRAM

• Aparece en los procesadores Intel Pentium III y IV• Mayor frecuencia de reloj que las memorias DDR • Bus de datos de 16 bits• Peticiones de acceso simultáneas• Ancho de banda (pico) de 2.4 GB/s• Hasta 32 memorias en un único canal• Mayor precio que DDR

Mover pocos datos muy rápidamente

64

Page 65: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

Módulos de Memoria DIMMDual In-line Memory Module

Bus de datos de 64 bits Cada DIMM contiene de 8 a 16 chips DRAM (más uno de paridad)

8 chips DRAM si son de 8 bits (x8) 16 chips DRAM si son de 4 bits (x4)

Configuraciones disponibles: Una cara, un bloque (una única señal de selección CS*) Doble cara, un bloque (una única señal de selección) Doble cara, doble bloque (dos señales de selección) Doble cara, cuatro bloques (cuatro señales de selección)

Número de contactos: SDRAM 168 pines DDR1 184 pines DDR2 y DDR3 240 pines

65

Page 66: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Principal

Módulos de Memoria DIMMDual In-line Memory Module

Chip DRAM de 8 bits

66

Page 67: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Resumen

Memoria

Caché SRAM Static Random Access Memory

Principal DRAMDynamic Random Access Memory

Asíncrona

Síncrona

DRAM – Fast Page

DRAM – EDO

DRAM – Burst

SDRAM

Rambus

DDR1

DDR2

DDR3

67

Page 68: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

4.4. Memoria virtualMemoria virtual

68

MEMORIA

Page 69: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

Desde hace tiempo ...

¿Cómo lo hacen?

Los sistemas informáticos son capaces de tener más de un programa en memoria (multiprogramación)

Las necesidades de memoria de todos los programas de un sistema son superiores a la memoria física disponible

Utilizando la memoria secundaria como si fuera memoria principal

69

Page 70: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

Mantener en memoria principal las instrucciones y los datos que con mayor frecuencia se utilizan. Examinando los programas se observa que ...

Dejar en el disco la parte del programa que no se necesite

Antes de que la CPU pueda extraer una instrucción o acceder a un dato es necesario que estén en memoria principal

Separar espacio de direcciones de posición de memoria

INDIRECCIÓN

Existe código que raramente se utiliza

Y variables sobredimensionadas

Direcciones lógicas

Direcciones físicas

Concepto

70

Page 71: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

Memoria

Principal

CPU

Bus del sistema

Permite que los procesos estén parcialmente cargados y en posiciones no contiguas de memoria

MMU

Dir. Virtual $100

Dir. Física

Forman el espacio de Direccionamiento Virtual

En los microprocesadores actuales entre 232 y 264 direcciones

Forman el espacio de Direccionamiento Virtual

En los microprocesadores actuales entre 232 y 264 direcciones

Dir. VirtualesDir. Virtuales

LD R1,4(R10)

Los procesos generan Direcciones Virtuales (lógicas)

La Paginación es una forma de implementar la Memoria Virtual

71

Page 72: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria Virtual

Tema 4 Gestión deMemoria 72

Memoria Principal

(Dir. Físicas)

Dividido en páginas

Cuyo tamaño sea múltiplo del bloque de disco

Pág 0

Pág 1

Pág 2

Pág 3

Pág 4

...

...

...

Pág N

Dividido en Marcos

Marco N

...

Marco 1

Marco 0

¿Cómo conocer dónde están las

páginas?

Espacio Dir. Virtual

Page 73: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

73

Tabla de páginas

0

1...

N

Nº Pág.

Formada por una entrada por cada página virtualIndexada por el número de página

P E R PR

Bits de Protección

R W X

Marco

Bit de Presencia

Marco de memoria principal

El tamaño de la entrada es múltiplo

de la palabra del procesador

Tabla de Páginas

Bit de Ensuciado

Bit de Referencia

Page 74: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

74

Pág. Desplazamiento

Dir. Virtual

CP

U

+

M.P.

Marcos

1

...

N

0

Reg. Base TP

Disco

Pág 0

Pág 1

Pág 2

...

Pág N

Dir. Física

Tabla de páginas

0

1...

N

1Marco

Traducción de Direcciones

Page 75: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

75

Tabla de páginas

0

1

...

32

5

P

4

1 N

0 X1

N

0

...

Memoria Principal

Pág 0

Pág 2

........................ld R1, 10(R2)........................

S.O.

ActualizarTab. Pág

Cargar Pág.2

$2312FaltaPág

Disco

Pág 1

Pág 2

...

Pág N

Pág 2Pág 20 0

Página: 2Despl.: 312

Falta de página

Continuar

1 2

3

4

3

3

Page 76: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

76

MMU

Reg. Base TP

Tabla de Páginas

Fallo

Utilizando una caché con la traducción de las direcciones más frecuentes

Dir. Virtual

Pág. Despl.Dir. Física

+

Etiqueta

AciertoMarco

Marco

TLB

Etiq. -- MarcoActualizar

Traducción de direcciones: TLBTranslation Lookaside Buffer

Page 77: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

77

Marco de M.P.

Id. de Proceso

Suelen tener un número reducido de entradas (de 128 a 256)

Correspondencia directa o asociativa

Los procesadores disponen de instrucciones especiales para manipularla (insertar e invalidar entradas)

Bit de Validez

Nº de Página ETIQUETA

Bit de Ensuciado

Bits de Protección

Entrada de la TLB

¿Qué ocurre cuando hay un

cambio de contexto?

TLBEstructura

Page 78: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

78

Dir. Virtual

Acceder TLB

Buscar en Tab. Pág.

Fallo Acierto

Excepción

Pág. No encontrada

Actualizar TLB

Pág. encontrada

Traducir Dirección

Acceso Permitido

Excepción

Acceso No Permitido

Dir. Física

Esquema generalde Traducción

Page 79: 7.MEMORIA 1. 2 1.Estructura Jerárquica de la Memoria 2.Memoria Caché 3.Memoria Principal 4.Memoria Virtual MEMORIA.

Memoria

Memoria Virtual

79

Dir. Virtual <64>

Mem. Vir. Tamaño Pág: 8KBTLB 256 entradasCorresp. DirectaCaché L1Tamaño 8 KB Corr. DirectaCaché L2Tamaño 4 MB Corr. DirectaBloque 64 octetos

Dir. Real <40>

L1 cache tag <27>

L1 data<64B>

L2 tag <18>

L2 cache tag <18>

L2 data <64B>

L2 línea <16> L2 Des <6>