Circuitos Digitales II Jerarquía de memoria Memoria Cache (Parte II) Semana No.14 Semestre 2011-2...

Post on 11-Apr-2015

106 views 0 download

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érezeaduque@udea.edu.co

Prof. Gustavo Patiño (en comisión)Prof. Gustavo Patiño (en comisión)gpatino@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

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)