circuitos digitales ii jerarquía de memoria memoria cache (parte ii) semana no.14 semestre 2012-1...

Post on 04-Feb-2015

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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