Cours 3 PP FR
Cours 3 PP FR
Cours 3 PP FR
1
Hiérarchies de mémoire
▪ La mémoire vive ou RAM(Random Access Memory) est une partie de la
mémoire principale directement accessible par le CPU.
▪ Utilisée pour lire et écrire des données accessibles par le CPU de manière randomisée
▪ Les caractéristiques actuelles de cette mémoire sont :
▪ Sa fabrication à base de circuits intégrés ; accès direct, volatilité
▪ Différents types de RAM
▪ Static Random Access Memory (SRAM)
▪ Dynamic Random Access Memory (DRAM)
▪ Nécessite deux transactions réseau pour une opération de lecture suivie d’écriture sur
une même adresse :
▪ Transaction 1: BusRd pour passer de l’état I l’état S
▪ Transaction 2: BusRdX pour passer de l’état S à l’état M
▪ Cette inefficience existe même si le bloc mémoire n’est pas partagé par d’autres caches
▪ Si le dirty bit = 1, les données sont contenues par un unique autre processeur
▪ Le noeud home doit dire au noeud demandeur où trouver ces données
▪ Répondre en donnant l’idendité du processeur qui a les données dans son cache (“get it from P2”)
▪ 1. Si le dirty bit = 1, les données sont contenues par un unique autre processeur
▪ 2. Répondre en donnant l’idendité du processeur qui a les données dans son cache (“get it from P2”)
▪ 3. Le noeud demandeur envoie une requête au propriétaire
▪ 4. Le propriétaire change son état (S : lecture seule), et répond au noeud demandeur
Dr. E_H_B. TOURE / programmation parallèle 32
Cohérence basée sur un répertoire (Directory-based cache coherence)
▪ Example 2: read miss sur un bloc sale (dirty bit = 1)
▪ Lecture à partir de la mémoire principale du bloc bleu par le processeur 0 :
▪ Bloc sale : la valeur actuelle est dans le cache de P2
▪ 1. Si le dirty bit = 1, les données sont contenues par un unique autre processeur
▪ 2. Répondre en donnant l’idendité du processeur qui a les données dans son cache (“get it from P2”)
▪ 3. Le noeud demandeur envoie une requête au propriétaire
▪ 4. Le propriétaire change son état (S : lecture seule), et répond au noeud demandeur
▪ 5. Le propriétaire répond également au noeud home qui efface le dirty bit, met à jour les bits de présence et met à jour la
mémoire locale.
Dr. E_H_B. TOURE / programmation parallèle 33
Cohérence basée sur un répertoire (Directory-based
cache coherence)
▪ Example 3: write miss
▪ Ecriture du bloc bleu par le processeur 0 :
▪ Le bloc est propre mais est partagé dans les caches de P1 et P2
▪ Après réception des accords d’invalidation, P0 peut effectuer son opération d’écriture
Dr. E_H_B. TOURE / programmation parallèle 37
Programmation parallèle
38