Mémoires
Introduction
- Une mémoire est une circuit intégré permettant d'enregistrer, de conserver et de restituer des
informations (instructions et données)
- Deux opérations sont possibles en mémoire:
- Ecriture, lorsqu'on enregistre des informations en mémoire.
- Lecture, lorsqu'on récupère des informations précédement enregistrées.
Organisation d'une mémoire
- Avec une adresse de n bits, il est possible de référencer au plus 2n cases mémoire
- Une mémoire peut être représentée comme une armoire de rangement constituée de différents
tirroirs.
- Chaque tiroir représente alors une case mémoire qui peut contenir un seul élément: des données.
- Le nombre de cases mémoires pouvant être très élevé, il est alors nécessaire de pouvoir les
identifier par un numéro.
- Ce numéro appelé adresse. Chaque donnée devient alors accessible grâce à son
adresse.
- Chaque case est remplie par un mot de données (sa longueur m est tougours une puissance de 2).
Remarque
- Le nombre de broches du bus d'adresses définit combien de cases mémoire peuvent être directement
adressées, car chaque broche représente un bit dans l'adresse binaire utilisée pour identifier
une case mémoire unique.
- Le nombre de broches du bus de données définit la taille des données que l'on peut sauvegarder
dans chaque case mémoire.
- Un boitier mémoire comprend en plus une entrée de commande qui permet de définir le type
d'action que l'on effectue en mémoire (lecture/écriture) et une entrée de sélection qui permet
de mettre les entrées/sorties du boitier en haute impédance.
Exemple
- Un bus d'adresse de 8 broches peut générer 28 combinaisons possibles, ce qui permet
d'adresser 256 cases mémoire.
- Un bus de données de 8 broches signifie que le bus peut transporter 8 bits de données
simultanément.
Schéma de circuit mémoire
- Composé des:
- Entrées d'adresse.
- Entrées de données.
- Sorties de données.
- Entrées de commandes:
- Une entrée de sélection de lecture ou écriture \((R / \overline{W})\)
- Une entrée de sélection du circuit \((\overline{IO} / M)\)
Cycle d'une opération en mémoire
- Une opération de lecture ou écriture de la mémoire suit toujours le même cycle:
- Sélection de l'adresse.
- Choix de l'opération à effectuer \((R / \overline{W})\)
- Sélection de la mémoire \((\overline{IO} / M = 1)\)
- Lecture ou écriture de la donnée.
Caractéristiques d'une mémoire
- Capacité : Nombre total de bits que contient la mémoire (en octets).
- Format des données : Nombre de bits que l'on peut mémoriser par case mémoire.
- Temps d'accès : Temps écoulé entre l'instant où a été lancée une opération de
lecture/écriture en mémoire et l'instant où la premieére information est disponible sur le bus
de données.
- Temps de cycle : Intervalle minimum qui sépare deux demandes successives de
lecture ou d'écriture.
- Débit : Nombre maximum d'informations lues ou écrites par seconde.
- Volatilité : Permanence des informations dans la mémoire. L'information stockée
est volatile si elle risque d'être altérée par un défaut d'alimentation électrique et non volatile dans le cas contraite.
Chronogramme d'un cycle de lecture
Types de mémoires
Mémoire vive RAM
- Sert au stockage temporaire des données.
- Doit avoir un temps de cycle très court pour ne pas ralentir le microprocesseur.
- Il existe deux familles de mémoires RAM:
- RAM statique (SRAM):
- Le bit mémoire contient entre 4 et 6 transistors.
- Les SRAM ont un temps d'accès plus rapide que les DRAM.
- Les SRAM sont utilisées pour les mémoires de petite taille comme les caches et les registres.
- RAM dynamique (DRAM):
- Le bit mémoire contient un seul transistor.
- Est moins cher que la SRAM.
- Doit être rafraichie régulièrement pour entretenir la mémorisation.
- La DRAM offre une densité d'information et un coût par bit plus faible est utilisé comme mémoire centrale.
Mémoire morte ROM
- Est non volatile.
- Peut être programmée.
- La méthode de programmation varie selon le type:
- ROM : est programmée par le fabricant et son contenu ne peut être ni modifié ni effacé.
- PROM : peut être programmée une seule fois par l'utilisateur.
- EPROM : est un PROM qui peut être effacée.
- Flash EPROM : est une mémoire programmable et effaçable électriquement.
Elle peut être reprogrammée mot par mot.
Hiérarchie mémoire
- Notions de base
- Une mémoire idéale est une mémoire de grande capacité, capable de stocker un maximum d'informations et possédant un temps d'accès très faible.
- Une telle mémoire n'existe pas. Ainsi, une mémoire de grande capacité est très lente et une mémoire rapide est très chère.
- Le microprocesseur est capable de traiter des informations très rapidement (3 GHZ) et utilise une mémoire relativement lente (400 MHZ).
- Or le microprocesseur n'a pas beson de toutes les informations au même moment.
- Afin d'obtenir un comprom is coût-performance, on définit une hiérarchie mémoire où:
- On utilise des mémoires très rapides pour stocker les informations dont le microprocesseur se sert le plus et inversement.
- Schéma de la hiérarchie mémoire
- les registres sont les éléments de mémoire les plus rapides. Ils sont situés au niveau du processeur et servent au stockage des opérandes et résultats intermédiaires.
- la mémoire cache (CPU cache) est une mémoire rapide de faible capcité destinée à accéléré l'accès à la mémoire centrale en stockant les données les plus utilisées.
- la mémoire centrale (Physical memory) contient les programmes (code + données) et est plus lente que les deux mémoires précédentes.
- La mémoire d'appui (Solid state memory) est l'équivalent de la mémoire cache pour la mémoire de masse.
- la mémoire de masse (Virtual memory) est un support de stockage généralement de grande capacité et sert au stockage et à l'archivage des informations.