Está en la página 1de 16

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1

HOJA N 2
7.- Un memoria tiene 16 Mbytes de capacidad con palabras de 32 bits y trabaja con una
memoria cach de 256 Kb dividida en 256 bloques agrupados en conjuntos de 2.

a. Cuntos bits hay en cada uno de los campos de direccin de memoria?
b. Si a partir de cierto momento la secuencia de direcciones solicitadas por la CPU
es 0x050010, 0x00FE01, 0x108010, 0x000010, 0x00EF00, 0x10801A,
0x1F00F1, 0x0A080F, 0x0FFF25, 0x25EF4F, 0x0ABDE3, 0x0FFF43,
0x0A080F, 0x0080DE. Explicar razonadamente cul ser la evolucin de los
registros de etiqueta de los bloques de memoria cach afectados suponiendo
que el algoritmo de reemplazo usado es el L.R.U.. Especificar la evolucin de los
contadores de uso de cada uno de estos bloques. Supngase que inicialmente los
bloques afectados de memoria cach estn vacos.



Memoria cache 256 Kb 256 bloques de 1Kb.
Memoria principal 16 Mb 16 K bloques de 1 Kb.

N de conjuntos = 256/2 = 128 conjuntos de 2 bloques

Si el tamao de palabra es 32 bits las direcciones de memoria sern de 22 bits, o
sea tengo una memoria de 4 Mpalabras de 32 bits por palabra

El formato de direccin de memoria ser:

Etiqueta (7 bits) Conjunto (7 bits) Palabra (8 bits)

Para las direcciones indicadas tendremos:

Direccin Etiqueta Conjunto Palabra
050010H 0AH 00H 10H
00FE01H 01H 7EH 01H
108010H 21H 00H 10H
000010H 00H 00H 10H
00EF00H 01H 6FH 00H
10801AH 21H 00H 1AH
1F00F1H 3EH 00H F1H
0A080FH 14H 08H 0FH
0FFF25H 1FH 7FH 25H
25EF4FH 4BH 6FH 4FH
0ABDE3H 15H 3DH E3H
0FFF43H 1FH 7FH 43H
0A080FH 14H 08H 0FH
0080DEH 01H 00H DEH


Los conjuntos involucrados son: 00H, 08H, 3DH, 6FH, 7EH y 7FH

La evolucin del contenido de los bloques de la cache es la siguiente:
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2



1 2 3 4 5 6 7 8 9 10 11 12 13 14
0A 1 2 00 1 2 3E 1 2 3 4 5 6 7
00
1 2 21 1 2 0 1 2 3 4 5 6 7 01
1 2 3 4 5 6 7 14 1 2 3 4 5 6
08
1 2 3 4 5 6 7 8 9 10 11 12 14 1
1 2 3 4 5 6 7 8 9 10 15 1 2 3
3D
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 4 01 6 2 3 4 5 6 7 8 9
6F
1 2 3 4 5 6 7 8 9 4B 1 2 3 4
1 01 1 2 3 4 5 6 7 8 9 10 11 12
7E
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 4 5 6 7 8 1F 1 2 0 1 2
7F
1 2 3 4 5 6 7 8 9 10 11 12 13 14

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2

8. Sea un ordenador con una memoria de 1 Mb de capacidad y longitud de palabra de 32
bits. Esta mquina tiene una memoria cach de 16 Kb dividida en bloques de 64 bytes.
Supongamos que, a partir de un cierto momento, la secuencia de direcciones solicitadas por
la CPU es : 0x01FCA, 0x05FCD, 0x0D7C0, 0xD5C7, 0x027C4, 0x04FCB, 0x155C4,
0x04FC0, 0x077C3, 0x047C0, 0x185C3. Las funciones de mapa que pueden usarse son:
i. Correspondencia directa
ii. Correspondencia asociativa
iii. Correspondencia asociativa por conjuntos de 2 vias
c. Cuntos bits tiene cada uno de los campos de direccin en cada caso?
d. Comparar las funciones de mapa utilizando el algoritmo de reemplazo LRU



Tamao bloque 64 bytes ( 2
4
palabras de 32 bits) campo palabra de 4 bits
N de bloques en cach : 2
8
bloques
N de bloques en memoria principal : 2
14
bloques

Entonces tendremos los siguientes formatos :

Directa :


Asociativa :

Asociativa por conjuntos de 2 bloques


Etiqueta 7 bits Conjunto 7 bits Palabra 4 bits

Vamos a ver la evolucin de la cach al ejecutar el programa anterior en los tres
supuestos:

Directa:
Bloques 1 2 3 4 5 6 7 8 9 10 11
5C 0D 0D 0D 15 15 15 15 18
7C 0D 0D 02 02 02 02 07 04 04
FC 01 05 05 05 05 04 04 04 04 04 04
Se producen 3 faltas fras y 7 faltas por conflicto.

Asociativa: en este caso si partimos de la cach vaca se producen 10 faltas fras.

Asociativa por conjuntos de 2 vias:
Conjunto 1 2 3 4 5 6 7 8 9 10 11
1 1 1 1 1 1 1 30
5C
2 2 2 2 2
03 03 1A 1A 1A 09 09 09 09 08 08
7C
0B 0B 0B 04 04 04 04 0E 0E 0E
En este caso tenemos 4 faltas fras y 6 faltas por conflicto.
Etiqueta 6 bits Bloque 8 bits Palabra 4 bits
Etiqueta 14 bits Palabra 4 bits
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
9.- Se dispone de un computador con memoria principal de 16 Mpalabras y tiempo de
acceso de 100 ns y una memoria cach con organizacin asociativa por conjuntos con las
siguientes caractersticas: tiempo de acceso 40 ns, 512 conjuntos, 2 bloques por conjunto,
4 palabras por bloque, poltica de reemplazo FIFO, lectura siempre a travs de la cach y
postescritura con ubicacin en escritura (escribe primero en la cach y cuando se desaloja
el bloque escribe en memoria principal).
En un instante determinado se empieza a ejecutar el siguiente fragmento de programa:
ADD (R1),(R2)
INC R2
ADD (R1),(R2)
CALL RUTINA
.........
RUTINA: PUSH R3

En ese instante inicial el contenido de los registros y direcciones implicadas es el
siguiente:
R1= 0x808, R2= 0x814, R3= 0x52, PC= 0x10, SP= 0x1810, RUTINA= 0x1008

En ese instante el contenido de la cach es el siguiente:
Conjunto 2 Conjunto 3 Conjunto 4 Conjunto 5
Etiqueta bloque
1
1 (*) 8 0 (*) 1
Etiqueta bloque
2
0 2(*) 2 3 (*)

Donde (*) indica el bloque mas antiguo del conjunto.

Generar la traza de este fragmento de programa.
Indicar el tiempo que tarda en ejecutarse el fragmento de programa
considerado, si tenemos en cuenta que el tiempo que tarda en ejecutar las
instrucciones aritmticas es de 10 ns y que todas las instrucciones ocupan una
palabra de memoria.


A partir de los datos iniciales tendremos:

Bloque: 4 palabras = 2
2
; luego el campo de palabra es de 2 bits
Cache: 512 conjuntos = 2
9
; luego el campo de conjunto ser de 9 bits
Memoria principal: 16Mpalabras 2
24
palabras 2
22
bloques 2
13

bloques/conjunto ; luego el campo de etiqueta tiene 13 bits


Etiqueta 13 bits Conjunto 9 bits Palabra 2 bits

Vamos a ver como evoluciona la memoria cach al ir ejecutando el programa:

Direccin Etiqueta Conjunto Palabra Accin PC
000010 0 4 0 Leer instruccin 011
000808 1 2 0 Leer operando (r1) 011
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
000814 1 5 0 Leer operando (r2) 011
000808 1 2 0 Escribir resultado (r1) 011
000011 0 4 1 Leer instruccin 012
000012 0 4 2 Leer instruccin 013
000808 1 2 0 Leer operando (r1) 013
000815 1 5 1 Leer operando (r2) 013
000808 1 2 0 Escribir resultado 013
013 0 4 3 Leer instruccin 014
00180F 3 3 3 Guardar PC en pila 01008
001008 2 2 1 Leer instruccin 01009
00180E 3 3 2 Guardar R3 en pila 01009

Conjuntos Inic. 10 808 814 808 11 12 808 815 808 13 180F 1008 180E
1 1 1 1 1 2 2
0
8 3
2 3 3
0 0 0 0 0 4
2
1 1 1 5
3
L L L E L L L L E L E L E

Para la segunda pregunta tendremos:


Instruccin Direccin Accin Tiempo Observaciones
000010 Leer instruccin 40
000808 Leer operando (r1) 40
000814 Leer operando (r2) 40
Sumar 10
ADD
000808 Escribir resultado (r1) 40
000011 Leer instruccin 40 INC
Incrementar 10
000012 Leer instruccin 40
000808 Leer operando (r1) 40
000815 Leer operando (r2) 40
Sumar 10
ADD
000808 Escribir resultado 40
013 Leer instruccin 40 CALL
00180F Guardar PC en pila 40 Fallo 100+ 100
+ 40 (+)
001008 Leer instruccin 40 Fallo 100 +40 PUSH
00180E Guardar R3 en pila 40
Total 550 ns + 380 ns

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
(+) Suponemos que en 100 ns se reescribe el bloque descargado en la memoria principal, en
otros 100 ns se carga el bloque de memoria principal en la cache. Y luego se vuelve a leer la
palabra de nuevo.

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
10.- Sea un sistema dotado de memoria cache de cdigo de 8Kpalabras con
correspondencia asociativa por conjuntos de dos bloques y 512 bloques de capacidad. El
tiempo de acceso a la memoria principal es de 1 s y el de acceso a la cache de 100 ns. En
este sistema se ejecuta un programa cuyo cdigo se extiende desde la direccin 00400H
hasta la 03500H. En este programa existen dos bucles anidados; el mas interno se ejecuta
10 veces y comprende desde la direccin 012FDH a la 014E0H; el bucle exterior se
ejecuta 2 veces y sus instrucciones se encuentran entre las direcciones 00F00H y
030F0H. Dentro del bucle mas interno se accede a 5 variables dos veces y al principio se
accede a estas variables una sola vez. Suponiendo que el cdigo es lineal:
Cunto tiempo se emplear en la ejecucin del programa si no est instalada la
memoria cache?
Calcular el ndice de aciertos para este programa cuando se instala una memoria cache
con el algoritmo FIFO
Cunto tiempo se emplear en leer las instrucciones del programa con la cache
instalada ?


Tenemos 256 conjuntos y bloques de 16 palabras, como las direcciones de memoria
principal son de 20 bits, las direcciones de memoria tienen el siguiente formato:

Etiqueta (8 bits) Conjunto (8 bits) Palabra (4 bits)


La estructura del programa es la siguiente:

Inicio: 00400H
-----
00EFFH
Bucle: 00F00H
------
012FCH
Bucle1: 012FDH
--(10 veces)---
Fin Bucle1 014E0H
014E1H
---(2 veces)--
Fin Bucle 030F0H
030F1H
-----
Fin 03500H


El nmero de instrucciones a ejecutar es:

Parte A: De 00400H a 00EFFH tenemos : 11x 256 = 2816 instrucciones
Parte B De 00F00H a 012FCH tenemos : 3FCH = 1020 instrucciones
Parte C De 012FDH a 014E0H tenemos : 1E3H = 483 instrucciones
Parte D De 014E1H a 030F0 tenemos : 1C0FH = 7183 instrucciones
Parte E De 030F1H a 03500H tenemos : 40FH = 1039 instrucciones

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
En total tendremos: 2816 + 2x(1020 + 10x 483 + 7183) + 1039 = 29921 instrucciones

Adems tenemos accesos a la memoria para leer las variables , el total de accesos por
datos es :
5 + 10x5x2 = 105 accesos a memoria.

El n total de accesos a memoria principal es de 30131 por tanto el tiempo total es 30131
seg.

Para el segundo punto vamos a comprobar la evolucin de la memoria cach al ejecutar el
programa:

Conjunto Parte A Parte B Parte C Parte D Parte B2 Parte C2 Parte D2 Parte E
01 03 02
00
02 01 03


01 03 02
0F
02 01 03
01 03
10
02


01 03
2F
02
01 03
30
02


01 03
3F
02
00 02
40
01 03


00 02
4E
01 03
00 02
4F
01 03
00 02
50
01 03


00 02
EF
01
00 02 01
F0
01 00 02


00 02 01
FF
01 00 02
Fallos 176 64 31 449 32 0 64 65

Al comenzar a ejecutar el programa se producen fallos por inicializacin hasta llenar la
cach (512 fallos) . En ese momento se ha ejecutado hasta la instruccin 023FF, a partir de
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
ah se producen fallos por conflicto que pondremos en las columnas sucesivas. Al final del
bucle externo tendremos en la cach la situacin indicada en la segunda columna.


El n total de fallos es de 949

N de referencias = 29921

Indice de aciertos = (29921-949)/29921 = 0,97

En cuanto a la tercera pregunta el tiempo requerido ser:

896 * 1 s + 29921 * 100ns = 3888,1 s





































ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
11.- Un computador tiene una memoria principal de 64Kpalabras de 16 bits. Tambin tiene
una memoria cach totalmente asociativa de 2Kpalabras y 256 palabras por bloque.
Suponemos que la cach est inicialmente vaca y que el algoritmo de reemplazo es MRU
(Most Recently Used, ms recientemente usado).
Suponemos que la CPU ejecuta un bucle 5 veces, en el que accede a 2301 palabras, desde la
direccin 0 a la 2300. Si la cach es 7 veces ms rpida que la memoria principal, se pide:
a) Formato de direcciones de memoria.
b) Calcular el tiempo que se tarda en realizar estos accesos a memoria principal si el
computador no tuviera memoria cach.
c) Evolucin de la memoria cach al ejecutar los bucles.
d) Calcular cuntos fallos de cach se producen y sus causas
e) Si cada vez que se produce un fallo primero se mueve el bloque completo de
memoria principal a memoria cach y luego se lee el dato de la cach, calcular el
tiempo que tarda la CPU en realizar estos accesos a memoria.
Problemas de estructura y tecnologa de computadores. S. Dormido y otros prob. 2-13

a) Las direcciones son de 16 bits al tener 64 Kpalabras. El campo de palabra es de 8 bits
porque cada bloque tiene 256 palabras. La memoria principal tiene 256 bloques, por tanto el
campo de etiqueta es de 8 bits.

Etiqueta (8 bits) Palabra (8 bits)

b) Si el tiempo de acceso a cach t
c
, a memoria principal ser de 7 t
c
. Por lo que el tiempo
total ser : 2301x7 t
c
x5

c) Vamos a construir una tabla auxiliar para ver los bloques que intervienen en el bucle.

Direcciones en decimal Direccional en hexadecimal Etiqueta de bloque
0-255 0000-00FF 00
256-511 0100-01FF 01
512-767 0200-02FF 02
768-1023 0300-03FF 03
1024-1279 0400-04FF 04
1280-1535 0500-05FF 05
1536-1791 0600-06FF 06
1780-2047 0700-07FF 07
2048-2303 0800-08FF 08

La cach tiene 8 bloques (2Kpalabras/256 palabras/bloque). Su evolucin es la siguiente:

Bloque cach Bucle 1 Bucle 2 Bucle 3 Bucle 4 Bucle 5
0 0 0 0 0 0
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3
4 4 4 4 4/5 5
5 5 5 5/6 6 6
6 6 6/7 7 7 7
7 7/8 8 8 8 8

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
En el bucle 1 al llegar el bloque 8 desaloja al ltimo que se ha usado que es el 7. En los
dems bucles el problema es similar.

d) Segn la tabla anterior se producen 8 fallos en fro y 5 fallos por capacidad.

e) En cada acceso fallido se tiene que cargar la cach con el bloque en cuestin y luego se
vuelve a acceder a la cach para leer la palabra. Tendremos pues dos componentes en el
tiempo total:
Tiempo de lectura de las 2301x5 palabras en cach = 2301x5xt
c

Tiempo de carga de los bloques en cache = 13x256x7t
c


Tiempo total = (2301x5 + 13x256)xt
c

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
12.- Un computador tiene una memoria principal de 32Kpalabras de 16 bits. Tiene tambin
una cache de 4K palabras dividida en conjuntos de 4 bloques con 64 palabras por bloque.
Suponemos que la cache est inicialmente vaca. El procesador lee palabras de las
posiciones 0, 1, 2, , 4351 en este orden. Entonces repite esta secuencia de lectura 9
veces mas. La cache es 10 veces mas rpida que la memoria principal. Estime la mejora
resultante por el uso de la memoria cache, suponiendo una poltica LRU de reemplazo de
bloques.
Problemas de estructura y tecnologa de computadores. S. Dormido y otros prob. 2-8

El tamao del bloque es de 64 palabras = 2
6
; luego el campo de palabra es de 6 bits.
La cach tiene 4K palabras = 2
12
; luego tiene 64 bloques y 16 conjuntos; por tanto el campo
de conjunto tiene 4 bits.
La memoria principal tiene 32K palabras = 2
15
; luego tiene 512 bloques y 32 bloques por
conjunto ; por tanto el campo de etiqueta es de 5 bits.

El formato de direcciones ser pues:

Etiqueta (5 bits) Conjunto (4 bits) Palabra (6 bits)

Si no tenemos instalada la memoria cach, llamando 10T al tiempo de acceso a memoria
principal, tendremos que el tiempo que tarda en ejecutarse el programa es:

T
MP
= 4352 x 10 x 10T = 435.200T

Si tenemos memoria cach el tiempo total ser el que corresponde a la lectura en memoria
cach (suponemos que siempre lee de la cach), mas el tiempo de gestin de fallos . En este
sentido podemos suponer que el tiempo de escritura del bloque en la cach se superpone
con el de lectura en memoria principal y que el tiempo de bsqueda de etiquetas en la
cach es despreciable al tratarse de memoria asociativa.

B1 B2 B3 B4 etc
0
/64
64/48
16 16/0/64
32 32/16
Conjunto
0
48 48/32
1/65 65/49
17 17/1/65
33 33/17
Conjunto
1
49 49/33
2/66 66/50
18 18/2/66
34 34/18
Conjunto
2
50 50/34
3/67 67/51
19 19/3/67
35 35/19
Conjunto
3
51 51/35
Conjunto 4 4
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
20 20
36 36
4
52 52




15 15
31 31
47 47
Conjunto
15
63 63




Las 4352 primeras palabras corresponden a 68 bloques de la cach. Como la cach slo
tiene 64 bloques se llenarn todos ellos y adems tendremos que efectuar las lecturas
correspondientes a los bloques 64, 65, 66, 67. que reemplazarn a los bloques 0,1,2 y 3 de
los conjuntos 0,1,2,3.

Suponemos que el tiempo necesario para traer un bloque desde la memoria principal a la
cach es la suma del tiempo empleado en traer cada una de las palabras del bloque.

El tiempo empleado en este primer bucle ser la suma del tiempo que se tarda en traer
todos los bloques a la cach, mas el tiempo de lectura de cada palabra en la cach, menos el
tiempo de las 68 primeras palabras de cada bloque cuya lectura se superpone con la
escritura del bloque en la cach . Tendremos pues:


T
1
= 4352 palabras x 10T/palabra + 4352 palabras x 1T/palabra - 68 palabras x 1T/palabra
= 47804 T

Para los dems bucles como se producen 5 fallos de bloque en 4 conjunto tendremos:

T
2
= 5x4x64 palabras x 10T/palabra + 4352 x 1T/palabra 20 palabrasx 1T/palabra =
17132 T

Por tanto en total T = 47804 T + 9x 17132T = 201992T

Luego la mejora total obtenida es (435200- 201992) /435200 = 0.538 casi un 54%









ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2


13.- Un computador tiene una memoria principal de 64Kpalabras de 16 bits y una cach de
8K palabras con correspondencia asociativa por conjuntos de 4 lneas de 16 palabras cada
una. La CPU ejecuta un programa que comienza en la direccin 4352 y termina en la
direccin 12591 repitiendo la secuencia del programa 5 veces mas. Teniendo en cuenta que
el algoritmo de reemplazo es el FIFO y que la memoria principal tiene un tiempo de acceso
de 200 ns y la cach de 40 ns y adems est vaca inicialmente. Se pide:
a) Calcular el n de bits que utiliza cada campo del registro de direcciones de la
memoria principal.
b) Calcular el n de palabras que tiene el programa
c) Calcular la cantidad de bloques que tiene el programa y los nmeros de bloque que le
corresponden en la memoria principal.
d) Calcular la direccin de inicio y la direccin final de los primeros y los dos ltimos
bloques del programa, tal y como se encuentra ubicado en memoria principal.
e) Calcular la correspondencia entre cada bloque de la memoria principal y el conjunto
de la cach.
f) Calcular el tiempo que tarda en ejecutarse el programa si no hubiera memoria
cach.
g) Calcular el tiempo que tarda en ejecutarse el programa con memoria cach.
h) Calcular el % de mejora que supone la utilizacin de memoria cach.
Nota: La primera palabra de cada bloque se transmite directamente a la CPU a la vez que se
transmite el bloque entero a la memoria cach.

Estructura de computadores A. Soriano y otros pag. 168

a) Tenemos 16 palabras por bloque luego el campo de palabra es de 4 bits. El n de
bloques de la cach es de 2
13
/16 = 2
9
= 512 . Luego el n de conjunto es de 128 y por tanto
el campo de conjunto es de 7 bits. Por ltimo, el n de bloques de memoria principal es
2
16
/16 = 2
12
y a cada conjunto le corresponden 32 bloques por lo que el campo de etiqueta
es de 5 bits.
Etiqueta (5 bits) Conjunto (7 bits) Palabra (4 bits)

b) Comienza en la 4352 y termina en la 12591 por tanto son 8240 palabras

c) La direccin inicial es 4352 que es la palabra 0 del bloque 272 (dividiendo 4352 entre
16 se obtiene de cociente 272 y de resto 0). La direccin final es 12591 que es la palabra
15 del bloque 786.
En total tiene 515 bloques.

d) Las direcciones pedidas son:

inicio
272
= n bloque X 16 = 272 x16 = 4352
final
272
= n bloque x 16 + 15 = 272x16+15 = 4367
inicio
273
= 4368
final
273
= 4383
inicio
785
= 12560
final
785
= 12575
inicio
786
= 12576
final
786
= 12591
ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2

e) La correspondencia es asociativa por conjuntos luego a cada bloque de memoria
principal se le asocia un bloque del conjunto que se obtiene calculando el resto de la divisin
entera del n de bloque de memoria principal y 128.

f) En ausencia de cach el tiempo ser = 8240x6x200 = 9888000 ns = 9.888 ms

g) Tenemos que calcular los fallos de bloque al ejecutar el programa.

En el primer bucle se rellena la cach como se indica en la primera columna de la tabla
siguiente:

Conjunto Bucle1 Bucle 2 Bucle 3 Bucle 4 Bucle 5 Bucle 6
384 384
512 512
640 640
0
768 768

399 399
527 527
655 655
15
783 783
272/784 784/656
400 400/272/784
528 528/400
16
656 656/528
273/785 785/657
401 401/273/785
529 529/401
17
657 657/529
274/786 786/658
402 402/274/786
530 530/402
18
658 658/530
275 275
403 403
531 531
19
659 659

383 383
511 511
639 639
127
767 767

donde vemos que se comienza a llenar por el bloque 272 en el conjunto 16 y llena la cache
totalmente y produce 3 fallos por conflicto en los bloques 784,785 y 786.

ESTRUCTURA DE COMPUTADORES PROBLEMAS DEL TEMA 1
HOJA N 2
En el bucle 2 y los siguientes tenemos 5 fallos de bloque en 3 conjuntos .

Por lo tanto los tiempos empleados sern :

T
1
= T
fallos
+ T
aciertos
= 8240 x 200 ns + (8240 x 40 ns 515x40 ns) = 1,957 ms

T
2
= T
fallos
+ T
aciertos
= 5 x 3 x 16 x 200 ns + (8240 x 40 ns -5 x 3 x 40 ns) = 377s

Luego en total T = T
1
+ 5xT
2
= 3.842 ms


h) Luego el porcentaje de mejora es (9.888-3.842)/9.888 = 0.6114 o sea el 61,1%

También podría gustarte