Les Mémoires
Ce document présente les mémoires à semi-conducteur, en particulier les mémoires mortes et vives, leur organisation, leur fonctionnement, ainsi que le décodage d’adresse dans les systèmes à microprocesseurs. Il s’adresse aux étudiants en informatique et électronique souhaitant comprendre les principes fondamentaux des mémoires utilisées dans les architectures informatiques.
D'après le document Les Mémoires
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Electronics, Computer Architecture · PDF · 27 pages
Afficher l'aperçu du document
Ce document présente les mémoires à semi-conducteur, en particulier les mémoires mortes et vives, leur organisation, leur fonctionnement, ainsi que le décodage d’adresse dans les systèmes à microprocesseurs. Il s’adresse aux étudiants en informatique et électronique souhaitant comprendre les principes fondamentaux des mémoires utilisées dans les architectures informatiques.
Organisation de la mémoire
Cellule élémentaire et mot mémoire
La cellule élémentaire d’une mémoire est le bit, stocké dans une cellule mémoire appelée aussi point mémoire.
- Dans une mémoire morte (ROM), la cellule élémentaire peut être assimilée à un interrupteur à semi-conducteur constitué d’une diode ou de transistors.
- Dans une mémoire vive (RAM), la cellule élémentaire est généralement une bascule de type D (RS, JK ou D), la plus courante étant la bascule D.
Chaque mot mémoire correspond à une case mémoire contenant plusieurs bits.
Bus d’adresse
Pour identifier chaque case mémoire, on utilise un numéro appelé adresse, codé en binaire sur un ensemble de fils appelé bus d’adresse.
Si la mémoire dispose de n bits d’adresse, alors :
C = 2^n cases
Les cases sont numérotées de 0 à 2^n - 1.
Le bus d’adresse est noté A avec les bits A0 à A(n-1).
Par exemple :
- Une mémoire de 1024 cases correspond à 2^10 cases, soit 1K cases.
- Une mémoire de 1024 Kilo cases correspond à 2^20 cases, soit 1M cases.
Bus de donnée
Le bus de donnée est un ensemble de fils permettant de transférer le contenu d’une case mémoire vers l’extérieur ou d’écrire des données dans une case mémoire.
Fonctionnement d’une mémoire
Sélection d’une mémoire
Pour éviter les conflits électriques lorsque plusieurs mémoires sont connectées sur un même bus de données, chaque mémoire possède une entrée de sélection appelée CS (Chip Select).
- Si CS = 0 : la mémoire est sélectionnée et connectée au bus de données.
- Si CS = 1 : la mémoire est déconnectée, le bus de données est en haute impédance (aucune donnée n’est transmise).
Lecture d’une mémoire
La lecture consiste à transférer le contenu d’une case mémoire vers le bus de données externe. L’adresse de la case est placée sur le bus d’adresse.
La mémoire dispose d’une entrée OE (Output Enable) qui autorise la sortie des données :
- OE = 0 : lecture autorisée, les données sont mises sur le bus.
- OE = 1 : pas de lecture, bus de données en haute impédance.
La lecture effective ne se fait que si la mémoire est sélectionnée (CS = 0).
Écriture d’une mémoire
L’écriture, ou programmation, consiste à transférer une donnée présente sur le bus de données dans la case mémoire dont l’adresse est sur le bus d’adresse.
La mémoire possède une entrée WR (Write) pour l’ordre d’écriture :
- WR = 0 : écriture possible si CS = 0.
- WR = 1 : pas d’écriture.
Types de mémoire à semi-conducteur
Mémoires vives : RAM
- SRAM (Static RAM) : mémoire vive statique, rapide mais consommatrice d’énergie. L’élément de base est une bascule D.
- DRAM (Dynamic RAM) : mémoire vive dynamique, de grande capacité. L’élément de base est équivalent à un condensateur.
La RAM est volatile, c’est-à-dire que son contenu est perdu en cas de coupure d’alimentation.
Mémoires mortes : ROM
Les mémoires mortes conservent l’information même sans alimentation. Elles diffèrent par leur structure interne, le nombre de reprogrammations possibles et le mode d’effacement :
- ROM (Read Only Memory) : programmées une fois à la fabrication par le constructeur.
- PROM (Programmable ROM) : programmables une seule fois par l’utilisateur.
- EPROM (Erasable PROM) : programmables plusieurs fois, effaçables par exposition aux ultraviolets. L’effacement est global et la programmation nécessite une tension élevée (~12,5 V).
- EEPROM (Electrically EPROM) : programmables plusieurs fois, effaçables électriquement. L’écriture commence par un effacement de la case suivi de l’écriture effective. La programmation dure environ 10 ms.
- Flash EPROM : similaires aux EEPROM mais avec une séquence de programmation et un mode d’effacement différents, plus rapides.
Dénominations génériques
- EPROM : 2764 ou 27C64 (8 Ko), 27128 ou 27C128 (16 Ko), 27256 ou 27C256 (32 Ko), 27512 ou 27C512 (64 Ko).
- EEPROM : mêmes dénominations que les EPROM mais avec 28 au lieu de 27.
- Flash EPROM : mêmes dénominations que les EPROM mais avec F à la place de C.
Les mémoires sont organisées en mots de 8 bits. Les chiffres indiquent la capacité en Kbits.
Constitution de blocs mémoire : Décodage d’adresse
Exemple : connecter trois boîtiers mémoire de 8 Ko chacun (13 lignes d’adresses) sur un bus d’adresse de 16 bits.
Dans chaque boîtier, une case mémoire est désignée par les bits d’adresses A0 à A12.
- Mémoire N°1 : A13 = 1, A14 = 0, A15 = 0
- Mémoire N°2 : A13 = 0, A14 = 1, A15 = 0
- Mémoire N°3 : A13 = 0, A14 = 0, A15 = 1
Les trois bits A13, A14 et A15 fournissent 8 combinaisons, permettant de connecter jusqu’à 8 boîtiers mémoire de 8 Ko sur le bus, soit une mémoire totale de 64 Ko.
Pour cela, on utilise un décodeur 3 vers 8 qui active la sélection CS du boîtier mémoire correspondant à la combinaison des bits A13, A14 et A15.
Table de vérité du décodeur d’adresses
| A15 | A14 | A13 | Sortie CS |
|---|---|---|---|
| 0 | 0 | 0 | CS0 activé |
| 0 | 0 | 1 | CS1 activé |
| 0 | 1 | 0 | CS2 activé |
| 0 | 1 | 1 | CS3 activé |
| 1 | 0 | 0 | CS4 activé |
| 1 | 0 | 1 | CS5 activé |
| 1 | 1 | 0 | CS6 activé |
| 1 | 1 | 1 | CS7 activé |
Hiérarchie mémoire
L’ordinateur contient plusieurs niveaux de mémoire organisés selon une hiérarchie :
| Type de mémoire | Capacité | Temps d’accès | Description |
|---|---|---|---|
| Registres | N bits (32, 64) | 1 nanoseconde | Contient les informations les plus récemment accédées par le processeur. |
| Mémoires caches | Koctets | 5 nanosecondes | Mémoire intermédiaire entre le processeur et la mémoire centrale. |
| Mémoires centrales | Goctets | 10 nanosecondes | Mémoire vive volatile contenant le code et les données des programmes. |
| Mémoires de masse | 100-200 Goctets | 5 millisecondes | Mémoires permanentes de stockage. |
La mémoire cache a un temps d’accès 4 à 20 fois inférieur à celui de la mémoire centrale et contient un nombre fini d’entrées.
Principe de localité
- Vérifier si l’information cherchée est dans le cache :
- Si oui (succès), ramener l’information dans le processeur.
- Sinon (défaut), chercher l’information dans la mémoire centrale.
- Si l’information est en mémoire centrale :
- Si oui (succès), charger l’information dans le cache puis dans le processeur.
- Sinon (défaut), l’information n’est pas disponible.
Cache en lecture
Si (A) présent dans cache Alors
Charger processeur avec (A)
Sinon
Charger cache avec (A) et ses voisines
Charger processeur avec (A)
FinSi
Cache en écriture
Si (A) présent dans cache Alors
Modifier (A) dans le cache
Modifier (A) en mémoire principale
Sinon
Modifier (A) en mémoire principale
FinSi
Glossaire des termes clés
- Adresse : numéro binaire identifiant une case mémoire.
- Bus d’adresse : ensemble de fils transportant l’adresse d’une case mémoire.
- Bus de donnée : ensemble de fils transportant les données vers ou depuis la mémoire.
- Cellule mémoire : élément de base stockant un bit.
- CS (Chip Select) : entrée de sélection d’une mémoire.
- OE (Output Enable) : entrée autorisant la sortie des données pour la lecture.
- WR (Write) : entrée autorisant l’écriture dans la mémoire.
- EPROM : mémoire morte effaçable par ultraviolets et reprogrammable.
- EEPROM : mémoire morte effaçable électriquement et reprogrammable.
- Flash EPROM : mémoire morte programmable et effaçable électriquement avec un mode rapide.
- RAM : mémoire vive, volatile, pouvant être lue et écrite.
- SRAM : mémoire vive statique, rapide, basée sur des bascules.
- DRAM : mémoire vive dynamique, basée sur des condensateurs, de grande capacité.
- Décodeur d’adresse : circuit permettant de sélectionner une mémoire parmi plusieurs selon les bits d’adresse.
- Cache : mémoire intermédiaire rapide entre processeur et mémoire centrale.
- Haute impédance : état d’un bus où il ne conduit pas de courant, évitant les conflits.
Points clés à retenir
- Les mémoires se divisent en mémoires vives (volatiles) et mémoires mortes (non volatiles).
- Le bus d’adresse permet de sélectionner une case mémoire, tandis que le bus de donnée transporte les informations.
- La sélection CS évite les conflits sur le bus de donnée lorsque plusieurs mémoires sont connectées.
- Les mémoires mortes peuvent être programmées une ou plusieurs fois selon leur type (ROM, PROM, EPROM, EEPROM, Flash).
- Le décodage d’adresse permet de gérer plusieurs boîtiers mémoire sur un bus commun.
- La hiérarchie mémoire optimise les temps d’accès en combinant registres, cache, mémoire centrale et mémoire de masse.
- Le principe de localité justifie l’usage de la mémoire cache pour accélérer l’accès aux données fréquemment utilisées.
Commentaires
Aucun commentaire pour le moment. Posez la première question.