Chapitre 11: Technologie et Hiérarchie mémoire M. Dubacq IUT de Villetanneuse 2008 2009 2/22 Caractéristiques principales de la mémoire > Méthode d accès : Séquentiel : accès successif à tous les emplacements, ordre fixe Direct : accès en temps constant à n importe quel élément Mixte : voisinage de la donnée, puis accès séquentiel Associatif : recherche par clé en temps constant > Type de support physique : Semi-conducteur Magnétique Optique. 3/22 Caractéristiques principales de la mémoire > Capacité : nombre de mots, taille du mot (en général 1 octet) > Unité de transfert : mot, bloc, page, fichier > Résistance à la coupure d énergie : volatile, non volatile > E açable, non e açable. > Performances : Temps d accès : obtenir l information une fois demandée Temps de cycle : temps entre deux accès consécutifs Latence : Temps d accès - Temps de cycle Quantité de données par accès Débit de transfert :. Temps de cycle Quelques exemples de mémoires 4/22 > Mémoire RAM : semi-conducteur, accès direct, volatile, e açable, rapide, chère > Mémoire ROM : semi-conducteur, accès direct, nonvolatile, non-e açable, rapide, chère > Disque dur : magnétique, accès voisinage, non-volatile, e açable, lent, peu cher > Bande magnétique : magnétique, accès linéaire, nonvolatile, e açable, très lent, très peu cher > Cédérom : optique, accès voisinage, non-volatile, e açable, lent, peu cher > Mémoire cache : comme RAM, mais accès associatif.
Équation de quantité de données > Soit T la capacité totale du support > Soit D la taille d un mot > Soit n le nombre de mots adressables 5/22 > Soit b le nombre de bits nécessaires pour coder une adresse. T = n D n = 2 b Rappel : 1 Mo = 10 6 o, 1 Mio = 2 20 o, 1 Ko = 10 3 o, 1 Kio = 2 10 o, 1 octet = 8 bits. Le bistable () Sélection 7/22 La mémoire RAM (ou mémoire vive) 6/22 > Lecture/ commandée par signaux électriques : CS (lecture d adresse), OE (lecture de données), WE (écriture de données) > Volatile CS OE OE 27 8 A 26 0 RAM 128 Mio > Accès direct : Random Access Memory. D 7 0 Statique () Dynamique (DRAM) de base bascule condensateur Temps d accès 10 ns 70 ns Consommation élevée faible Mais la DRAM nécessite un rafraîchissement... 8/22 Mise en grille de la (16 mots, 4 bits) DIn 3 DIn 2 DIn 1 DIn 0 bit > complexe : au moins six transistors > : 1. Appliquer valeur X à mémoriser sur bit et X sur bit 2. Tension élevée sur ligne sélection > Lecture par comparaison : 1. Tension élevée sur ligne sélection 2. Ampli op détecte la di érence entre bit et bit bit DOut 3 DOut 2 (et pareil pour les mots 2 à 14) DOut 1 DOut 0 mot 0 mot 1. mot 15 DCD 4:16 (Adresse) 4 WE A 3 0
de la DRAM 9/22 DRAM : organisation en mode page 10/22 > : 1 condensateur+1transistor Sélection > : info X sur ligne bit, puis sélection de ligne > Lecture : 1. Précharger bit à V dd /2, puis sélection de ligne 2. Si cond. chargé, dérive de tension vers V dd 3. Si cond. déchargé, dérive de tension vers V ss 4. Détection, puis changement de bit en valeur lue (AO) 5. ré-écriture > Rafraîchissement : identique à lecture. DRAM : le mode page bit 11/22 > Registre à l entrée des décodeurs de lignes et de colonnes > Une fois mémorisée, une (demi-)adresse sert jusqu à être remplacé > Méthode de lecture normal : mémoriser adresse de rang, mémoriser adresse de colonne : lecture du bit voulu > Méthode de lecture en mode page : mémoriser adresse de rang, mettre 0 dans adresse colonne (lire), puis mettre 1 dans adresse colonne (lire), puis recommencer jusqu à dernière colonne > E icacité accrue : 1 cycle pour mémoriser le RAS, puis 1 cycle par colonne. > Adresses divisées en deux parties (ligne et colonne) : RAS (Row Address Strobe) et CAS (Column Address Strobe) > Taille du bus d adresse = moitié de la taille d une adresse > Bus de commande : colonne/ligne, lecture, écriture > Mémoire divisées en autant de paquets que de bits par mots (bus d adresse dupliqué) > On récupère le bit de poids faible dans le premier paquet, le deuxième dans le deuxième paquet, etc. > Problème : comment récupérer 1 bit précis? Lien CPU/RAM > CPU connecté par bus mémoire au northbridge > northbridge connecté à la RAM par le FSB (Front Side Bus) > northbridge connecté au southbridge, qui lui est connecté aux périphériques plus lent (joue le rôle de tampon) > Fréquence du FSB=fréquence bus donnée (de 100 MHz à 1250 MHz) > Durée du cycle mémoire : inverse (souvent 5 ns) 12/22
13/22 Comparaison mode normal/mode page ROM : Read-Only Memory 14/22 > Requête pour un mot : e ectuée en parallèle, même temps que requête pour un bit > 1 cycle pour l adresse de rang (5 ns) > 1 cycle pour l adresse de colonne (5 ns) > Le tout pour lire 1024 bits (souvent) : 5 ns 2048 10 µs > En mode page : 1 cycle pour l adresse de rang (5 ns) > Puis un cycle pour chaque colonne > Total : 5 ns 1025 5 µs! > de base : 1 fil (contact ouvert ou fermé) > Information figée à la fabrication > Coût élevé (conception) > Délai important de fabrication > Non-volatile, non-e açable > Utile pour microprogramme, librairies, programmes systèmes > Légèrement plus lent que RAM : utilisation de shadow ram (recopie en RAM de la ROM, et désactivation de la ROM). Beaucoup de types de RAM 15/22 La mémoire non-volatile 16/22 > DRAM,, shadow ram, ROM : déjà vues > NV-RAM : non-volatile RAM (plusieurs types) > Fast Page Mode DRAM : améliore la vitesse en mode page > Extended Data Out DRAM (1993) : permet de précharger un rang sans perdre les données lues > Synchronous DRAM (1997) : travail en mode synchrone, permet d enchaîner les opérations sans attendre > DDR SDRAM (2000) : travaille sur des cycles deux fois plus courts > DRDRAM, VRAM, SGRAM existent aussi > Pseudo-Static RAM : DRAM utilisée comme de la. > Inventée dans les années 50 > Maintenant quasi-exclusivement de la mémoire Flash > PROM : possibilité d enregistrer le contenu en ROM (signaux électriques grillent des contacts) > EPROM : PROM e açable par rayonnement UV > EEPROM : PROM e açable par signaux électriques > Mémoire Flash : une forme d EEPROM > Mémoire Flash : taille de mot plutôt 512 octets.
> rapide, mais chère Vitesse CPU et mémoire > DRAM plus lente, moins chère 17/22 > Chaque variante a un rapport vitesse-prix-taille di érent > Problème : accès à la mémoire nécessaire à chaque cycle processeur > Fréquence processeur : Entre 1 et 3 GHz > Fréquence mémoire : autour de 200 MHz > 1 cycle mémoire = 5 à 15 cycles processeur! > Comment donner l illusion d une mémoire rapide, de grande capacité, et pas chère? Principe de la hiérarchie mémoire 19/22 > À tout moment, on ne copie des informations que d un niveau vers le niveau immédiatement adjacent > Le niveau supérieur est plus près du processeur > Il est plus rapide, plus cher, plus petit > Le niveau inférieur est plus loin du processeur > Il est plus gros, plus lent, moins cher > Unité de transfert : bloc (souvent). Registres DRAM Disque magnétique Disque optique Bande Hiérarchie mémoire semi-conducteur Souvent volatile Faible capacité Chère mémoire secondaire 18/22 Accès séquentiel Lente Volumineuse On bâtit une hiérarchie qui va du processeur vers les supports les plus gros, plus lents et moins chers. Quand on a plus assez dans un niveau, on prend dans le suivant. Pourquoi ça marche? 20/22 > Principe de localité : à tout instant, un programme accède à une partie petite de son espace d adressage > Deux types de localité : Temporelle Si un mot a été utilisé récemment, il a plus de chances d être réutilisé (exemple : segment de données) Spatiale Si un mot a été utilisé récemment, les mots avec adresses voisines ont plus de chances d être utilisés (exemple : segment de texte, tableaux) > On fait donc migrer plus près du processeur les données les plus récemment accédées > On fait aussi migrer les données ayant des adresses voisines, donc on déplace toujours les données en blocs.
Terminologie 21/22 La hiérarchie mémoire d un ordinateur 22/22 > Quand on essaye d accéder à une information à un niveau, on peut la trouver, ou ne pas la trouver. Quand on la trouve, on a un succès, et sinon un échec > Le taux de succès τ S est la proportion des accès réussis > Le taux d échec τ E = 1 T S est le contraire > Le temps de succès T S est le temps d accès dans le cas d un succès > La pénalité d échec T P est le temps de déplacement d un bloc de la mémoire de niveau inférieur vers le niveau supérieur. En cas d échec, le temps d accès est T E = T S + T P > On a bien sûr T P T S. > Registres (1 ns, 100 octets) > Mémoire cache niveau 1 (1 ns, 10-100 kio) > Mémoire cache niveau 2 (externe) () (10 ns, 100 à 1000 kio) > Mémoire cache niveau 3 (parfois) (DRAM) (1 à 100 Mio) > Mémoire principale (DRAM) (100 à 10000 Mio) > Disques durs (10 à 1000 Go) > Bandes (quelques centaines de Go) > Réseau... (infini?)