Plan Copyright © F. Muller 2004 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 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 1 - Systèmes Mémoire Introduction Caractéristiques principales d’un bus Hiérarchies mémoire Technologies mémoire Copyright © F. Muller 2004 Ch7 - 2 - Introduction Objectifs Introduction Copyright © F. Muller 2004 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 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 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 3 - Caractéristiques principales d’un bus Définitions Latence Débit Temps que prend une opération individuelle (lecture/écriture) pour se terminer entre le processeur et le système mémoire 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 Latence ? bus Débit ? Processeur Systèmes Mémoire Bande Passante ? Copyright © F. Muller 2004 Architecture de l’ordinateur – 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 Calcul de la Bande Passante Copyright © F. Muller 2004 Débit = 1 / latence = 1 / 10 ns Débit = 100 millions d’opération par seconde ? ? Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 5 - Roadmap : Performance Copyright © F. Muller 2004 Architecture de l’ordinateur – Systèmes Mémoire 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 Bus d’adresse Copyright © F. Muller 2004 ??? Latence $08F500 Architecture de l’ordinateur – Systèmes Mémoire 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 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 Copyright © F. Muller 2004 Débit d’une opération = 1 / (latence / nb d’op) = 108 op / s BP = Débit x 1 octet BP = 108 octets par seconde . . . Architecture de l’ordinateur – Systèmes Mémoire 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 Banque mémoire Copyright © F. Muller 2004 Processeur Banque mémoire Banque mémoire requêtes Banque mémoire Architecture de l’ordinateur – Systèmes 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 Copyright © F. Muller 2004 Banque mémoire Banque mémoire Banque mémoire Banque mémoire A1 A0 = 00 A1 A0 = 01 A1 A0 = 10 A1 A0 = 11 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 10 - Hiérarchie mémoire Présentation des niveaux Processeur Mémoire Cache (Niveau Supérieur) Ko Mémoire Cache + Mémoire Principale Coût par bits Rapidité Mo Mémoire principale Go Mémoire virtuelle Capacité plus importante Accès plus lent DRAM (moins cher) Mémoire Virtuelle (Niveau Inférieur) Copyright © F. Muller 2004 Capacité mémoire & surface réduite Temps d’accès très rapide SRAM (cher) Capacité très importante Accès très lent Disque Dur Architecture de l’ordinateur – Systèmes Mémoire 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 demande ? Processeur 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 Non, demande ? Non, demande ? Mémoire Cache Blocs de 64 octets OK Copyright © F. Muller 2004 Mémoire principale OK Blocs de 4 Koctets Architecture de l’ordinateur – Systèmes Mémoire Mémoire virtuelle OK Blocs de 4Ko ou plus Ch7 - 12 - Terminologie (1/3) Hit (succès) Miss (échec) Sélectionne le bloc à retirer (à évincer) de la mémoire pour le mettre au niveau inférieur et vice-versa Propriété d’inclusion Copyright © F. Muller 2004 La référence n’est pas situé au niveau demandé Taux de miss en % Politique de remplacement La référence a été trouvé au niveau demandé Taux de hit en % Garantit qu’une référence sera présente à tous les niveaux mémoires Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 13 - Terminologie (2/3) Système write-back (écriture en différé) 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 Copyright © F. Muller 2004 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) 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 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 14 - Terminologie (3/3) Temps d’accès moyens Tmoyen = (Thit x Phit) + (Tmiss x Pmiss) Temps de hit pour accomplir une requête qui aboutit Taux de hit (Probabilité) Temps d’accès moyen au niveau sous-jacents Taux de miss (Probabilité) Exemple 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 : Copyright © F. Muller 2004 Architecture de l’ordinateur – Systèmes Mémoire 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 W0 2M colonnes N bits d’adresse (poids forts) Décodeur W2N-1 M bits d’adresse (poids faibles) Taille du bus d’adresse = N + M Copyright © F. Muller 2004 2N lignes Mux Mux Mux Mux Dx-1 Dx-2 D1 D0 Architecture de l’ordinateur – Systèmes Mémoire 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 lecture Copyright © F. Muller 2004 Architecture de l’ordinateur – Systèmes Mémoire Data 2 écriture Ch7 - 17 - Technologie Mémoire DRAM (Dynamic RAM) (1/3) La mémorisation = 1 condensateur Ligne de bits Plus compact Ligne de mots Signal plus faible => propagation moins rapide Vc Rafraîchissement de la mémoire Vc t Copyright © F. Muller 2004 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 18 - Technologie Mémoire Les principaux types de SDRAM Synchronous DRAM SDR-SDRAM Double Data Rate 1 R/W sur front montant et descendant DDR2-SDRAM Copyright © F. Muller 2004 Single Data Rate 1 R/W sur front montant DDR-SDRAM apparue en 1997 synchrone à l’horloge de la carte mère QDR : Quadruple Data Rate 2 canaux Architecture de l’ordinateur – Systèmes Mémoire 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 Copyright © F. Muller 2004 Délai CAS - Données Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 20 - Technologie Mémoire DRAM paginée (3/3) Principe W0 2N lignes Décodeur 2M colonnes W2N-1 Latch Stockage de tout le contenu de la rangée dans le latch Multiplexeur Dn-1 Accès Dn-2 D1 D0 Accès Normal Accès en mode page RAS CAS Adresse Adresse R Données Data 2 Délai RAS - CAS Copyright © F. Muller 2004 Adresse C+1 Adresse C Délai CAS - Données Architecture de l’ordinateur – Systèmes Mémoire Data 1 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. Copyright © F. Muller 2004 Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 22 - Bilan sur les bus Bus système Bus d’extension Copyright © F. Muller 2004 bus interne, internal bus ou front-side bus FSB) permet au composants de la carte mère de communiquer entre eux (exemple : bus PCI) Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 23 - Synthèse Propriété d’un bus Optimisation des accès à la mémoire Taux de Hit, Taux de miss … Technologie Mémoire Copyright © F. Muller 2004 Pipelining, préchargement, parallélisme Hiérarchie Mémoire Quelques Termes Latence, débit, Bande passante … SRAM DRAM, SDRAM … Architecture de l’ordinateur – Systèmes Mémoire Ch7 - 24 -