La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Hiérarchie de la mémoire Les processeurs modernes requièrent beaucoup de mémoire rapide. Or,

Présentations similaires


Présentation au sujet: "Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Hiérarchie de la mémoire Les processeurs modernes requièrent beaucoup de mémoire rapide. Or,"— Transcription de la présentation:

1 Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Hiérarchie de la mémoire Les processeurs modernes requièrent beaucoup de mémoire rapide. Or, plus la mémoire est rapide, plus elle est chère. Que faire pour obtenir à coût raisonnable une machine performante? On utilise une hiérarchie de mémoires cache

2 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Pourquoi les mémoires caches fonctionnent-elles? Les mémoires caches fonctionnent parce que les mêmes instructions sont réutilisées de multiples fois (évidemment si chaque instruction nétait utilisée quune seule fois, lutilisation de la mémoire cache ne serait pas très en vogue…) On parle de localité des références: Localité temporelle Les instructions utilisées récemment sont souvent réutilisées Localité spatiale Les instructions voisines sont souvent exécutées de concert Localité séquentielle Les branchements constituent de 20 à 30% des instructions. Donc, de 70 à 80% des instructions sexécutent toujours en séquence Les branchements vont souvent prendre les mêmes chemins pendant un certain temps (les branchements sont corrélés)

3 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Pourquoi une hiérarchie de mémoire? Plus la mémoire a un temps daccès petit, plus elle coûte cher. Il vaut donc la peine dutiliser le moins possible de mémoire rapide tout en conservant une performance acceptable: Touchant le processeur, on a la mémoire la plus rapide (et aussi la plus chère) En bout de ligne, on a la mémoire principale, suivie du disque De nos jours, le premier niveau de mémoire cache se trouve souvent sur le même chip que le processseur (le 2e niveau peut aussi sy retrouver)

4 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Coût de la mémoire et temps daccès

5 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Taille de la mémoire cache et probabilité de « hit »

6 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire cache: comment ça marche? Lidée de la mémoire cache, cest de conserver dans une mémoire rapide les données dont on aura besoin bientôt Il existe plusieurs techniques pour distinguer les données emmagasinées dans la mémoire cache: Mapping associatif Mapping direct Mapping par ensemble associatif (set-associative)

7 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire associative: comment ça marche Chaque entrée dans ce type de mémoire contient une clé et une valeur. Pour accéder à la valeur, il suffit de présenter la bonne clé (cest la même idée que pour un tableau de hachage) Lorsquon présente une clé à ce type de mémoire, toutes les clés de toutes les entrées de la mémoire sont comparées en parallèle. Celle qui est identique (si elle existe) détermine quelle valeur est présentée à la sortie

8 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire associative: comment ça marche 0x00CCBB xCC0011B x000011B x x00CCBB50 0xCC0011B xFFFFFFFF x000011B0 Mémoire cache

9 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire associative: pour ou contre? Avantages: Très flexible Peut être très rapide Inconvénients: Système coûteux (chaque élément de mémoire doit contenir un comparateur!)

10 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mapping direct Match? … 0x000011B … Mémoire Taille de la mémoire: 64K X taille (données) ComparateurDonnées 0x00CCBB50 Addresse (index) ÉtiquettesDonnées Étiquettes

11 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mapping direct: pour ou contre? Avantages: Utilise de la mémoire rapide mais « standard » (sans comparateur intégré) Moins coûteux que la mémoire associative Désavantages: Requiert un peu de circuiterie additionnelle Si 2 addresses utilisées dans la même période de temps ont le même index, il y aura continuellement des collisions…

12 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mapping set-associative Données 0x00CCBB50 Addresse (index) Match? Système à Mapping direct 321 Système à Mapping direct 321 Système à Mapping direct 321 Étiquette

13 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mapping set-associative: bilan Bon compromis entre mapping direct et mapping associatif: Moins coûteux que la mémoire associative Permet davoir des addresses dont les index sont les mêmes

14 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire cache: que fait-on lorsque la mémoire est pleine? Lorsque la mémoire cache est remplie et une nouvelle valeur doit y être écrite, on doit faire de la place… Les méthodes utilisées sont variables: Remplacement aléatoire Remplacement « Least Frequently Used », LFU Un compteur comptabilise le nombre de fois quune valeur est utilisée Remplacement « Least Recently Used », LRU Avec une mémoire cache assez grande, les méthodes LRU et aléatoires donnent des résultats comparables (sachant que la méthode aléatoire est beaucoup plus simple à mettre en place, que choisiriez-vous?)

15 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire cache: que fait-on lors décritures? Il existe deux méthodes de gérer les écritures en mémoire par le biais de la mémoire cache: Write-through: Dès quune nouvelle valeur est écrite, on fait lécriture en mémoire principale, et on garde (ou pas) cette valeur dans la mémoire cache. Write-back: On conserve la nouvelle valeur dans la mémoire cache, et éventuellement on écrit cette valeur dans la mémoire principale Avantage du write-back: Une série de lectures/écritures à la même adresse nimplique pas de délai pour les écritures intermédiaires Avantages du write-through: lorsquon manque de place dans la mémoire cache (à cause dun read miss), il ny a jamais décriture requise

16 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire Mémoire cache: write-back, write-through Lorsque ladresse de destination de lécriture nest pas en mémoire (write miss), on peut soit garder une copie dans la mémoire cache (write allocate), soit ne rien faire (no write allocate) Le write allocate est habituellement associé au write-back, où on espère quune prochaine écriture pourra se faire directement dans la mémoire cache Le no-write allocate est habituellement associé au write- through, puisque les écritures subséquentes vont de toutes façons aller jusquà la mémoire principale

17 © 2001 Frédéric MailhotUniversité de Sherbrooke Hiérarchie de la mémoire La performance des mémoires cache La performance des mémoires cache dépend évidemment de la quantité de « misses ». On peut séparer ceux-ci en trois catégories: Obligatoires – lorsquon accède à une adresse pour la première fois De capacité – lorsque la mémoire cache était pleine et quon a dû laisser aller certaines des valeurs lues précédemment De conflit – lorsque deux adresses distinctes correspondent à la même entrée dans la mémoire cache La performance du système dépend aussi du délai encouru lors dun « miss ». Pour optimiser la performance dun système, il faut donc à la fois réduire le nombre de misses, et réduire les délais encourus lors de « misses »


Télécharger ppt "Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Hiérarchie de la mémoire Les processeurs modernes requièrent beaucoup de mémoire rapide. Or,"

Présentations similaires


Annonces Google