Organisation de la mémoire
Transcription
Organisation de la mémoire
1/25 11 - Organisation de la mémoire I. Ait Sadoune Architecture des systèmes informatiques Chapitre 11 - Organisation de la mémoire Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Idir AIT SADOUNE CentraleSupélec - Département Informatique 3, rue Joliot-Curie, 91192 Gif-sur-Yvette cedex <[email protected]> Année scolaire 2015-2016, Séquence 5 Accélération des calculs Outline 11 - Organisation de la mémoire I. Ait Sadoune Classification Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs 2/25 Accélération des calculs Classification 3/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I Localisation I I I Mémoire interne au processeur Mémoire centrale Mémoire externe (ou « de masse » ou « auxiliaire ») Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Classification 3/25 11 - Organisation de la mémoire I. Ait Sadoune I I Localisation I I I Mémoire interne au processeur Mémoire centrale Mémoire externe (ou « de masse » ou « auxiliaire ») Caractéristiques physiques I I I I Volatile / non volatile Lecture seule / lecture et écriture Lecture destructive / non destructive Effaçable / non effaçable Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Classification 11 - Organisation de la mémoire I. Ait Sadoune I I Localisation I I I I 3/25 Mémoire interne au processeur Mémoire centrale Mémoire externe (ou « de masse » ou « auxiliaire ») Méthode d’accès I I I I I Accès aléatoire (arbitraire) Accès FIFO, LIFO Accès associatif Accès direct Accès séquentiel Caractéristiques physiques I I I I Volatile / non volatile Lecture seule / lecture et écriture Lecture destructive / non destructive Effaçable / non effaçable Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Deux sigles importants 4/25 11 - Organisation de la mémoire I. Ait Sadoune Classification RAM (Random Access Memory) I accès en lecture/écriture I accès aléatoire I volatile Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Deux sigles importants 11 - Organisation de la mémoire I. Ait Sadoune Classification RAM (Random Access Memory) I accès en lecture/écriture I accès aléatoire I volatile ROM (Read-Only Memory) I accès en lecture seule I accès aléatoire I non volatile (bien entendu !) 4/25 Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Sortes de RAM 5/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I SRAM : Static RAM I I une bascule bistable (6 transistors) par bit très rapide et très chère Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Sortes de RAM 5/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I SRAM : Static RAM I I une bascule bistable (6 transistors) par bit très rapide et très chère Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs I DRAM : Dynamic RAM I I I I chaque bit stocké dans un condensateur besoin de recharger les condensateurs (rafraîchissement, consommation de temps) 1 transistor + 1 condensateur par bit beaucoup moins chère, beaucoup moins rapide Sortes de RAM 6/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I PROM : Programmable ROM Technologies mémoire utilisées Accélération des calculs Sortes de RAM 6/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I PROM : Programmable ROM I EPROM : Erasable Programmable ROM (aux UV) Technologies mémoire utilisées Accélération des calculs Sortes de RAM 6/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I PROM : Programmable ROM I EPROM : Erasable Programmable ROM (aux UV) I EEPROM : Electrically Erasable Programmable ROM Technologies mémoire utilisées Accélération des calculs Sortes de RAM 6/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I PROM : Programmable ROM I EPROM : Erasable Programmable ROM (aux UV) I EEPROM : Electrically Erasable Programmable ROM I Flash : EEPROM effacée/programmée par blocs Technologies mémoire utilisées Accélération des calculs Sortes de RAM 6/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I PROM : Programmable ROM I EPROM : Erasable Programmable ROM (aux UV) I EEPROM : Electrically Erasable Programmable ROM I Flash : EEPROM effacée/programmée par blocs I Aussi : CD-ROM, DVD-ROM, BD-ROM Technologies mémoire utilisées Accélération des calculs Caractéristiques 7/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Technologies mémoire utilisées 8/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I Mémoire externe - auxiliaire –> disque dur (HDD : disques durs hybrides), flash (SSD : pour Solid State Drive, contrôleur à semi-conducteurs) Technologies mémoire utilisées Accélération des calculs Technologies mémoire utilisées 8/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I I Mémoire externe - auxiliaire –> disque dur (HDD : disques durs hybrides), flash (SSD : pour Solid State Drive, contrôleur à semi-conducteurs) Mémoire centrale –> DRAM (raison : coût) Technologies mémoire utilisées Accélération des calculs Technologies mémoire utilisées 8/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I I I Mémoire externe - auxiliaire –> disque dur (HDD : disques durs hybrides), flash (SSD : pour Solid State Drive, contrôleur à semi-conducteurs) Mémoire centrale –> DRAM (raison : coût) Accélération : mémoire cache I I petite quantité de SRAM dans le processeur (typ. 8 Mo) contient les données en cours d’utilisation Technologies mémoire utilisées Accélération des calculs Deux constats 9/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Proximité temporelle I Quand un processeur va chercher un mot en mémoire, il y a de fortes chances qu’il aura besoin du même mot peu après I Garder les mots utilisés récemment dans une mémoire rapide Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Deux constats 11 - Organisation de la mémoire I. Ait Sadoune Classification Proximité temporelle I Quand un processeur va chercher un mot en mémoire, il y a de fortes chances qu’il aura besoin du même mot peu après I Garder les mots utilisés récemment dans une mémoire rapide Proximité spatiale I Quand un processeur va chercher un mot en mémoire, il y a de fortes chances qu’il ait besoin d’un mot voisin peu après I Ne pas stocker un mot isolé dans la mémoire rapide, mais un bloc de mots contigus en mémoire 9/25 Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Principe du cache 10/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Organisation d’un cache 11/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I La mémoire est vue “artificiellement” découpée en blocs de M = 2m mots Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Organisation d’un cache 11/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I La mémoire est vue “artificiellement” découpée en blocs de M = 2m mots I Un cache est organisé sous forme de N lignes, chaque ligne pouvant contenir un bloc (pas toujours le même) Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Organisation d’un cache 11 - Organisation de la mémoire I. Ait Sadoune Classification I La mémoire est vue “artificiellement” découpée en blocs de M = 2m mots I Un cache est organisé sous forme de N lignes, chaque ligne pouvant contenir un bloc (pas toujours le même) I 11/25 Chaque ligne possède un descripteur permettant de savoir quel est le bloc actuel qu’elle contient Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Fonctionnement du cache 12/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Questions à résoudre 13/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I Comment est déterminé l’ensemble E des lignes pouvant contenir un bloc (organisation) ? Technologies mémoire utilisées Accélération des calculs Questions à résoudre 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I I 13/25 Comment est déterminé l’ensemble E des lignes pouvant contenir un bloc (organisation) ? Quel choix pour L quand le bloc B n’est pas dans le cache (algorithmes de remplacement) ? Technologies mémoire utilisées Accélération des calculs Questions à résoudre 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques I 13/25 Comment est déterminé l’ensemble E des lignes pouvant contenir un bloc (organisation) ? I Quel choix pour L quand le bloc B n’est pas dans le cache (algorithmes de remplacement) ? I Que faut-il faire pour purger une ligne (stratégie d’écriture) ? Technologies mémoire utilisées Accélération des calculs Organisation : directement adressé 14/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I Un bloc donné ne peut aller que dans une seule ligne Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Organisation : purement associatif 15/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I Un bloc donné peut aller partout dans le cache Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Organisation : associatif par sous-ensembles 16/25 11 - Organisation de la mémoire I. Ait Sadoune I Un bloc donné peut aller dans un sous-ensemble du cache Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Exemple 17/25 11 - Organisation de la mémoire I. Ait Sadoune Classification I Les adresses sont sur 32 bits (mémoire de 4 Gmots) I Le cache contient 4096 lignes, un bloc contient 16 mots Entraînement : I I I taille du cache ? combien de bits pour coder le déplacement dans un bloc ? Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Cache directement adressé 18/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Cache purement associatif 19/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Cache associatif par sous-ensembles 20/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Algorithmes de remplacement 21/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires I Algorithmes : I I I I Random FIFO LRU (Least Recently Used) NRU (Not Recently Used) Caractéristiques Technologies mémoire utilisées Accélération des calculs Algorithmes de remplacement 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires I Algorithmes : I I I I I 21/25 Random FIFO LRU (Least Recently Used) NRU (Not Recently Used) Par ligne : de 1 à k bits supplémentaires pour gérer le remplacement + 1 bit de validité Caractéristiques Technologies mémoire utilisées Accélération des calculs Stratégies d’écriture 22/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires I Écriture simultanée (write-through) I I Inconvénient : performance Avantage : cohérence entre cache et mémoire centrale Caractéristiques Technologies mémoire utilisées Accélération des calculs Stratégies d’écriture 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires I Écriture simultanée (write-through) I I I Écriture différée (write-back) I I I 22/25 Inconvénient : performance Avantage : cohérence entre cache et mémoire centrale 1 bit W pour chaque ligne Avantage : performance Inconvénient : cohérence Caractéristiques Technologies mémoire utilisées Accélération des calculs Hiérarchie mémoire 23/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Compléments 11 - Organisation de la mémoire I. Ait Sadoune I Plusieurs niveaux : L1, L2 Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs 24/25 Compléments 11 - Organisation de la mémoire I. Ait Sadoune I Plusieurs niveaux : L1, L2 I Localisation du cache (interne ou externe au processeur) Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs 24/25 Compléments 11 - Organisation de la mémoire I. Ait Sadoune I Plusieurs niveaux : L1, L2 I Localisation du cache (interne ou externe au processeur) I Caches séparés pour les instructions et les données Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs 24/25 Compléments 11 - Organisation de la mémoire I. Ait Sadoune 24/25 I Plusieurs niveaux : L1, L2 I Localisation du cache (interne ou externe au processeur) I Caches séparés pour les instructions et les données I Cohérence du cache en présence d’un DMA Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Compléments 11 - Organisation de la mémoire I. Ait Sadoune 24/25 I Plusieurs niveaux : L1, L2 I Localisation du cache (interne ou externe au processeur) I Caches séparés pour les instructions et les données I Cohérence du cache en présence d’un DMA I Cohérence du cache dans les systèmes multi-processeurs Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Compléments 11 - Organisation de la mémoire I. Ait Sadoune I Plusieurs niveaux : L1, L2 I Localisation du cache (interne ou externe au processeur) I Caches séparés pour les instructions et les données I Cohérence du cache en présence d’un DMA I Cohérence du cache dans les systèmes multi-processeurs hit et miss Hit : mot présent dans le cache Thit Phit Miss : mot absent du cache Tmiss Pmiss = 1 − Phit Temps moyen d’accès à la mémoire : Tmoyen = Phit xThit + Pmiss xTmiss 24/25 Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs Exemple : hiérarchie mémoire Athlon 64 25/25 11 - Organisation de la mémoire I. Ait Sadoune Classification Types de mémoires Caractéristiques Technologies mémoire utilisées Accélération des calculs