cpu resolución de los ejercicios de la hoja 4 - fdi.ucm.es hoja 4 (sol probl... · curso 2010-2011...

25
CPU Cache OnChip Cache OnBoard RAM Disco Duro Arquitectura e Ingeniería de Computadores Curso 2010-2011 Resolución de los Ejercicios de la Hoja 4 Dpto. de Arquitectura de Computadores y Automática Facultad de Informática. Universidad Complutense de Madrid. José Miguel Montañana Aliaga. Fernando Castro Rodríguez. Francisco Tirado Fernández.

Upload: lehuong

Post on 05-Feb-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

1/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Resolución de los Ejercicios de la Hoja 4

Dpto. de Arquitectura de Computadores y AutomáticaFacultad de Informática.

Universidad Complutense de Madrid.

José Miguel Montañana Aliaga.Fernando Castro Rodríguez.Francisco Tirado Fernández.

Page 2: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

2/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.4CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoriaSuponiendo:

• La latencia de memoria son 40 ciclos.• Las transferencias de bloques se realizan a 4 bytes/ciclo.• El 50% de los bloques son modificados.• El tamaño de bloque es de 32 bytes.• El 20% de las instrucciones son transferencias de datos.• No hay buffer de escritura

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Si ahora suponemos además la existencia de un TLB tal que:• El fallo de TLB produce una penalización de 20 ciclos.• El acceso al TLB no afecta al tiempo de acierto de cache.• El 0.2% de las referencias no se encuentran en el TLB.

b) Suponiendo acceso a la cache con direcciones virtuales, calcular de nuevo el CPI efectivo teniendo en cuenta el TLB.

c) Suponiendo ahora acceso a la cache con direcciones físicas, volver a calcular el CPI efectivo teniendo en cuenta el TLB.

Page 3: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

3/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

CPI= CPI memoria.perfecto + Penalización_media_memoria

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Penalización_media_memoria==Media de acceso a memoria por instrucción x tasa fallos x penal_fallo

??? Lo calcularemos ahora

??? Lo calcularemos ahora

0.029

Todas las instrucciones acceden a la cache:• 1 acceso/instrucción• El 20% de las instrucciones acceden a la cache 0,2 accesos por instrucción

1+0.2=1.2

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

Page 4: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

4/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

CPI= CPI memoria.perfecto + Penalización_media_memoria

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Penalización_media_memoria==Media de acceso a memoria por instrucción x tasa fallos x penal_fallo

1.2 ??? Lo calcularemos ahora

0.029

Todas las instrucciones acceden a la cache:• 1 acceso/instrucción• El 20% de las instrucciones acceden a la cache 0,2 accesos por instrucción

1+0.2=1.2

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

Page 5: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

5/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

CPI= CPI memoria.perfecto + Penalización_media_memoria

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Penalización_media_memoria==Media de acceso a memoria por instrucción x tasa fallos x penal_fallo

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

Penal fallos (ciclos):T. lect/escrit de bloque= latencia+(tamaño bloque/rel transfer)= 40+32/4 = 48 ciclosEl 50% de los bloques están limpios:

Fallo implica lecturamover 1 bloque : 48 ciclosEl 50% de los bloques están escritos:

Fallo implica escritura+lecturamover 2 bloques: 96 ciclosPromedio ciclos por fallo 0,5x48+ 0,5x96=72 ciclos

1.2 ??? Lo calcularemos ahora

0.029

Page 6: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

6/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

CPI= CPI memoria.perfecto + Penalización_media_memoria

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Penalización_media_memoria==Media de acceso a memoria por instrucción x tasa fallos x penal_fallo

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

Penal fallos (ciclos):T. lect/escrit de bloque= latencia+(tamaño bloque/rel transfer)= 40+32/4 = 48 ciclosEl 50% de los bloques están limpios:

Fallo implica lecturamover 1 bloque : 48 ciclosEl 50% de los bloques están escritos:

Fallo implica escritura+lecturamover 2 bloques: 96 ciclosPromedio ciclos por fallo 0,5x48+ 0,5x96=72 ciclos

1.2 72 ciclos0.029

Page 7: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

7/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

CPI= CPI memoria.perfecto + Penalización_media_memoria

a) ¿Cuál sería el CPI para una cache directa unificada con post-escritura de 16KB y tasa de fallos de 0.029?

Penalización_media_memoria==Media de acceso a memoria por instrucción x tasa fallos x penal_fallo

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

1.2 72 ciclos0.029

Penalización_media_memoria=1.2x0.029x72=2.51

CPI=1.5+2.51=4.01

Page 8: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

8/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Si ahora suponemos además la existencia de un TLB tal que:• El fallo de TLB produce una penalización de 20 ciclos.• El acceso al TLB no afecta al tiempo de acierto de cache.• El 0.2% de las referencias no se encuentran en el TLB.

b) Suponiendo acceso a la cache con direcciones virtuales, calcular de nuevo el CPI efectivo teniendo en cuenta el TLB.

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

El acceso al TLB no afecta al tiempo de acierto en la cacheSólo se accede al TLB en caso de fallo de la cache. Penalización añadida por los fallos del TLB:

(media de acceso a mem. por instr)x(tasa de fallo cache)x(tasa fallo TLB) x20== 1,2 x 0,029 x 0,002 x 20 = 0.0013 inst/ciclo ~ despreciable

Page 9: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

9/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Si ahora suponemos además la existencia de un TLB tal que:• El fallo de TLB produce una penalización de 20 ciclos.• El acceso al TLB no afecta al tiempo de acierto de cache.• El 0.2% de las referencias no se encuentran en el TLB.

c) Suponiendo ahora acceso a la cache con direcciones físicas, volver a calcular el CPI efectivo teniendo en cuenta el TLB.

CPI (ciclos por instr.) es de 1.5 con un sistema perfecto de memoria• El tamaño de bloque es de 32 bytes.• El 20% de las inst. son transf. de datos.• No hay buffer de escritura

• La latencia de memoria son 40 ciclos.• Las transf. de bloques son de 4 bytes/ciclo.• El 50% de los bloques son modificados

Suponemos acceso con dirección física se accede siempre al TLBPenaliza añadida por fallos TLB:

(media de acceso a mem. por instr)x(tasa de fallo cache)x(tasa fallo TLB) x20== 1,2 x 0,002 x 20 = 0.048 inst/ciclo

CPI=1.5+2.51+0,048=4.058

Page 10: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

10/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.5Un computador tiene memorias cache separadas de datos (8KB) e instrucciones (16KB) y las siguientes características:

• La tasa de aciertos de la cache de instrucciones es del 95 %.• La tasa de aciertos de la cache de datos es del 85 %.• El tamaño de bloque de la cache de instrucciones es de 8 bytes y el de la cache de datos es de 4 bytes. En ambos casos, cuando se falla se lee el bloque completo.

La CPU genera 108 referencias a instrucciones y 4x107 a datos por unidad de tiempo(ut).Cada una de estas referencias se suponen de un byte. El 20% de las referencias a datos son escrituras.El 25% de los bloques en la memoria cache de datos son modificados (escritos) durante su permanencia en ella.

Calcular la anchura de banda media necesaria entre memoria principal y memoria cache en los siguientes casos:

a) Con política de escritura directa (con asignación en escritura).b) Con política de post-escritura (con asignación en escritura).

Page 11: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

11/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.5DATOS:4 x107 reg/ut 1 reg=1B Bloque:4BTF=0.15 Escritura: 20% Bloques: 25%

INSTRUCCIONES:108 reg/ut 1 reg=1B Bloque:8B TF=0.05

Tráfico Mp Mc (General)Instrucciones: Bytes por ut

(Nº reg/ut)x TF x (nº Bytes/bloque) = 108x0,05x8 = 4x107B/ut

fallos/ut fallos/utDatos: Bytes por ut

(nº reg/ut) x TF (nº Bytes/bloque) = 4 x103x 0,15x4= 2,4x107B/ut

fallos/ut fallos/utTráfico Mc Mp

1. con escritura directa: 1B por cada escritura, haya fallo o no(No reg/ut)x Fracción escritura x 1B = 4x107 x0,2 = 8x106B/uttotal : 4x107 + 2,4x107 + 0,8x107 = 7,2 x107B/ut

2. con post-escritura: 1 bloque por cada reemplazamiento de bloque sucio(Nº reg/ut) xTFx (frac bloques sucios) x (nº bytes/bloque) =

= 4x107x0,15x0,25x 4 = 6x106B/uttotal : 4x107 + 2,4x107 + 0,6 x107 = 7x107B/ut

Page 12: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

12/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.7Una cache de instrucciones de tipo directo puede en algún caso proporcionar mejor rendimiento que una cache totalmente asociativa con reemplazamiento LRU. Explicar como es posible.

Una cache de instrucciones directa puede ser mejor que una totalmente asociativa si se está ejecutando un bucle que no entra completo en la cache.Un bucle que accede a tres direcciones ABC y se repite ABCABCABCSupongamos caches de dos bloques, de manera que:

• A y C van al primer bloque (marco)• B va al segundo

El resultado es:• En una cache directa tenemos fallo en el acceso a A y C, pero en B siempre acierta• En una cache totalmente asociativa con reemplazo LRU sefalla siempre (los dos últimos bloques referenciados son diferentes del que se referencia)

Page 13: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

13/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.9Considérese un procesador con instrucciones de 32 bits y una cache de instrucciones de 32 bytes con líneas de 8 bytes.

Para los 2 fragmentos de código DLX siguientes, indicar la organización (y sus parámetros) que da lugar a una ejecución con el mínimo número de fallos (si hay varias que produzcan el mismo rendimiento, deberá escogerse la de menor coste hardware).

0 lw r1,100(r2) 0 lw r1,100(r2)1 add r1,r1,r3 1 add r1,r1,r32 sub r4,r5,r1 2 sub r4,r5,r13 j 8 3 j 8……… ……..6 mul r2,r2,r8 6 mul r2,r2,r87 sub r2,r2,r9 7 sub r2,r2,r38 div r8,r1,r4 8 add r8,r1,r09 j 0 9 j 6

Tc x Tb=32 bytes. Tb=8 bytes. Tc=4, la cache tiene 4 bloques, en cada uno de los cuales caben 2 instrucciones. Con 4 bloques sólo hay tres configuraciones distintas de cache:c=0(asoc.); c=1 (2 bloques por conjunto) y c=2 (directa)

0,1,2,3,8,9,0,… 0,1,2,3, 8,9,6,7,8,9,6,…Prog 2Prog 1

Page 14: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

14/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Prog 1: 0,1,2,3,8,9,0,… Prog 2: 0,1,2,3, 8,9,6,7,8,9,6,…Tc x Tb=32 bytes. Tb=8 bytes. Tc=4, la cache tiene 4 bloques, en cada uno de los cuales caben 2 instrucciones. Con 4 bloques sólo hay tres configuraciones distintas de cache:c=0(asoc.); c=1 (2 bloques por conjunto) y c=2 (directa)

Prog 1: 0,1,2,3,8,9,0,…Estos números indican las direcciones de palabra,Con 2 palabras por bloque, sus números de bloque son:

0,1,4, 0,1,4 ….Asignación Directa Asociativa por conjuntos Totalmente

asociativa4 3

0: 0 0 0

0TAG

1: 0 0 14: 1 0 00: 0 0 0

CONFLICTO

2 1 03

0: 0 0 0

TAG

1: 0 0 14: 1 0 00: 0 0 0

2 12 VIAS

NO CONFLICTO

Conjunto 0Conjunto 1

MEJORALTERNATIVA

Page 15: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

15/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Prog 1: 0,1,2,3,8,9,0,… Prog 2: 0,1,2,3, 8,9,6,7,8,9,6,…Tc x Tb=32 bytes. Tb=8 bytes. Tc=4, la cache tiene 4 bloques, en cada uno de los cuales caben 2 instrucciones. Con 4 bloques sólo hay tres configuraciones distintas de cache:c=0(asoc.); c=1 (2 bloques por conjunto) y c=2 (directa)

Prog 2: 0,1,2,3, 8,9,6,7,8,9,6,…Estos números indican las direcciones de palabra,Con 2 palabras por bloque, sus números de bloque son:

0,1,4,3, 4,3,4,….Asignación Directa Asociativa por conjuntos Totalmente

asociativa4 3

0: 0 0 0

0TAG

1: 0 0 14: 1 0 03: 0 1 1

Fallo InicialNo hay conflictos

2 12 VIAS

MEJORALTERNATIVA

4: 1 0 03: 0 1 1

Page 16: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

16/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Escritura directa:

lectura

escritura

Post-Escritura:

Lectura:fallo:

éxito: no transferenciafallo: leer bloque memoriaéxito: escribir palabra en memoriafallo: leer bloque de memoria (Asignación en escritura) + escribir palabra en memoria

éxito: no transferencia

Bloque limpio: leer bloqueBloque sucio: escribir bloque + leer bloque

Escritura: Ídem a a la lectura

Page 17: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

17/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.8Un computador con memoria cache separada de datos e instrucciones tiene las siguientes características:

• El 90% de todas las referencias a instr. generadas por la CPU son encontradas en la cache. • El 80% de todas las referencias a datos generadas por la CPU son encontradas en la cache.• El bloque de la cache de instr. es de cuatro palabras y en cada fallo se lee el bloque completo.

El bloque de la cache de datos es de 2 palabras y en cada fallo se lee el bloque completo.La CPU genera 107 referencias a instrucciones y 2x106 referencias a datos. El 20% de estas referencias son escrituras.El 25% de los bloques en la memoria cache de datos son modificados (escritos) durante su permanencia en ella.

Calcular la anchura de banda media necesaria entre memoria principal y memoria cache en los siguientes casos:

a) Con política escritura directa (write-through) con asignación en escriturab) Con política post-escritura (copy-back) con asignación en escritura

Page 18: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

18/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.8DATOS:

2 x106 reg/ut Bloque:2palabrasTF=20% Escritura: 20% Bloque sucios: 25%

INSTRUCCIONES:107 reg/ut Bloque:4 palabras TF=10%

Tráfico Mp Mc (General)Instrucciones: palabras por ut

(nº reg/ut)x TF x (nº pal/bloque)= 107x0,1x4 = 4x106palabras/ut

fallos/ut fallos/utDatos: palabras por ut

(nº reg/ut) x TFx (nº pal/bloque)= 2 x106x 0,2x2= 8x105 palabras/ut

fallos/ut fallos/utTráfico Mc Mp

1. con escritura directa: 1pal por cada escritura en la datos, haya fallo o no(nº reg/ut)x Fracción escritura x 1pal = 2x106 x0,2x1 = 4x105pal/uttotal : 4x106 + 8x105 + 4x105 = 5,2 x106 palabras/ut

2. con post-escritura: 1 bloque por cada reemplazamiento de bloque sucio(nº reg/ut) xTFx (frac bloques sucios) x (nº bytes/bloque) =

= 2x106x0,2x0,25x 2 = 2x105 palabras/uttotal : 4x106 + 8x105 + 2 x105 = 5x106 palabras/ut

Page 19: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

19/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.10 (examen curso 1999-2000)En un procesador a 300MHz solicita un acceso a memoria cache para recoger una palabra cada ciclo de reloj. Para un determinado programa la tasa de fallos de memoria cache es 0.1, en caso de fallo se procede a reemplazar el bloque de 4 palabras.

La cache utiliza la política de “copy-back” y cada bloque dispone de un bit que indica si se ha modificado desde que llego a la cache. El porcentaje de bloques que se modifican es del 35 %.

Se construye un computador paralelo de memoria compartida con procesadores como este (con caches locales) se conectan a la memoria principal por medio de un bus con un ancho de banda de 5,2 G-palabras/ seg

¿cual es el número máximo de procesadores que soportará esta configuración sin agotar el ancho de banda del bus?

A 300MHz, 300x106 por segundo. Tasa de fallos 0,1 30x106

Uso total del bus 162x106 núm de proc soportados = = 32162 x1065,2x 109

120x106+42x106

Cada fallo lee un bloque (4 palabras) 120x106 palabras/segundo.

Bloque debe escribirse en mem en el reemplazamiento 120x106x0,3542x106pal/seg

Page 20: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

20/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.11 (examen curso 2001-2002)Un computador de 32-bits (palabra de 32 bits) y con una memoria

direccionable en bytes, tiene una cache única de 512 bytes asociativa por conjuntos y con 2 bloques por conjunto.

Cada bloque es de 4 palabras (16 bytes) y con reemplazamiento LRU.

a) Para la siguiente secuencia de referencia indicar si el acceso es un acierto o un fallo. En caso de fallo indicar el tipo (inicial, capacidad, conflicto). Suponer la cache vacía al inicio.

b) Calcular la tasa de aciertos y la tasa de fallos.

Dirección

Acierto/fallo

Tipo

300 1BC 206 109 308 1A1 1B1 2AE 3B2 10C 205 301 3AE 1A8 3A1 1BA

F

I

F

I

F

I

F

I

F F

I

A F

I

F

I

A F F

Cf

F

I

F

Cf

A A

Tasa de aciertos = 4/16=0.25Tasa de fallos= 1-tasa de aciertos =12 /16 =0.75

Cf Cf

Page 21: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

21/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

Problema 4.12Tenemos un procesador a 500 MHz con 2 niveles de cache, memoria principal y un disco para memoria virtual. El primer nivel de cache es separado para datos e instrucciones. Los parámetros del sistema de almacenamiento son los siguientes:

El TLB produce 0.1% de fallos para los datos con una penalización de 40 ciclos (las instrucciones no producen fallos en el TLB). Calcular el tiempo medio de acceso (TAMA) para instrucciones y para datos asumiendo que sólo se hacen lecturas

Tiempo de acceso Tasa de fallos

Tamaño del bloque

Cache nivel 1 1 ciclo 4% datos 1% instr.

64 bytes

Cache nivel 2 20 ciclos+ 1ciclo/64 bits 2% 128 bytesDRAM 100ns+25ns/8 bytes 1% 16K bytesDisco 50ms+20ns/byte 16k bytes

Page 22: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

22/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

TAMAdisco = (5x107ns)+(16.384x20) = 50.327.680ns 25.163.840 ciclos

TAMADRAM = (100ns+25nsx(128bytes/8bytes))+0,01TAMAdisco = = (100ns+25nsx16)+0,01TAMAdisco =

=500ns+503.276,8ns 251888,4 ciclos

TAMAL2 =T.Acierto L2 + Tasa de fallos L2 + Penali L2 ==(20 + (64bytes/64bits)) + 0,02 TAMADRAM==(20 + 8) + 0,02 TAMADRAM= 5065,77ciclos

TAMAinst = 1 + 0,01 xTAMAL2 = 51,66 ciclos

TAMAdatos = 1 + 0,04xTAMAL2 + 0,001x40 = 203,67 ciclos

Problema 4.12

Tasa de fallos del TLB!!

Page 23: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

23/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

EJERCICIO 4.13 (EXAMEN DEL CURSO 2008-2009):Tenemos una memoria principal de 64Kb direccionable en bytes.Consideremos una memoria caché de:

• 4Kb con organización directa• Líneas de 256 bytes• Con precarga en todos los casos (fallo/ acierto) del bloque siguiente

La siguiente secuencia de accesos a memoria principal es:04F5h, 11E0h, 1500h, 2000h, 241Fh,16FFh, 1233h

MOSTRAR EL CONTENIDO DE LA CACHÉ, indicando con los símbolos:“*” un fallo“+” un acierto“-” una precarga.

Como el tamaño de la memoria principal es de 64Kb,necesitamos 16 bits para direccionarla.

Como las líneas son de 256 bytes:• los últimos 8 bits identifican el byte, • los primeros 8 bits para identificar el bloque.

16 bits

Como la caché es de 4Kb, con líneas de 256bits tenemos • 16 Marcos de Bloque (M-B)

• para 16 M-B necesitamos 4 bits

(8) Selector de byte(4) IC(4) TAG

Page 24: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

24/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

M-B0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

TAGs del contenido de la cache

Page 25: CPU Resolución de los Ejercicios de la Hoja 4 - fdi.ucm.es Hoja 4 (Sol Probl... · Curso 2010-2011 Resolución de los ... de tiempo(ut). Cada una de estas referencias se suponen

25/34

CPU

Cache OnChip

Cache OnBoard

RAM

Disco Duro

Arquitectura e Ingeniería de ComputadoresCurso 2010-2011

M-B01234

56789

101112131415

04F5

0*0-

TAGs del contenido de la cache

11E0

1*1-

0*0-

1500

11

0*1*1-

20002*2-

011

241F22

2*2-1

16FF22

221+1-

1233221+1-2211

04F5

0*0-

11E0

1*1-

00

1500

11

01*1-

20002*2-

1

011

241F221

2*2-1

16FF221

221+1-