La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

Cours 7 - Mémoires

7 pages
Technologie¥ 2 types de m? moire— Static RAM (SRAM)M moire et m? moire cache— Dynamic RAM (DRAM)¥ Technologie CMOS— Complementary Metal Oxyde Semiconductor— 2 types de transistors¥ n¥ pIUP2-ASRI1 E.Paviot-Adet 2Architectures avanc? es et Syst? mes Universit?Paris VTransistors Inverseur¥ Transistor de type n (transistor nMOS)Porte = 0 Porte = 1PortePorte = 0 Porte = 1S D S DS DS DSource Drain Porte = 0 Porte = 1S D S D¥ Transistor de type p (transistor pMOS)PortePorte = 0 Porte = 1 ¥ R alis avec un transistor de type n et un transistor de typepS D S D¥ Principe : relier la sortie la source o la terre suivantSource Drainl?entr? eIUP2-ASRI1 E.Paviot-Adet 3 IUP2-ASRI1 E.Paviot-Adet 4Architectures avanc? es et Syst? mes Universit?Paris V Architectures avanc? es et Syst? mes Universit?Paris VSRAM DRAMWord linePorte = 0 Porte = 1Word WordS DS DCbitBit not Bit Bit line¥ 2 ? tats stables ¥ Un transistor et un condensateur par bit¥ Lecture ¥ Stocker un bit— Word est mis ? 1, permettant la lecture — Word line est mise ? 1¥ Ecriture — Bit line est mise ? la valeur ? stocker— Word est mis ? 1, les lignes Bit et not Bit sont forc? es ? — Word line est mise ? 0la valeur stockerIUP2-ASRI1 E.Paviot-Adet 5 IUP2-ASRI1 E.Paviot-Adet 6Architectures avanc? es et Syst? mes Universit?Paris V Architectures avanc? es et Syst? mes Universit?Paris VDRAM Puce de DRAMWord lineBit line ¥ Une adresse est d c oup? een une partie ligne et ...
Voir plus Voir moins
Mémoire et mémoire cache
Transistors
• Transistorde type n (transistor nMOS) Porte Porte = 0 Porte = 1 S DS D Source Drain • Transistorde type p (transistor pMOS) Porte Porte = 0Porte = 1 S DS D Source Drain IUP2-ASRI1 E.Paviot-Adet3 Architectures avancées et SystèmesUniversité Paris V
SRAM
Porte = 0 Porte = 1 Word Word S DS D Bit notBit • 2états stables • Lecture – Wordest mis à 1,permettant la lecture • Ecriture – Wordest mis à 1,les lignes Bit et not Bit sont forcées à la valeur à stocker IUP2-ASRI1 E.Paviot-Adet5 Architectures avancées et SystèmesUniversité Paris V
Technologie
• 2types de mémoire – Static RAM (SRAM) – Dynamic RAM (DRAM) • TechnologieCMOS – Complementary Metal Oxyde Semiconductor – 2 types de transistors • n • p
IUP2-ASRI1 Architectures avancées et Systèmes
E.Paviot-Adet Université Paris V
Inverseur
2
Porte = 0Porte = 1 S DS D
Porte = 0 Porte = 1 S DS D • Réaliséavec un transistor de type n et un transistor de type p • Principe: relier la sortie à la source où à la terre suivant IUP2-ASlRI1’entréeE.Paviot-Adet 4 Architectures avancées et SystèmesUniversité Paris V
Word line
DRAM
C bit Bit line • Untransistor et un condensateur par bit • Stockerun bit – Wordline est mise à1 – Bitline est mise à la valeur à stocker – Wordline est mise à0 IUP2-ASRI1 E.Paviot-Adet Architectures avancées et SystèmesUniversité Paris V
6
Word line
DRAM
C bit Bit line • Lireun bit – Bitline est mise à 1 puis isolée • Unecharge reste présente – Wordline est mise à 1 puis à 0 – Sila valeur lue est 1, alors Cet la charge sur bit line est bit quasiment la même – Sila valeur lue est 0, alors une partie de la charge de bit line part dans C, créant une baisse de charge détectable bit IUP2-ASRI1 E.Paviot-Adet 7 Architectures avancées et SystèmesUniversité Paris V
DRAM
• Lalecture est destructrice – Lavaleur doit être restaurée après lecture • Enfait, seule la lecture d’un 0 doit être restaurée • En pratique, rsetauration après chaque lecture • Lesvaleurs stockéesdoivent être rafraîchies périodiquement – Valeurstockée dans un condensateur – Lecondensateur ne garde pas indéfiniment une valeur • Lalecture est lente – Ilfaut rafraîchir la valeur – Tempsde cycle 2 fois plus long que le temps d’accès – Leprocessus de détection des variations de charge est lent
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
DRAM - Historique
• DRAMFPM (FastPage Mode,1987) – Tempsd’accès 70 à 80 ns – Fréquence33 à 50 MHz • DRAMEDO (Extended Data Out, 1995) – Tempsd’accès 50 à 60 ns – Fréquence33 à 50 MHz – Possibilitéd’accéder aux données pendant les périodes de rafraîchissement (adressage de la colonne suivante pendant la lecture d’une colonne) – Permetde gagner 4 cycles sur l’accès à 4 données • DRAMBEDO (Bursted EDO) – Moderafale (données envoyées par flux ininterrompu) – Fréquenceà 66 MHz IUP2-ASRI1 E.Paviot-Adet Architectures avancées et SystèmesUniversité Paris V
9
11
IUP2-ASRI1 Architectures avancées et Systèmes
Puce de DRAM
Bit line • Uneadresse est découpée en une partie ligne et une partie colonne • Lapartie ligne permet de Word linesélectionner la bonne word line(lesbitlines Sense amplifiers sont mises à 1) Buffer de ligne • Lerésultat est stocké dans le buffer de ligne Décodeur pour la • Lapartie colonne permet colonne de terminer la sélection
E. Paviot-Adet Université Paris V
DRAM/SRAM
8
• DRAM – Fortepossibilité d’intégration – Lente – Utiliséepour la mémoire centrale • SRAM – Nécessite6 fois plus de transistors que la DRAM – Rapide – Utiliséepour la mémoire cache • Comparaison – DRAMest 5 fois plus dense que SRAM – SRAMest 10 fois plus rapide que DRAM (et encore plus cher) IUP2-ASRI1 E.Paviot-Adet 10 Architectures avancées et SystèmesUniversité Paris V
DRAM - Historique
• SynchronousDRAM (SDRAM, 1997) – SDRAMsynchronisée sur la fréquence de la carte mère • FPM et EDO étaientsaynchrones, cela indusiait des temps d’attente – Fréquence100 à 150 MHz • DDR-Iou DDR-SDRAM (Double Data Rate Synchronous DRAM, 2000) – Permetde recevoir ou d’envoyer 2 fois plus de donnéespar cycle d’horloge (lors du front montant et du front descendant du signal) • DDR-II(2004) – Permetd’atteindre dse débits2 fois supérieurs àla DDR-I pour une même fréquence externe – 2canaux séparés pour la lecture et l’écriture IUP2-ASRI1 E.Paviot-Adet 12 Architectures avancées et SystèmesUniversité Paris V
DRAM - Comparaison
Bande Désignation TypeFréquence Vitesse passante PC 100SDR 100MHz 100MHz 0,8Go/s PC 1600DDR-I 100MHz 200MHz 1,6Go/s PC 3200DDR-I 200MHz 400MHz 3,2Go/s PC2 3200DDR-II 100MHz 400MHz 3,2Go/s PC2 4300DDR-II 133Mhz 533MHz 4,3Go/s PC2 5300DDR-II 166MHz 667MHz 5,3Go/s PC2 6400DDR-II 200MHz 800MHz 6,4Go/s IUP2-ASRI1 E.Paviot-Adet 13 Architectures avancées et SystèmesUniversité Paris V
Correction d’erreur
• BarrettesECC (Error Correction Code) – Plusieurs bits permettent de détecter et corriger les erreurs – Détection de 4 erreurs – Correction d’une erreur • BarettesAECC (Advanced Error Correcting Code) – Détection et correction de 4 erreurs
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Mémoire cache
• Petitequantité de mémoire rapide – Mécanismesimilaire à la mémoire virtuelle – L’accèsaux instructions et données est, généralement, local – Unedonnée est récupérée en mémoire avec les données avoisinantes • Gestiondu cache simple – Uncache doit être rapide – Unegestion complexe nuit à la rapidité – Lagestion du cache est réalisée matériellement – Pasquestion d’utiliser les techniques de gestion de la mémoire virtuelle • Organisationdu cache – Lecache est organisé en lignes – Uneligne contient des mots contigus en mémoire (bloc) IUP2-ASRI1 E.Paviot-Adet Architectures avancées et SystèmesUniversité Paris V
15
17
Détection d’erreur
• Mémoiresutilisées pour des systèmes travaillant sur des données critiques – Serveurs • Bitde parité – 1bit par octet • 9Mo de mémoire permet de stocker 8 Mo de données – Ce bit set à 1si l’octet contient un nombre impair de 1, 0 sinon – Permetjuste de détecter une erreur
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Mémoire cache
• En20 ans – Larapidité de la mémoire a été multipliée par 4 – Larapidité du processeur a été multipliée par 20000 • Remplacerla mémoire actuelle par de la mémoire plus rapide coûte trop cher – Par contre on peut limiter son utilisation • Augmentationdu nombre de registres TechniqueutiliséeparlsepremiersprocesseursRISC Coûtecherlosrdeschangementsdecontexte
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Structure d’une ligne
• Uneligne est constituée – 1tag • Permetde déterminerquelle partie de la mémoirsetsetockée – Emplacements • Unemplacement contient un mot • Relationentre cache et mémoire – Suivantla gestion du cache, une ligne peut accueillir en provenance de tout ou partie de la mémoire • Découpaged’une adresse
Tag Ligne Emplacement Optionnel IUP2-ASRI1 E.Paviot-Adet Architectures avancées et SystèmesUniversité Paris V
14
16
18
Direct mapping
Tag LigneEmplacement 18 bits11 bits3 bits • Méthodela plus simple – Partietag de l’adresse stockée dans la zone tag de la ligne – Partieligne de l’adresse désigne la ligne permettant de stocker la donnée – Partieemplacement permettant de désigner l’emplacement dans la ligne • Unbloc ne peut être stocké que dans une seule ligne du cache
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Solution
19
Tag LigneEmplacement 18 bits11 bits3 bits • Structureet taille 3 – Chaqueligne contient 8 (2 ) octets 11 – 2048(2 )lignes – 2048*8= 16 Ko • Nouveaudécoupage – Inversertag et ligne signifie que 2 zones consécutives en mémoire sont stockées sur la même ligne, ce qui peut être très pénalisant • Inefficace – Dansle cas où 2 blocs devant être stockés sur la même ligne doivent être présents dans le cache IUP2-ASRI1 E.Paviot-Adet 21 Architectures avancées et SystèmesUniversité Paris V
Solution
• Complétezle tableau suivant (tag, ligne, emplacement) : Taille cache/ 2 4 816 32 taille bloc 1 Ko22, 9, 122, 8, 222, 7, 322, 6, 422, 5, 5 2 Ko21, 10, 121, 9, 221, 8, 321, 7, 421, 6, 5 4 Ko20, 11, 120, 10, 220, 9, 320, 8, 420, 7, 5 8 Ko19, 12, 119, 11, 219, 10, 319, 9, 419, 8, 5 16 Ko18, 13, 118, 12, 218, 11, 318, 10, 418, 9, 5 32 Ko17, 14, 117, 13, 217, 12, 317, 11, 417, 10, 4 IUP2-ASRI1 E.Paviot-Adet 23 Architectures avancées et SystèmesUniversité Paris V
Exercice
Tag LigneEmplacement 18 bits11 bits3 bits • Apartir de ces seules données, calculez la taille et la structure du cache • Supposonsque l’on adopte le découpage suivant : Ligne TagEmplacement Cela a-t-il un impact sur les performances ? • Donnezun cas ou l’actuelle solution peut être inefficace
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Exercice
20
• Complétezle tableau suivant (tag, ligne, emplacement) : Taille cache/ 2 4 816 32 taille bloc 1 Ko 2 Ko 4 Ko 8 Ko 16 Ko18, 11, 3 32 Ko IUP2-ASRI1 E.Paviot-Adet 22 Architectures avancées et SystèmesUniversité Paris V
Cache associatif
Tag Emplacement • But: – Supprimerles risques de collision • Solution: – N’importequel bloc mémoire peut être stocké n’importe où • Problème: – Quandon cherche une donnée, il faut chercher partout dans le cache – Lent • Untype de particulier de mémoire – Mémoireassociative ou Content Adressable Memory (CAM) – Lenteet chère IUP2-ASRI1 E.Paviot-Adet 24 Architectures avancées et SystèmesUniversité Paris V
Exercice
• Complétezle tableau suivant (tag, emplacement) : Taille cache/ 2 4 816 32 taille bloc 1 Ko 2 Ko 4 Ko 8 Ko 16 Ko 32 Ko IUP2-ASRI1 E.Paviot-Adet 25 Architectures avancées et SystèmesUniversité Paris V
Mémoire associative N-way
Tag
Ligne Emplacement
• Uncompromis entre le direct mapping et la mémoire associative – Unmême bloc peut être stocké dans N lignes • Onpeut voir le cache comme N caches gérés en direct mapping
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Exercice
27
• Complétezle tableau suivant (tag, ligne, emplacement), bloc fixé à 8 mots : Taille cache/ N-1-way 2-way 4-way 8-way16-way way 1 Ko22, 7, 323, 6, 324, 5, 325, 4, 326, 3, 3 2 Ko21, 8, 322, 7, 323, 6, 324, 5, 325, 4, 3 4 Ko20, 9, 321, 8, 322, 7, 323, 6, 324, 5, 3 8 Ko19, 10, 320, 9, 321, 8, 322, 7, 323, 6, 3 16 Ko18, 11, 319, 10, 320, 9, 321, 8, 322, 7, 3 32 Ko17, 12, 318, 11, 319, 10, 320, 9, 321, 8, 3 IUP2-ASRI1 E.Paviot-Adet 29 Architectures avancées et SystèmesUniversité Paris V
Solution
• Complétezle tableau suivant (tag, emplacement) :
Taille cache/ 2 4 816 32 taille bloc 1 Ko31, 130, 229, 328, 427, 5 2 Ko31, 130, 229, 328, 427, 5 4 Ko31, 130, 229, 328, 427, 5 8 Ko31, 130, 229, 328, 427, 5 16 Ko31, 130, 229, 328, 427, 5 32 Ko31, 130, 229, 328, 427, 5 IUP2-ASRI1 E.Paviot-Adet 26 Architectures avancées et SystèmesUniversité Paris V
Mémoire associative N-way
• Techniquela plus populaire – Le 80486 utilise 4-way – P6 • 2-way pour le cache d’instruction • 4-waypour le cache de données
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Politiques d’écriture
28
• Quandla mémoire doit-elle être mise à jour? – Achaque modification ? htreithWroug – Quandle bloc est retiré de la mémoire cache ? kctirWabe • Plusefficace ProblématiquesiunpriéphériquecommuniquevialeDMA – Direct Memory Access, permet d’écrire enmoéire sans passer par le processeur • Cachede données, cache d’instruction – Cached’instruction : pas d’écriture, on peut le lier avec un branch target buffer – Permetle travail simultané sur les données et les instructions • Importantpour des processeurs en pipeline IUP2-ASRI1 E.Paviot-Adet 30 Architectures avancées et SystèmesUniversité Paris V
Politiques d’écriture
• Lorsqu’unedonnée doit être écrite et qu’elle n’est pas dans le cache – On la copie dans le cache avec les données adjacentes Write allocate(ou fetch on write) • Onsuppose que l’une de ces données sera utilisée plus tard en lecture ou en écriture – On ne la copie pas No write allocate(ou write around)
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Taille du cache
31
• Letaux d’échec (miss rate) est plus faible pour le cache d’instructions que pour le cache de données – Uncache d’instruction de 8 Ko a un taux d’échec inférieur à 1% (0, 002 % pour un cache deKo2)56 – Uncache de donnéesde 8Ko a un taux d’échec de 4 % (3% pour un cache de 256 Ko) • Cacheplus grand ? – Permet de basiser le taux d’échec – Pluslent (l’espace de recherche est plus grand) – Diminue la probabilité que deux processus partagent la même zone de cache et s’excluent mutuellement du cache IUP2-ASRI1 E.Paviot-Adet 33 Architectures avancées et SystèmesUniversité Paris V
Cohérence entre les niveaux
• Lecache de niveau n doit-il contenir les données du cache de niveau n-1 ? – Réponse naturelle : oui • C’estcohérent avec la mémoire qui est considérée comme «le dernier niveau de cach»e – On peut aussi répondre non • Avoirune même donnée dans plusieurs caches gaspille de la place Certaineopérationsdeviennentplsucomplexes – Cohérence des données entre le cache etla mémoire IUP2-ASRI1 E.Paviot-Adet 35 Architectures avancées et SystèmesUniversité Paris V
Politiques de remplacement
• Lorsqu’unenouvelle donnée doit être ajoutée dans le cache – Dans le cas du direct mapping, on n’a pas le choix – Dans les autres cas, il faut choisir • Least RecentlyUsed (LRU) • FirstIn First Out (FIFO) • Random – Facile à implémenter – Pas beaucoup plus mauvais que les autres
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
Plusieurs niveaux de cache
32
• Cachesde niveau 1 (cache L1) – Intégrés au micro-processeur • Rapiditéde communication • Cachesde niveau 2 (L2) – Intégrés ou non au micro-processeur – Plus grands • Cachesde niveau 3 et 4 (L3 et L4) – But : ne baisser les performances du cache L1 tout en faisant baisser le taux d’échec IUP2-ASRI1 E.Paviot-Adet 34 Architectures avancées et SystèmesUniversité Paris V
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
36
Synchronisation
• 4paramètres – CASdelay ou CAS latency • CAS = ColumnAdressStrobe • Tempsd’accès à une colonne • Nombre de cyclses’écoulant entre l’envoi de la commande de lecture et l’arrivée de la donnée – RASprecharge time RAS=RowAdressStrobe • Nombrede cycles d’horloge entre deux accès à une ligne – RASto CAS delay • Nombrede cycle d’horloge correspondant au temps d’accès d’une ligne à une colonne – RASactive time • Nombre de cycle d’horloge correspondant au temps d’accès une ligne IUP2-ASRI1 E.Paviot-Adet 37 Architectures avancées et SystèmesUniversité Paris V
Synchronisation - Exemple
• DRAMEDO – 5-2-2-2 • SDRAM – 5-1-1-1
IUP2-ASRI1 Architectures avancées et Systèmes
E. Paviot-Adet Université Paris V
38