Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005 Architecture des ordinateurs cours 4 Types de mémoires physiques. Mémoire cache. Disques. Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005
Mémoire principale = mémoire vive = RAM Main memory = Random Access Memory Elle contient les programmes en cours d’exécution ainsi que leurs données Elle est volatile : si elle est mise hors tention les donnés sont perdues Elle est formée d’un nombre de cases (aujourd’hui une case = 1 octet = 8 bits) ; chaque case a son adresse ; des cases adjacentes ont des adresses consécutives Les octets sont regroupés en mots (e.g. le Pentium manipule des mots de 64 bits soit 8 octets). A. SAVARY IUT Blois GTR1, 2004/05
Mémoire principale - suite Un mot est l’unité d’information sur laquelle opèrent les instructions machine, e.g. : Additionner deux mots Charger un mot de la mémoire Ranger un mot dans la mémoire, … Protection contre des erreurs de mémoire est effectuée par des codes détecteurs (e.g. bit de parité) et codes correcteurs (e.g. code de Hamming) La numérotation d’octets dans un mots peut se faire en commençant par l’octet de poids fort (“gros-boutiste” = big endian) ou en commençant par celui de poids faible (“petit-boutiste” = little endian). Cela pose de problèmes d’échange de données entre des systèmes qui n’adoptent pas la même convention de numérotation. A. SAVARY IUT Blois GTR1, 2004/05
Numerotation d’octets dans un mot Example en langage C: struct {unsigned char mot[4]; int nombre;} test; test = {“ABC”,0x41424300}; //ASCII(‘A’)=41 en hexa, ASCII(‘B’)=42, ASCII(‘C’)=43 Gros-boutiste Petit-boutiste A B C \0 A B C \0 Numero de l’octet dans le mot 1 2 3 41 42 43 00 4 1 2 3 41 42 43 00 4 L’octet de poids faible passe en dernier L’octet de poids faible passe en premier Adresse du mot A. SAVARY IUT Blois GTR1, 2004/05
(Single Inline Memory Module) Cartes mémoire 8 circuits mémoire Connecteur Broche SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) Chaque broche est raccordée à une ligne de bus. Certaines transportent les mots mémoire, d’autres les adresses et les commandes. On peut utiliser plusieurs cartes simultanément si l’ordinateur dispose de plusieurs emplacements (slots). Le cartes DIMM actuelles ont 2 connecteurs de 84 broches chacun et la capacité de 64 Mo et plus. A. SAVARY IUT Blois GTR1, 2004/05
Types de mémoires vives : la SRAM Les mémoires qui permettent la lecture et l’écriture s’appellent des RAM (Random Access Memory). Elles sont volatiles et se divisent en 2 classes : RAM SRAM DRAM Static RAM Dynamic RAM Dans une SRAM, un bit est représenté par un flip-flop. Chaque flip-flop est construit avec des portes logiques, qui sont construites avec des transistors. Chaque transistor est constamment connecté à une source de tension haute. Supposons qu’on enregistre une information (0 ou 1) dans un flip-flop et qu’on ne touche plus à ce flip-flop pendant un long moment. L’état du flip-flop est maintenu aussi longtemps que la mémoire est sous tension car les transistors sont constamment allimentés. A. SAVARY IUT Blois GTR1, 2004/05
Types de mémoires vives : la DRAM Dans une DRAM, un bit est représenté par un condensateur. Pour mettre le bit à 1 on charge le condensateur, pour remettre le bit à 0 on décharge le condensateur. Le condensateur est allimenté seulement au moment du chargement. Supposons qu’on enregistre la valeur 1 dans un condensateur et qu’on ne touche plus à ce condensateur pendant un long moment. Il a la tendence à se décharger avec le temps, donc à perdre l’information enregistrée. C’est pourquoi les DRAM doivent être rafraîchies (~ toutes les 5 msec). La mémoire sur les transparents précédents est du type … Chaque bit est représenté par… Nécessité de rafraîchissement Complexité Temps d’accès Applications SRAM un flip-flop non 6 transistors ~ 1 ns mémoire cache DRAM un condensateur oui 1 transistor + 1 condensateur ~ 10 ns mémoire principale A. SAVARY IUT Blois GTR1, 2004/05
Types de mémoires mortes Les mémoires qui permettent uniquement la lecture s’appellent des ROM (Read Only Memory). Elles sont non volatiles. L’information y enregistrée ne peut être ni modifiée, ni effacée. Applications : programmes et données stratégiques, e.g. les microinstructions du processeur. D’autres types particuliers de mémoires mortes sont légèrement plus flexibles tout en gardant le très haut niveau de protection : PROM (Programmable ROM) - l’utilisateur peut lui même programmer le contenu de la mémoire (en faisant griller des fusibles), mais une seule fois EPROM (Erasable PROM) - l’utilisateur peut programmer, effacer et reprogrammer le contenu de la mémoire, selon un procédé spécial (rayonnement ultraviolet) ; des modifications intempestives sont donc casiment exclues EEPROM (Electrically Erasable PROM) - l’utilisateur peut programmer, effacer et reprogrammer le contenu de la mémoire, avec des impulsions électriques (son fonctionnement se rapproche donc de celui d’une RAM, mais une EEPROM est 10 fois plus lente et reste non volatile) ; effacement maximal comprend toute la mémoire, l’effacement minimal comprend un octet Flash - une sorte de EEPROM - l’effacement minimal comprend un bloc ; courte durée de vie (~10 000 effacements) A. SAVARY IUT Blois GTR1, 2004/05
La mémoire cache A. SAVARY IUT Blois GTR1, 2004/05
Temps d’accès à la mémoire Le capacité de stockage des mémoires principales croît en accord avec la loi de Moore (très rapidement)… …mais leur temps d’accès (i.e. le temps minimal nécessaire pour lire ou écrire une donnée dans la mémoire) croît lentement: la mémoire principale ne se trouve pas sur la même puce que le processeur (elle est trop grande pour ça) et la propagation des données sur le bus est difficile à accélérer une mémoire rapide est chère, la mémoire principale doit rester grande et bon marché. Problème : les processeurs sont beaucoup plus rapides que les mémoires principales. Lorsque le processeur sollicite la mémoire il passe une bonne partie de son temps à attendre. Ses performances potentielles ne peuvent pas être exploitées. A. SAVARY IUT Blois GTR1, 2004/05
Mémoire cache Solution au problème du temps d’accès à la mémoire principale : petite quantité de mémoire très rapide placée sur la puce du processeur = mémoire cache (antémémoire) grande quantité de mémoire principale plus lente Utilisation du cache : Les mots mémoire les plus fréquemment utilisés sont conservés dans le cache. Le processeur cherche d’abord dans le cache, puis, seulement si le mot recherché ne s’y trouve pas, il le charge de la mémoire principale. On peut disposer d’une hiérarchie de caches : un sur la puce du processeur, un autre plus élogné, un troisiéme encore plus loin etc. A. SAVARY IUT Blois GTR1, 2004/05
Principe de localité Localité spaciale : si une référence mémoire concerne l’adresse A il est vraisemblable que la référence suivante concernera le voisinage de A (example : séquences d’instructions, initialisations de tableaux,…). Localité temporelle : si une référence mémoire concerne l’adresse A il est vraisemblable que la même adresse A sera référencée dans peu de temps (example : boucles). Conclusions pour la gestion du cache : La mémoire principale et le cache sont divisés en blocs (lignes) de taille fixe Si une donnée souhaitée ne se trouve pas dans le cache une ligne complète contenant cette donnée est chargée de la mémoire vers le cache. Cette ligne reste dans le cache aussi longtemps que possible. A. SAVARY IUT Blois GTR1, 2004/05
Cache (exemple simplifié) 1 1 1 1 1 1 1 1 1 1 1 1 Cache Mémoire A. SAVARY IUT Blois GTR1, 2004/05
Gestion de la lecture dans le cache Supposons que le processeur veut lire un mot mémoire. 2 cas sont possibles : Le mot est dans le cache (succès du cache) – le processeur peut le charger directement du cache. Le mot n’est pas dans le cache (défaut du cache) : le processeur cherche une place libre dans le cache ; s’il n’y en n’a pas il selectionne la ligne du cache la moins récemment accédée le bloc contenant le mot est chargé de la mémoire principale vers le cache (à l’endroit selectionné), puis du cache vers le processeur A. SAVARY IUT Blois GTR1, 2004/05
Gestion d’écriture dans le cache Supposons que le processeur veut modifier un mot mémoire. 2 cas sont possibles : Le mot est dans le cache (succès du cache) - deux stratégies possibles : Ecriture immédiate - dès qu’un bloc du cache est modifié on modifie tout de suite le bloc correspondant dans la mémoire. Ecriture différée - les modifications se font seulement dans le cache. Le bloc est copié vers la mémoire seulement quand il est remplacé. Le mot n’est pas dans le cache (défaut du cache) - deux stratégies possibles : Ecriture allouée - le bloc contenant le mot à modifier est d’abord chargé dans le cache et ensuite modifié. Ecriture non allouée - le mot est modifié directement dans la mémoire A. SAVARY IUT Blois GTR1, 2004/05
Temps moyen d’accès tacc= c + (1 - h) *m c = temps d’accès au cache m = temps d’accès à la mémoire principale h = = taux de succès (hit ratio) tacc= c + (1 - h) *m = temps moyen d‘accès aux données nombre de références au cache nombre total de références A. SAVARY IUT Blois GTR1, 2004/05
Les mémoires secondaires (disques) A. SAVARY IUT Blois GTR1, 2004/05
Induction électromagnétique (1/2) Un courant électrique circulaire induit (provoque la création d’) un champs magnétique “perpediculaire” dont l’orientation dépend de la direction du courant. conducteur champs magnétique A. SAVARY IUT Blois GTR1, 2004/05
Induction électromagnétique (2/2) Un déplacement d’un corps magnétisé à proximité d’un conducteur induit (provoque la création d’) un courant électrique dont l’orientation dépend de l’orientation de la magnétisation et du sens de déplacement du corps magnétique. + - + - A. SAVARY IUT Blois GTR1, 2004/05
Ecriture sur disque magnétique La tête de lecture/écriture est un conducteur circulaire. Le disque est couvert d’une surface magnétique Lorsque le courant circule dans la tête, les particules ferromagnétiques de la surface du disque s’orientent en accord avec l’orientation du champs magnétique induit par le courant. Leur orientation indique la valeur du bit. + - tête 1 bit de valeur 1 1 bit de valeur 0 disque direction du courant dans la tête A. SAVARY IUT Blois GTR1, 2004/05
Lecture sur disque magnétique Le déplacement de la surface magnétisée du disque à proximité de la tête de lecture provoque (induit) une circulation de courant dans la tête. direction du courant induit + - 1 bit de valeur 1 1 bit de valeur 0 direction du déplacement d’une piste du disque A. SAVARY IUT Blois GTR1, 2004/05
Code correcteur d’erreurs Disque dur - formatage Déplacement du bras Tête de lecture/ écriture Bras Largeur d’un bit : 0,1 micron 1 secteur Espace inter-secteur Sens de rotation d’une piste : 5 microns Code correcteur d’erreurs (e.g. code de Hamming) Un secteur contient 512 octets d’information La préambule permet la synchronisation de la tête avant lecture/écriture Le formatage du disque = organisation du disque en pistes et secteurs A. SAVARY IUT Blois GTR1, 2004/05
Disque Winchester Distance radiale = distance entre la tête et l’axe de rotation Les têtes se déplacent ensemble. Elle ont à chaque instant la même distance radiale. Cylindre de données = ensemble de pistes accéssibles par les têtes pour une distance radiale donnée. Tout le mécanisme est enfermé dans un boîtier hermétique Le disque a la densité de 100 000 bits/cm et tourne constamment en faisant 60-120 tours par seconde Débit typique : ~20 Mo/s Temps d’accès est dominé par le temps de positionnement (placement de la tête sur la bonne piste + attente du début du bon secteur) : ~ 10 ms Adresse d’un secteur = (n° tête, n° piste, n° secteur) Tête de lecture/ écriture cylindre piste secteur A. SAVARY IUT Blois GTR1, 2004/05
Tête de lecture/écriture Pourquoi le boîtier hermétique est-il nécessaire ? cheveu poussière tête Distance entre la tête et le disque : ~50 nm fumée Disque A. SAVARY IUT Blois GTR1, 2004/05
Disques RAID Problème : les performances des processeurs sont beaucoup plus importantes que celles des disques (et cet écart continue à s’accroître) Solution : parallélisme ; 1988 – proposition de 6 organisations de disques pour améliorer leurs performances et fabilités : systèmes RAID (Redundant Array of Independent Disks) = une grappe de disques Usage typique : serveur de stockage Un disque RAID du point de vue du SE : deux solutions un disque RAID apparaît comme un disque normal (mais très rapide et fiable), pas besoin de pilotes particuliers ; les différences de fonctionnement sont transparentes car gérées par le contrôleur RAID (solution plus chère mais plus performante) un disque RAID est géré par un pilote particulier (solution moins chère mais moins performante) Un disque RAID du point de vue de sa construction physique : une grappe (de 1 à 7) disques SCSI Plusieurs organisations possibles : RAID 0 jusqu’à RAID 7 et organisations multiples comme RAID 10 (0+1) ; les plus utilisées sont les 0, 1, 5, 10 A. SAVARY IUT Blois GTR1, 2004/05
RAID 5 Parité des blocs 0 à 3 Bloc 0 Bloc 4 Bloc 8 Bloc 12 P16-19 Les données séquentielles sont réparties sur 4 disques (striping) ; la lecture et l’écriture peut s’effectuer sur tous les disques à la fois Les bits de parité permêttent le contrôle des erreurs ; ils sont distribués sur plusieurs disques afin d’éviter la surcharge d’un seul disque Les bits de parité permettent aussi la reconstitution d’un disque en cas de panne : nous connaissons le numéro du bit “abîmé” (c’est celui qui est sur le disque en panne) donc on peut le “corriger Example : un fichier contenant 4 blocs prend les blocs 0-3 ; sa lecture/écriture dure aussi longtemps que la lecture/écriture d’un seul bloc (car ils sont tous lus en même temps) RAID 5 est un bon compromis entre la capacité de stockage, la sécurité de données et la rapidité d’accès A. SAVARY IUT Blois GTR1, 2004/05
Disque souple (disquette) Le plateau est souple et amovible (peut être enlevé du lecteur) La tête est en contact avec la surface magnétique L’usure du plateau est rapide. Pour la minimiser, le bras se retracte et la rotation est interrompue lorsqu’il n’y a pas d’action de lecture/écriture. Le temps d’accès est important car le redémarrage prend 0,5 sec avant que la vitesse correcte de rotation soit atteinte. A. SAVARY IUT Blois GTR1, 2004/05
Autres disques : CD-ROM, CD-R, CD-RW, DVD Devoir Essayer de faire le quizz distribué en cours Lire la photocopie jointe d’un chapitre sur les mémoires secondaires du livre “Architecture de l’ordinateur” de A. Tanenbaum Refaire le quizz pour la semaine prochaine A. SAVARY IUT Blois GTR1, 2004/05
Hiérarchie des mémoires Temps d’accès 0,1 nsec 1 nsec 10 nsec 1 msec 10 sec Capacité de stockage 128 o 10 Mo 1 Go 10 Go 100 Go Prix 10 €/Mo 0,1 €/Mo 10 €/Go Registre Cache Mémoire principale Disque dur Bande magnétique Disque optique A. SAVARY IUT Blois GTR1, 2004/05