Hiérarchie de la mémoire

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
Structures de données avancées : Principales structures de fichiers
Chap. 4 Recherche en Table
Architecture de machines Le microprocesseur
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Exécution en ordre partiel Une fois les instructions renommées, les seules dépendances qui subsistent entre instructions registre-registre sont les dépendances.
Architecture de machines La mémoire
Algorithme et programmation
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Mémoire cache ou antémémoire
Bibliothèque standard du C++
CHAPITRE 1 LES SYSTÈMES D' INÉQUATIONS
LES VIRUS INFORMATIQUES.
Gestion des branchements
Gestion de Fichiers Arbres B.
Sections sélectionnées du Chapitre 11
Allocation de mémoire Allocation de mémoire.
Les fichiers indexés (Les B-arbres)
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Introduction Objectifs du cours Évaluation Références
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.
Les multiprocesseurs Jusqu’à maintenant, nous avons parlé longuement des microprocesseurs. Nous allons maintenant étudier les multiprocesseurs, comment.
Systèmes Superscalaires et VLIW
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Et maintenant, où allons-nous? Après toutes les techniques vues jusquici: Que peut-on faire.
IFT Complexité et NP-complétude
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Les systèmes multiplateformes
Module 3 : Analyse des performances du serveur
Les unités de stockage amovibles
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.
Plan cours La notion de pointeur et d’adresse mémoire.
Gestion de Fichiers GF-3: Structures d’Enregistrements, Acces Sequentiel et Direct, Manipulation de classes en C++ (Base sur des segments des Chapitres.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Synthèse logique: Quelques algorithmes et techniques La synthèse logique consiste en un très.
Module 8 : Surveillance des performances de SQL Server
Gestion de Fichiers GF-8: Organisation des Fichiers pour l’Amelioration de la Performance (Base sur la section de Folk, Zoellick & Riccardi, File.
Structure de Base d’un ordinateur Matière : Informatique
GF-11: Tri Interne Efficace et Tri Externe
Construction d'une hiérarchie mémoire faible consommation
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
Cours LCS N°4 Présenté par Mr: LALLALI
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Un programme Algorithme permettant au processeur de s'alimenter:
Architecture et technologie des ordinateurs II
Patricia Renault UPMC 2005/2006
Structures de données avancées : Principales structures de fichiers
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
Architecture et technologie des ordinateurs II
Chapitre 3 L’accès aux données.
Chapitre 9 Les caractères.
Memoire.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Les bascules et registres
Résolutions et réponses
Je suis de retour ! Vous avez passé de belles Fêtes? Je suis de retour ! Vous avez passé de belles Fêtes? Aujourd’hui, nous parlons : Technologie Proximité.
Les mémoires la préparation de: chaimaa hamdou.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Systèmes à microprocesseur Les mémoires
Transcription de la présentation:

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

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 qu’une seule fois, l’utilisation 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 s’exécutent toujours en séquence Les branchements vont souvent prendre les mêmes chemins pendant un certain temps (les branchements sont corrélés)

Pourquoi une hiérarchie de mémoire? Plus la mémoire a un temps d’accès petit, plus elle coûte cher. Il vaut donc la peine d’utiliser 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 s’y retrouver)

Coût de la mémoire et temps d’accès

Taille de la mémoire cache et probabilité de « hit »

Mémoire cache: comment ça marche? L’idée de la mémoire cache, c’est 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)

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é (c’est la même idée que pour un tableau de hachage) Lorsqu’on 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

Mémoire associative: comment ça marche 0x00000000 5823 0x00CCBB50 0xCC0011B0 2220 0xFFFFFFFF 155277 0x000011B0 0x00CCBB50 2220 0xCC0011B0 155277 0x000011B0 5823 Mémoire cache

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!)

Mapping direct … 0x000011B0 5823 Mémoire Comparateur Données 0x00CCBB50 Addresse (index) Étiquettes Taille de la mémoire: 64K X taille (données) Match?

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…

Mapping set-associative 0x00CCBB50 Addresse (index) Étiquette Système à Mapping direct Système à Mapping direct Système à Mapping direct 1 32 1 32 1 32 Match? Données

Mapping set-associative: bilan Bon compromis entre mapping direct et mapping associatif: Moins coûteux que la mémoire associative Permet d’avoir des addresses dont les index sont les mêmes

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 qu’une 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?)

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 qu’une 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 n’implique pas de délai pour les écritures intermédiaires Avantages du write-through: lorsqu’on manque de place dans la mémoire cache (à cause d’un read miss), il n’y a jamais d’écriture requise

Mémoire cache: write-back, write-through Lorsque l’adresse de destination de l’écriture n’est 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 qu’une 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

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 – lorsqu’on accède à une adresse pour la première fois De capacité – lorsque la mémoire cache était pleine et qu’on 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 d’un « miss ». Pour optimiser la performance d’un système, il faut donc à la fois réduire le nombre de misses, et réduire les délais encourus lors de « misses »