Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
La machine décrite ci-dessus utilise le protocole MESI pour maintenir la cohérence du cache. Dans la
suite, Rp(a) signifie que le processeur p lit un octet de l'adresse a. Wp(a) = v signifie que le processeur
p écrit v à l'emplacement mémoire a. Les adresses sont représentées en binaire. Initialement, toutes
les lignes de cache sont invalides et tous les emplacements mémoire contiennent 0. On peut
remarquer, en lisant les adresses, que toutes les opérations portent sur un même bloc.
a. Montrez les transitions des lignes de cache et la latence dans le tableau ci-dessous, sachant que :
Un cache hit prend 1 cycle,
Un cache miss prend 8 cycles,
Un write back prend 8 cycles,
Une transition I - M prend 2 cycles
Une transition S - M prend 2 cycles.
Exercice 2
En utilisant une approche basée sur l’espionnage, et le protocole MESI, remplir le tableau ci-dessous.
Sachant que trois processeurs se partagent la variable b. Les caches C1, C2 et C3 sont considérés
comme initialement à l’état Invalide (I). La mémoire est notée Mem.
Soit le programme parallèle ci-dessous avec deux threads Thread1 et Thread2. Les variables A et B
sont initialement à 0 chacune. En considérant qu’un modèle de cohérence séquentielle est utilisé.
a. Donner deux (autres : différents de l’exemple) exécutions possibles pour ce programme ainsi
que la valeur affichée :
Par exemple une exécution possible ainsi que la valeur affichée : (1) → (2) → (3) → (4) : 01