Plan Ch1 - Introduction Ch2 - Structure de l ordinateur Ch3 - Modèle de Programmation Ch4 - Conception des Processeurs Ch5 - Pipeline Ch6 - Parallélisme d instructions Ch7 - Systèmes Mémoire Ch8 - Mémoires Caches Ch9 - Mémoire Virtuelle Ch10 - Systèmes Multiprocesseurs Ch7-1 -
Systèmes Mémoire Introduction Caractéristiques principales d un bus Hiérarchies mémoire Technologies mémoire Ch7-2 -
Introduction Objectifs Comprendre les concepts de latence et de bande passante Comprendre le concept de hiérarchie mémoire et calculer le temps d accès moyen à la mémoire Comprendre la différence entre les technologies DRAM et SRAM Être capable d expliquer comment les modes d accès courants affectent les temps d accès moyens Introduction La mémoire était vu comme une «boite noire» où le processeur stocke des données On supposait que les accès mémoires prenait la même temps pour lire ou écrire des données Ch7-3 -
Caractéristiques principales d un bus Définitions Latence Temps que prend une opération individuelle (lecture/écriture) pour se terminer entre le processeur et le système mémoire Débit Vitesse à laquelle les données entre le processeur et le système mémoire peuvent se déplacer Bande Passante Produit entre le débit et la quantité de données référencées par chaque opération mémoire Processeur Latence? Débit? bus Bande Passante? Systèmes Mémoire Ch7-4 -
Caractéristiques principales d un bus Exemple Un système mémoire possède une latence de 10ns par opération et une largeur de données de 32 bits. On suppose que seule une opération peut être effectuée à la fois et qu il existe aucun délai entre les opérations. Calcul de Débit Débit = 1 / latence = 1 / 10 ns Débit = 100 millions d opération par seconde Calcul de la Bande Passante?? Ch7-5 -
Roadmap : Performance Ch7-6 -
Caractéristiques principales d un bus Pipelining et Préchargement Les systèmes mémoire pipelinés Améliore le débit Calcul de la latence et de la bande passante plus complexe Le préchargement La plupart des technologies mémoire requièrent un certain temps d inactivité entre les accès mémoires Ce temps sert au préchargement qui opère une partie du travail d accès avant la connaissance de l adresse Réduction du délai entre le moment où l adresse est transmise et la fin de l opération Temps de préchargement Latence Bus d adresse??? $08F500 Ch7-7 -
Caractéristiques principales d un bus Pipelining et Préchargement - Exemples Exemple 1 Un système mémoire possède une latence de 40ns, un transfert d un octet par opération et un pipeline permettant le recouvrement d exécution de 4 opérations. Quelle est la bande passante? Solution Exemple 2 Débit d une opération = 1 / (latence / nb d op) = 10 8 op / s BP = Débit x 1 octet BP = 10 8 octets par seconde Un système mémoire possède une latence de 20ns, un temps de préchargement de 5ns et un transfert de 2 octets par accès. Quelle est la bande passante? Solution... Ch7-8 -
Caractéristiques principales d un bus Parallélisme (1/2) Chargement de plusieurs références mémoires en parallèle Une requête demande plusieurs cycles Envoie de requêtes à des mémoires inactives Augmente la vitesse à laquelle les requêtes peuvent être gérées sans augmenter le nombre de broches E/S requêtes Processeur requêtes Banque mémoire Banque mémoire Banque mémoire Banque mémoire Ch7-9 -
Caractéristiques principales d un bus Parallélisme (2/2) Systèmes mémoires répliquée Stockage de plusieurs copies de la mémoire entière Chaque copie peut gérer n importe quelle requête Inconvénients Augmentation la quantité de mémoire Cohérence entre les copies mémoire Systèmes mémoire à banques Les données sont divisées ou entrelacées Chaque mémoire contient une fraction des données Certains bits d adresse sélectionnent la banque mémoire Avantage : Pas de copie donc pas d augmentation de mémoire Inconvénient Conflits dû à l accès au même banque mémoire Réduit la bande passante théorique (crête) Processeur Banque mémoire Banque mémoire Banque mémoire Banque mémoire A1 A0 = 00 A1 A0 = 01 A1 A0 = 10 A1 A0 = 11 Ch7-10 -
Hiérarchie mémoire Présentation des niveaux Mémoire Cache (Niveau Supérieur) Processeur Capacité mémoire & surface réduite Temps d accès très rapide Ko Mémoire Cache SRAM (cher) + Mémoire Principale Coût par bits Rapidité Mo Mémoire principale Capacité plus importante Accès plus lent DRAM (moins cher) - Go Mémoire virtuelle Mémoire Virtuelle (Niveau Inférieur) Capacité très importante Accès très lent Disque Dur Ch7-11 -
Hiérarchie mémoire Principe Objectif Conserver les données les plus fréquemment référencées dans la mémoire des niveaux supérieures de hiérarchie Fonctionnement Utilisation d un système de pagination à la demande Avantage les technologies SRAM, DRAM, Disque Dur gère le mode page le temps de lecture/écriture d un octet est quasi identique à la lecture/écriture d une page demande? Non, demande? Non, demande? Processeur Mémoire Cache Mémoire principale Mémoire virtuelle OK Blocs de 64 octets OK Blocs de 4 Koctets OK Blocs de 4Ko ou plus Ch7-12 -
Terminologie (1/3) Hit (succès) La référence a été trouvé au niveau demandé Taux de hit en % Miss (échec) La référence n est pas situé au niveau demandé Taux de miss en % Politique de remplacement Sélectionne le bloc à retirer (à évincer) de la mémoire pour le mettre au niveau inférieur et vice-versa Propriété d inclusion Garantit qu une référence sera présente à tous les niveaux mémoires Ch7-13 -
Terminologie (2/3) Système write-back (écriture en différé) Les données écrites sont placées uniquement au niveau supérieur de la hiérarchie Lorsque les données sont évincées de ce niveau, les données sont copiées au niveau inférieur Blocs modifiés = blocs sales (dirty) Blocs non modifiés : blocs propres (clean) L implémentation des systèmes write-back est plus simple si l on adopte la propriété d inclusion (pas besoin d évincer les blocs de niveaux inférieurs pour mettre le blocs modifiés de niveau supérieur) Système write-through ou Write-thru Les données écrites sont placées à tous les niveaux de la hiérarchie mémoire à chaque écriture Compromis write-through / write-back Un système write-back a une bande passante plus élevé que le système write-through Un système write-back est plus complexe à mettre en oeuvre Mélange des deux genres : cache en write-back et mémoire principale en write-through Ch7-14 -
Terminologie (3/3) Temps d accès moyens T moyen = (T hit x P hit ) + (T miss x P miss ) Temps de hit pour accomplir une requête qui aboutit Exemple Taux de hit (Probabilité) Temps d accès moyen au niveau sous-jacents Taux de miss (Probabilité) Un système mémoire contient un cache (Taccès de 5ns, Taux de hit de 80%), une mémoire principale (Taccès de 100ns, taux de hit de 99,5%) et une mémoire virtuelle (Taccès de 10ms).Quel est le temps d accès moyen à la hiérarchie? Temps moyen mémoire principale : Temps moyen mémoire cache : Ch7-15 -
Technologie Mémoire Structure Structure Valable pour le SRAM et la DRAM La vitesse dépend de la longueur des lignes de mot (capacité et résistance du fil) De la construction de la cellule binaire W 0 N bits d adresse (poids forts) Décodeur W 2 N -1 2 N lignes 2 M colonnes M bits d adresse (poids faibles) Mux Mux Mux Mux Taille du bus d adresse = N + M D x-1 D x-2 D 1 D 0 Ch7-16 -
Technologie Mémoire SRAM (Static RAM) Cellule binaire Ligne de bits Ligne de bits inversée Ligne de mots Accès CE Écriture Adresse Adresse 1 Adresse 2 Données Data 1 Data 2 lecture écriture Ch7-17 -
Technologie Mémoire DRAM (Dynamic RAM) (1/3) La mémorisation = 1 condensateur Plus compact Ligne de mots Ligne de bits Signal plus faible => propagation moins rapide Vc Rafraîchissement de la mémoire Vc t Ch7-18 -
Technologie Mémoire Les principaux types de SDRAM Synchronous DRAM apparue en 1997 synchrone à l horloge de la carte mère SDR-SDRAM Single Data Rate 1 R/W sur front montant DDR-SDRAM Double Data Rate 1 R/W sur front montant et descendant DDR2-SDRAM QDR : Quadruple Data Rate 2 canaux Ch7-19 -
Technologie Mémoire DRAM (Dynamic RAM) (2/3) Exemple Su une DRAM possède 512 rangées et que son temps de rafraîchissement est de 10ms, avec quelle fréquence moyenne faut-il opérer un rafraîchissement de rangée? Solution.. Accès en Lecture RAS (Row Address Strobe) CAS (Column Address Strobe) Adresse Adresse R Adresse C Données Data Délai RAS - CAS Délai CAS - Données Ch7-20 -
Technologie Mémoire DRAM paginée (3/3) Principe Décodeur W 0 W 2 N -1 2 N lignes 2 M colonnes Stockage de tout le contenu de la rangée dans le latch Latch Multiplexeur RAS Accès Accès Normal D n-1 D n-2 D 1 D 0 Accès en mode page CAS Adresse Adresse R Adresse C Adresse C+1 Données Data 2 Data 1 Délai RAS - CAS Délai CAS - Données Délai CAS - Données Ch7-21 -
Technologie Mémoire Exemple : SDRAM (PC100 et PC133) trp - The time required to switch internal memory banks. (RAS Precharge) trcd - The time required between /RAS (Row Address Select) and /CAS (Column Address Select) access. tac - The amount of time necessary to "prepare" for the next output in burst mode. tcac - The Column Access Time. tcl - (or CL) CAS Latency. tclk - The Length of a Clock Cycle. RAS - Row Address Strobe or Row Address Select. CAS - Column Address Strobe or Column Address Select. Read Cycle Time - The time required to make data ready by the next clock cycle in burst mode. Ch7-22 -
Bilan sur les bus Bus système bus interne, internal bus ou front-side bus FSB) Bus d extension permet au composants de la carte mère de communiquer entre eux (exemple : bus PCI) Ch7-23 -
Synthèse Propriété d un bus Latence, débit, Bande passante Optimisation des accès à la mémoire Pipelining, préchargement, parallélisme Hiérarchie Mémoire Quelques Termes Taux de Hit, Taux de miss Technologie Mémoire SRAM DRAM, SDRAM Ch7-24 -