Anda di halaman 1dari 6

5.

1
a. [10] <5.2> P0: leer 120
P0: leer 120 P0.B0: (S, 120, 0020) retornar 0020

b. [10] <5.2> P0: escribir 120 80


P0: escribir 120 80 P0.B0: (M, 120, 0080)
P3.B0: (I, 120, 0020)

c. [10] <5.2> P3: escribir 120 80


P3: escribir 120 80 P3.B0: (M, 120, 0080)

d. [10] <5.2> P1: leer 110


P1: leer 110 P1.B2: (S, 110, 0010) retornar 0010

e. [10] <5.2> P0: escribir 108 48


P0: escribir 108 48 P0.B1: (M, 108, 0048)

f. [10] <5.2> P0: escribir 130 78


P0: escribir 130 78 P0.B2: (M, 130, 0078)
M: 110 0030 (contestar a la memoria)

g. [10] <5.2> P3: escribir 130 78

P3: escribir 130 78 P3.B2: (M, 130, 0078)


5.3 Diagrama de protocolo

Escribir el error o invalidar en el bloque

Compartido
Invalido
Leer CPU

Leer el error en el Bus


Contester al bloque

Leer el acierto del


Abortar acceso a la memoria

CPU
Escribir el error en el Bus

CPU
ESCRIBIR
Escribir el error
para este bloque
Leer errores
Owned
Modificado
Leer lo anterior en el bloque
abortar acceso a la memoria

Escribir el acierto del CPU


Lugar invalido en el bus
Leer el acierto del
Leer el acierto del CPU CPU
escribir el acierto del CPU

5.6
a. [20] <5.2> P0: leer 100
P0: escribir 100 40
P0: leer 100, leer error, ingresar en memoria, no compartir MSI: S, MESI: E
P0: escribir 100 40, MSI: enviar anular, MESI: transicin desde E para M
MSI: 100 + 15 = 115 detener ciclo
MESI: 100 + 0 = 100 detener ciclo
b. [20] <5.2> P0: leer 120
P0: escribir 120 60
P0: leer 120, leer error, ingresar en memoria, compartir ambos S
P0: escribir 120 60, ambos enviar anularos
Ambos: 100 + 15 = 115 detener ciclo

c. [20] <5.2> P0: leer 100


P0: leer 120
P0: leer 100, leer error, ingresar en memoria, no compartir MSI: S, MESI:E
P0: leer 120, leer error, memoria, remplazar 120 de S E
Ambos: 100 +100 = 200 detener ciclo, remplazar de E

d. [20] <5.2> P0: leer 100


P1: escribir 100 60
P0: leer 100, leer error, ingresar en memoria, no compartir MSI: S, MESI:E
P1: escribir 100 60, escribir error, ingresar en memoria independientemente del
protocolo
Ambos: 100 + 100 = 200 detener ciclo, no suministrar datos en estado E

e. [20] <5.2> P0: leer 100


P0: escribir 100 60
P1: escribir 100 40
P0: leer 100, leer error, ingresar en memoria, no compartir MSI: S, MESI: E
P0: escribir 100 60, MSI: enviar dato anularo, MESI: transmitir de E para M
P1: escribir 100 40, escribir error, P0s a cache, escribir el respaldo de los datos en
memoria
MSI: 100 +15 + 40 +10 = 165 detener ciclo
MESI: 100 + 0 +40 + 10 = 150 detener ciclo

5.9

a. [10] <5.4> P0,0: leer 100


L1 acertar retornar 0x0010, igual estado (M)

b. [10] <5.4> P0,0: leer 128


L1 error, remplazar B1 en L1
L2 error, remplazar B1 en L2 con la direccin 108.
L1 tendr 128 en B1 (compartido)
L2 tendr 128 en B1 (DS, P0,0)
acceso al directorio de la memoria108 llegan <DS, C1>
acceso al directorio de la memoria128 llegan <DS, C0>

c. [10] <5.4> P0,0: escribir 128 78


L1 error, remplazar B1 en L1
L2 error, remplazar B1 en L2 con la direccin 108.L1 tendr 128 en B1 (modificar)
L2 tendr 128 en B1 (DM, P0,0)
acceso al directorio de la memoria108 llegan <DS, C1>
acceso al directorio de la memoria128 llegan <DM, C0>

d. [10] <5.4> P0,0: leer 120


L1 error, remplazar B0 en L1 con la direccin 100, y retorna 0x0020.
L2 error, remplazar B0 en L2 con la direccin 100.
L1 tendr 120 en B0 (compartido)
L2 tendr 120 en B0(DS, P0,0)
acceso al directorio de la memoria120 llegan <DS, C0, C1>

e. [15] <5.4> P0,0: leer 120


P1, 0: leer 120
L1 error, remplazar B0 en L1 por P0,0 con la direccin 100, y retorna 0x0020.
L2 error, remplazar B0 en L2 con la direccin 100.
P1,0: leer 120
L1 error, remplazar B0 en L1 por P1,0 con la direccin 130, y retorna 0x0020.
L2 hit
P0,0 L1 tendr 120 en B0 (compartido)
P0,0 L1 tendr 120 en B0 (compartido)
L2 tendr 120 en B0 (DS, P0,0)
acceso al directorio de la memoria120 llegan <DS, C0, C1>

f. [15] <5.4> P0, 0: leer 120


P1,0: escribir 120 80

L1 error, remplazar B0 en L1 por P0,0 con la direccin 100, y retorna 0x0020.


L2 error, remplazar B0 en L2 con la direccin 100.
P1,0: escribir 120 80
L1 error, remplazar B0 en L1 por P1,0 con la direccin 130. anular otras copias.
L2 hit.
P0,0 L1 tendr 120 en B0 (anular)
P0,0 L1 tendr 120 en B0 (modificar)
P3,1 L1 tendr 120 en B0 (anular)
L2 S,0 tendr 120 en B0 (DM, P0,0)
L2 S,1 tendr 120 en B0 (D I, -)
acceso al directorio de la memoria120 llegan <D M, C0 >

g. [15] <5.4> P0, 0: escribir 120 80


P1,0: leer 120

L1 error, remplazar B0 en L1 por P0,0 con la direccin 100. anular otras copias.
L2 error, remplazar B0 en L2 con la direccin 100.
P1,0: leer 120
L1 error, cambiar el estado compartido y retorna 0x0080
L2 hit.
P0,0 L1 tendr 120 en B0 (compartido)
P0,0 L1 tendr 120 en B0 (compartido)
P3,1 L1 tendr 120 en B0 (anular)
L2 S,0 tendr 120 en B0 (DS, P0,0;P1,0)
L2 S,1 tendr 120 en B0 (DI, -)
acceso al directorio de la memoria 120 llegan <DS, C0>

h. [15] <5.4> P0,0: escribir 120 80


P1,0: escribir 120 90

L1 error, remplazar B0 en L1 por P0,0 con la direccin 100. anular otras copias.
L2 error, remplazar B0 en L2 con la direccin 100.
P1,0: escribir 120 90
L1 error, remplazar B0 en L1 por P1,0 con la direccin 130. anular otras copias.
L2 hit.
P0,0 L1 tendr 120 en B0 (anular)
P0,0 L1 tendr 120 en B0 (modificar)
P3,1 L1 tendr 120 en B0 (anular)
L2 S,0 tendr 120 en B0 (DM, P1,0)
L2 S,1tendr 120 en B0 (D I, -)
acceso al directorio de la memoria120 llegan <DM, C0>

5.16
Todos los protocolos deben garantizar el progreso hacia adelante, incluso en el caso
de acceso a la memoria en el peor de los casos. Es fundamental que la garanta de
aplicacin del protocolo, al menos con una probabilidad, de que un procesador ser
capaz de realizar al menos una operacin en memoria cada vez que completa un error
de cach, de lo contrario, variara el resultado.

Considere el cdigo de bloqueo:


tas:
DADDUI R2, R0, #1
lockit:
EXCH R2, 0(R1)
BNEZ R2, lockit

Si todos los procesadores estn girando en el mismo bucle, todos ellos emitirn
repetidamente mensajes. Si no se garantiza que un procesador pueda realizar al
menos una instruccin, entonces cada uno podra robar el bloque del otro
repetidamente. En lo peor de los casos, ningn procesador podra realizar con xito el
intercambio.

Anda mungkin juga menyukai