Les mémoires :
Mémoriser Enregistrer Conserver Restituer
Mémoriser Enregistrer Conserver Sur quel support physique ? Suivant quel processus ? Electronique Magnétique Optique Autres...(quantique) Séquentiel Aléatoire Restituer A quelle fréquence ? Rarement Rapidement Très rapidement Liste ou Pile bande magnétique Mémoire de masse RAM ROM Disque dur CD, DVD Mémoire de masse ( HD) RAM statique (cache 2ème niveau) RAM statique (cache 1er niveau) (Suivant quel processus ? Voir « Enregistrer ») Souvent RAM dynamique ( SDRAM sur CM)
Les technologies des composants électroniques ? ( à voir )
Organisation d'une mémoire RAM Réseau Mémoire ( stockage) Entrée ( écriture) Sortie ( lecture) Décodeur d'adresse Adresse CS HorlogeR/W NB : Il existe d'autres organisations possibles : Liste ou pile, RAM associative,...
Quelques technologies de Mémoires Vives Statique : SRAM PBS NVRAM Dynamique : DRAM SDRAM DRDRAM DDR-SDRAM QDR-RAM VRAM EDO Un bit mémoire est réalisé par un composant logique appelé « bascule ». Statis RAM 20 ns( Mémoire cache ) Pipelined synchronous Burst 4 ns ( µprogramme) Non volatile RAM pile ( config BIOS, Horloge ) Un bit mémoire est réalisé par un condensateur ( capacité GS d'un MOS ). Dynamic RAM ( il faut réécrire périodiquement la donnée : rafraîchissement 64 ms) Synchronous RAM : synchrone avec la fréquence BUS 8 ns Direct Rambus DRAM : synchrone avec le bus utilise les fronts montant et descendant. 1ns Double Data Rate : deux accès par cycle horloge Quad Data rate Video RAM : Deux port d'IO ( 1 pour le processeur Video 1 pour le DAC ) 20ns Extended Data Output 50ns DRAM avec buffer de sortie. Voir FPM acces Rapide à une zone mémoire ( page )
Apparence physique Ouvrons un PC
Organisation de la mémoire En fonction de la taille du bus de donnée : Le processeur accède en une seule fois : 8 bits de données soit 1 octet. 16 bits de données soit 2 octets. 32 bits de données soit 4 octets. 64 bits de données soit 8 octets. n bits de données soit 2 n /8 octets. Cependant la plupart des systèmes actuels veulent pouvoir accéder à chaque octets indépendamment. Ce qui oblige à garder une organisation de la mémoire en cellule de 1 octet.
Définitions :, Un bit peut avoir la valeur 0 ou 1. C'est la plus petite information possible. Il peut être physiquement représenté par : Une tension : 0 V représente 0, 5 V représente 1 technologie TTL. Un courant : Pas de courant représente 0, un courant représente 1 ( différentiel : -i -> 0 et +i -> 1 ) De la lumière : 0 pas lumière, 1 lumière. Une fréquence, un changement de phase, un fraont montant ou descendant. Une différence de tension : -V représente 0 et + V représente 1. Dans une mémoire statique, un bit est mémorisé dans une bascule. Dans une mémoire dynamique, un bit est mémorisé dans une capacité ( chargé = 1 ou déchargé = 0 ) Un bit peut être : acquis, transmis, mémoriser.
Une cellule de mémoire est la plus petite quantité de mémoire directement adressable. Chaque cellule a sa propre adresse. La cellule d'adresse A est suivi de la cellule d'adresse A+1. Un mot correspond à la taille des registres de travail et souvent à la taille du bus de données. Si la taille des bus d'adresses ( et donc des registres d'adressage) est de n bits alors le nombre de cellules adressables est de 2 n. Dans les microordinateurs actuels, une cellule comprend 8 bits càd 1 octet. Le pentium avec L'architecture IA32, la taille du mot est de 32 bits soient 4 octets. Le pentium avec L'architecture Intel64, la taille du mot est de 64 bits soient 8 octets. Par exemple : si la cellule est l'octet, la taille du bus d'adresse 20 alors le processeur peut adresser 2 20 = soit 1 Mo.
Hiérarchie des mémoires On peut distinguer trois niveaux de mémoire dans un ordinateur : Registres Mémoire de masse Mémoire centrale RAM Capacité Vitesse d'accès
Registres Mémoire de masse Mémoire centrale RAM Capacité Vitesse d'accès On peut tenir compte de la mémoire cache Mémoire Cache
Avec le Pentium IV
Modèle d'organisation de la mémoire Segmenté Simple Paginé Selecteur de segment Mémoire virtuelle La longueur des mots adresses correspondent au bus d'adresse La longueur des mots adresses est plus petite que celle du bus d'adresse La mémoire physique est découpée en page Faire croire que la mémoire du système est beaucoup plus grande que la mémoire physique. Un segment est repéré par un numéro dans une table de descripteurs.
Simple La longueur des mots adresses correspondent au bus d'adresse Modèle d'organisation de la mémoire Adresse 16 bits 64 Ko de mémoire adressable 0 FFFFh NB : pour un processeur 32 ou 64 bits, ce modèle s'appelle FLAT et utilise des registres d'adresses 32 ou 64 bits.
Segmenté Modèle d'organisation de la mémoire Adresse physique20 bits 1Mo de mémoire adressable 0 FFFFFh La longueur des mots adresses est plus petite que celle du bus d'adresse. Mots adresse 16bits Segment 16 bits Exemple : on veut adresser l'octet n° 50002h Registre de segment On utilise un registre préalablement initialisé appelé : Index : Segment : Adresse mémoire :
Modèle d'organisation de la mémoire Adresse 30 bits 1Go de mémoire adressable 0 3FFFFFFFh Modèle Paginé : La mémoire physique est découpée en pages. Si la taille de la page est de 16 octets. Adresse sur 32 bits Numéro de page Offset page Table de correspondance numéro de page -> adresse physique
Modèle d'organisation de la mémoire Adresse 32 bits 4 Go de mémoire adressable 0 FFFFFFFFh Table de descripteur de segment Selecteur de segment : Un segment est repéré par un numéro dans une table de descripteurs. déplacement 16 bits ou 32 bits Numéro de Segment 16 bits Registre descripteur de segment On utilise un registre préalablement initialisé appelé : A laquelle on ajoute un déplacement (offset) Mot adresse 32 bits
Modèle d'organisation de la mémoire Adresse 30 bits 1Go de mémoire adressable 0 3FFFFFFFh Mémoire virtuelleFaire croire que la mémoire du système est beaucoup plus grande que la mémoire physique. Si la taille de la page est de 64k octets. Adresse sur 32 bits Numéro de pageOffset page Table de correspondance numéro de page -> adresse physique Indicateur de présence Position dans la mémoire de masse. La table des pages comprend un indicateur pour savoir si la page existe dans la mémoire physique. Si la page n'est pas en mémoire RAM alors demandé à l'OS d'aller la lire dans la mémoire de masse. C'est une « amélioration » d'un modèle paginée ou à sélecteur.
Contrôle d'intégrité de la mémoire Que se passe-t-il si une des cases mémoires ne fonctionne pas bien ? Pe : le processeur place 0 dans une cellule mais la cellule enregistre 1. Comme le processeur est un automate cela peut conduire à un état indéterminé ( bug). Il faut absolument détecter se type d'erreurs. La méthode la plus simple est le Test de parité : le principe : ajouter une information redondante. bit de parité : on ajoute un bit qui indique si le nombre de bit 1 dans un octet de mémoire est pair. A la lecture, un mécanisme vérifie si le le bit de parité correspond à la parité de l'octet. Sinon c'est qu'il y a au moins 1 erreur. Exemple : Contient un nombre paire de bit 1 donc le neuvième bit (caché) est 1. On écrit A la lecture, on découvre Dont la parité devrait être 0. Donc le mécanisme de vérification de parité déclenche une erreur appelé « Parity error ».
© F.Minon 2008 A suivre …