PracticaSMP JuanCarlosFernandez

You might also like

Download as pdf
Download as pdf
You are on page 1of 3
Juan Carlos Femandez Gallardo PRACTICA SMP-Cache Inicialmente todos los bloques de las cachés estén vacios y en estado I. Sabemos que todos los procesadores van a solicitar un mismo bloque. 2Qué va a suceder? Ejecute el primer paso de la simulacién y afiada al diagrama el arco correspondiente al evento ocurrido (incluya la accién que se produce y si es fallo o acierto). éCambiaré el arco si el bloque solicitado ya estuviese en estado S? PO lanza peticién de lectura BusRd y leera el bloque desde la memoria principal. El resto de procesadores deberdn esperar a que acabe PO. Si esté en M se mantiene igual y se lanza acierto en lectura cache. Avance hasta el paso 17 de la simulacién. PO va a escribir en un bloque que todos los procesadores tienen en estado S. Qué sucedera? Represente en el diagrama lo que sucedera con el bloque que va a ser escrito, y el correspondiente al mismo bloque en el resto de cachés cuando reciban la pe Se lanza lectura exclusiva BusRdk, esto invalida la copia de este bloque en los demas procesadores, PO pasa a M y el resto de procesadores a | En el siguiente paso, P1, que se habia quedado esperando para escribir el mismo bloque en el anterior paso, quiere acceder al bloque para escritura. Qué sucederé? Represente en el grafo la accién en la caché de P1y en el resto de cachés, que responderdn a la peticién en el bus. Cuando el bus quede libre de PO, P1 lanza una BusRdx de PO que tiene el bloque aM, e! resto de procesadores pasan a I Avance hasta el paso 19. P2 va a leer el bloque que fue escrito en el paso anterior. Dado que lo tiene invalidado, va a colocar Read Miss (Fallo de lectura) en el bus. Qué hard P1 (tiene el dato M) al detectar Read Miss (Fallo de lectura) en el bus? Represéntelo en el diagrama. Si en P1 esta el bloque en My se detecta fallo de lectura en el bus, se coloca el bloque en el bus para que P2 lo pueda leer. Luego se almacena el bloque en la memoria principal. Juan Carlos Femandez Gallardo En el paso 55 (no avance atin hasta él), P2 necesita acceder para escribir sobre el bloque 0. Este bloque no esta cargado en caché y el bloque de caché donde se debe cargar esté ocupado por el bloque 106560, en estado M. Antes de avanzar hasta el paso 55, piense qué suceder4 y represéntelo al diagrama. Avance al paso 55, zCoincide con lo que habia pensado? P2 hace PrWr y recibe fallo en caché, por lo que se realiza una BusRdx, se le concede el bus a P2y P1 pasa el bloque 0. Como el bloque esta ocupade, se realiza BusWb de P2 del bloque 106560 y se transfiere este a memoria principal, por lo que queda libre en caché y se puede escribir en el bloque 0. Si, coincide. En el paso 1208, PO necesita acceder para escritura al bloque 114816. El bloque no se encuentra en la caché y ademas el bloque donde debe ser almacenado esta ocupado por otro bloque en estado S. ,Qué ocurrird en la caché de PO? Dibuje en el diagrama el arco que representa lo ocurrido. El bloque que ha sido accedido para escritura figura como S en las cachés de los procesadores P2 y P3. Qué ocurrira en las cachés de estos procesadores cuando reciban la peticién generada por la caché de PO? Represéntelo en el diagrama. Para comprobar si esté en lo cierto, compruebe el contenido de las cachés de P2 y P3 tras ejecutar el paso 1208. PO lee el bus y pide el bloque que queremos, borra el que almacenaba previamente que solo habia leido, luego PO hace un BusRdx, P2 y P3 ya pueden acceder al bloque que quieren escribir, y luego, pasara a estado | después de haber sido escrito en la caché de P2 y P3. Qué ocurrira si para un bloque en estado M se produce un Write Hit (acierto de escritura)? zY si es un Read Hit (acierto de lectura)? Represente los arcos correspondientes en el diagrama de estado y busque en la traza un ejemplo de ambos. Si se produce un acierto de lectura o de escritura de un bloque en estado M, se mantendra en ese estado. Juan Carlos Femandez Gallardo Qué ocurrira si para un bloque que esta en estado S se produce un Read Hit (acierto de lectura)? zY si es un Read Miss (acierto de lectura)? Represente los arcos correspondientes en el diagrama de estado y busque en la traza un ejemplo de ambos. Arquitectura los procesadores van a solicitar un mismo bloque. ¢Qué va a suceder? Si hay acierto de lectura , el bloque en S se mantiene igual. Si es un fallo de lectura, el bloque lee la memoria para intentar recuperar esos datos. Si se va leer, no hay problema, se lee el bloque de forma secuencial por las CPUs y se cambia a estado S. Si se va a escribir, el bloque pasa a estado M y sus copias en las otras CPUs a estado |, luego se lee de la CPU con el bloque en M y este pasa a estado S.

You might also like