Vous êtes sur la page 1sur 27

CHAPITRE II

LES MEMOIRES
Introduction
Le but de ce chapitre est de :
 présenter les mémoires à semi-conducteur, en particulier les mémoires mortes, de façon à
comprendre leur fonctionnement et à les utiliser pour la réalisation de fonctions logiques.
 constituer des blocs mémoires à partir des blocs mémoires élémentaires,
 traiter le problème de décodage d’adresse dans les systèmes à microprocesseurs.

Une mémoire est un dispositif d’enregistrement, de conservation et de restitution de l’information.


 les mémoires VIVES : ce sont des mémoires pour lesquelles on ne peut pas garantir l’intégrité
de l’information inscrite si entre temps il y a eu interruption de l’alimentation électrique.
Lorsqu’elles sont alimentées, elles peuvent être lues et écrites.
 les mémoires MORTES : ce sont des mémoires pour lesquelles on inscrit l’information dans
leur structure matérielle. Elles conservent ainsi l’information même en l’absence de
l’alimentation électrique. Cette classe est la plus adaptée pour être considérée comme un
circuit logique programmable. L’écriture appelée aussi programmation, se fait à l’aide d’un
dispositif spécial appelé programmateur.

Architecture et Microprocesseur 1
Organisation de la mémoire

1. Cellule élémentaire et mot mémoire


L’élément de base d’une mémoire à semi-conducteur est le bit, stocké dans une cellule mémoire,
appelée aussi point mémoire.
La cellule élémentaire d’une mémoire morte peut être assimilée à un interrupteur à semi-conducteur
constitué soit d’une diode soit de transistors.
Le cellule élémentaire d’une mémoire vive peut être assimilée à une bascule RS, JK ou D. Elle est
généralement du type D.
Chaque mot mémoire est contenu dans une case mémoire.

2. Bus d’adresse
Une mémoire contient plusieurs cases. Pour identifier chaque case, on lui attribue un numéro
appelé adresse. Cette adresse s’obtient par la combinaison binaire d’un ensemble de fils appelé
bus d’adresse.

Architecture et Microprocesseur 2
Lorsque l’on a une mémoire de n bits d’adresse :
n
sa capacité est C=2 cases
n
ses cases sont numérotées de 0 à 2 -1
son bus d’adresse est noté An-1…….A0
10
Lorsque C vaut 1024 cases soit 2 cases  une mémoire de 1 kilo cases notée 1Kcases.
20
Lorsque C vaut 1024 Kilo cases  1024*1024 cases soit 2 cases  une mémoire de 1 Méga cases
notée 1Mcases.

3. Bus de donnée
Pour mettre le contenu d’une case mémoire en relation avec l’extérieur, la mémoire dispose d’un
ensemble de fils appelé bus de donnée.

Architecture et Microprocesseur 3
Fonctionnement d’une mémoire

1. Notion de sélection d’une mémoire


Les mémoires sont conçues pour pouvoir être connectées ensemble sur un même bus de donnée. Il
faut donc éviter les conflits électriques entre des mémoires qui tenteraient de mettre en même
temps les données sur le bus commun.
Pour cela, le mémoire est dotée d’une entrée de sélection CS (Chip Select). Cette entrée permet de
déconnecter électroniquement du bus de donnée lorsqu' elle n’est pas sélectionnée.

Si CS = 0  la mémoire et sélectionnée et le bus de donnée interne peut être connecté au contenu


de la case d’adresse An-1….A0.

Si CS = 1  la mémoire est déconnectée et le bus de donnée externe est en haute impédance.

Architecture et Microprocesseur 4
2. Notion de lecture d’une mémoire
Lire une mémoire consiste à transférer sur son bus de donnée externe le contenu d’une case
mémoire dont le numéro est placé sur le bus d’adresse.
La mémoire dispose d’une entrée notée OE : Output Enable (autorisation de sortie des données).
Cette entrée permet de donner l’ordre de lecture.

Si OE = 0 alors on autorise la sortie des données.


Si OE=1 alors il n’y a pas de lecture et le bus de donnée est en haute impédance.
La lecture effective n’a lieu que si la mémoire est sélectionnée (CS=0)

Architecture et Microprocesseur 5
3. Notion d’écriture mémoire
Ecrire dans une mémoire, on dit aussi programmer une mémoire, consiste à transférer la donnée
présente sur le bus de données dans le contenu de la case mémoire dont le numéro est présenté sur
le bus d’adresse.
La mémoire dispose d’une entrée notée WR par laquelle on donne l’ordre d’écriture.
Si WR=0 alors l’écriture est possible si bien sur la mémoire est sélectionnée (CS=0).
Si WR=1 alors il n’y a pas d’écriture.

Architecture et Microprocesseur 6
Architecture et Microprocesseur 7
Architecture et Microprocesseur 8
Architecture et Microprocesseur 9
Types de mémoire à semi-conducteur

1. Mémoires vives : RAM


Il existe deux types de mémoire vive :
 la mémoire vive statique SRAM : elle est rapide et consommatrice d’énergie. L’élément de
base est du type de la bascule D.
 La mémoire vice dynamique DRAM : elle est de grande capacité. L’élément de base est
équivalent à un condensateur.
La mémoire RAM n’est pas très utilisé pour la réalisation des systèmes logiques, car il faudrait
recharger leur contenu après chaque mise sous tension.

2. Mémoires mortes : ROM


Il existe plusieurs types de mémoire morte qui diffèrent par :
soit leur structure interne,
soit le nombre de reprogrammation possibles,
soit le mode d’effacement.

Architecture et Microprocesseur 10
Programmer une mémoire morte consiste à modifier son contenu (c’est une opération d’écriture).
Lorsqu’une mémoire n’est pas programmée, on dit qu’elle est vierge.

 ROM (Read Only Memory) : elles sont programmables à la fabrication par le constructeur.

 PROM (Programmable ROM) : elles sont programmables une seule fois par l’utilisateur.

 EPROM (Erasable PROM) : elles sont programmables plusieurs fois et effaçables par
exposition aux ultraviolets à travers une fenêtre réservée à cet effet. L’effacement est global; il
consiste à remettre tous les bits de la mémoire dans leur état de virginité. La programmation
nécessite une tension élevée (~12,5V) par rapport à la tension d’alimentation.

 EEPROM (Electrically EPROM) : elles sont programmables plusieurs fois et effaçables


électriquement. L’opération d’écriture commence toujours automatiquement par l’effacement
de la case puis se termine par l’écriture effective. La programmation d’une case dure environ
10ms.

Architecture et Microprocesseur 11
 Flash EPROM (EPROM rapide en programmation) : elles sont programmables plusieurs fois et
effaçables électriquement. La différence avec les EPROM réside dans la séquence de
programmation et le mode d’effacement.

Les noms génériques sont :


 pour les EPROM :
8 Koctets : 2764 ou 27C64
16 Koctets : 27128 ou 27C128
32 Koctets : 27256 ou 27C256
64 Koctets : 27512 ou 27C512
Elles sont organisées en mots e 8 bits. Les chiffres 64, 128, 256 et 512 représentent la capacité de
la mémoire exprimée en Kbits.

 pour les EEPROM : leurs dénominations sont presque identiques à celle des EPROM, il suffit
de remplacer 27 par 28.

 pour les flash EPROM : la lettre C est remplacée par F.

Architecture et Microprocesseur 12
Constitution de blocs mémoire :
Décodage d’adresse
Exemple : connexion de trois boitiers mémoire d’une capacité de 8 Ko chacun (13 lignes
d’adresses) sur un bus d’adresse de 16 bits.

Architecture et Microprocesseur 13
Dans un même boîtier, une case mémoire est désignée par les bits d’adresses A0 à A12 :

Pour atteindre la mémoire N°1  A13=1 et A14=A15 =0  la plage d’adresses occupée par cette
mémoire est donc :

Pour la mémoire N°2  A13= 0, A14= 1 et A15= 0  la plage d’adresses occupée cette mémoire :

Pour la mémoire N°3  A13= 0, A14= 0 et A15= 1  la plage d’adresses occupée cette mémoire :

Architecture et Microprocesseur 14
Les trois bits A13, A14 et A15 fournissent en fait 8 combinaisons, d’où la possibilité de connecter
jusqu’à 8 boîtiers mémoire de 8 Ko sur le bus. La mémoire totale implantée devient donc de 8 × 8 =
64 Ko : valeur maximale possible avec 16 bits d’adresses.
Pour cela, il faut utiliser un circuit de décodage d’adresses : un décodeur 3 vers 8.

Architecture et Microprocesseur 15
Table de vérité du décodeur d’adresses :

Le mapping de la mémoire :

Architecture et Microprocesseur 16
Hiérarchie mémoire

L’ordinateur contient différents niveaux de mémoire, organisés selon une hiérarchie mémoire.

Mémoires de stockage :
Mémoires internes : mémoires volatiles mémoires permanentes

Registres Mémoires Caches Mémoires Centrales Mémoires de masse


N bits (32, 64) Koctets Goctets 100 -200 Goctets
1 nanoseconde 5 nanosecondes 10 nanosecondes 5 millisecondes

Architecture et Microprocesseur 17
Mémoire morte non
contient les informations volatile (lecture): contient
les plus récemment accédées par l’amorce (boot) de
le processeur l’ordinateur

Registre Mémoire Mémoire Mémoire


SRAM DRAM ROM

contient les informations Mémoire Vive, volatile (lecture/écriture) :


manipulées contient le code et les données
couramment par le des programmes exécutés par le processeur
processeur

Architecture et Microprocesseur 18
La mémoire cache est une mémoire intermédiaire placée entre le processeur et la mémoire centrale
dont le temps d'accès est de 4 à 20 fois inférieur à celui de la mémoire centrale. Elle comporte un
nombre fini d’entrées.

Processeur mémoire mémoire


Registre cache centrale

Architecture et Microprocesseur 19
1. Principe de localité

1. L'info cherchée est-elle dans le cache?

OUI  Succès (a) : ramener l'info dans le


processeur.
NON  Défaut (2) : chercher l'info dans
la mémoire centrale.

2. L'info est-elle en mémoire centrale ?

OUI  Succès (b) : ramener l'info dans le


cache, puis dans le processeur (a)
NON  Défaut

Architecture et Microprocesseur 20
2. Le cache en lecture

Si(A) présent Alors Charger processeur avec (A)


Sinon Charger cache avec (A) et ses voisines
Charger processeur avec (A)
FinSi
FinSi
Architecture et Microprocesseur 21
Si (A) présent Alors Charger processeur avec (A)
Sinon Charger cache avec (A) et ses voisines
Charger processeur avec (A)
FinSi
FinSi
Architecture et Microprocesseur 22
Si (A) présent Alors charger processeur avec (A)
Sinon charger cache avec (A) et ses voisines
charger processeur avec (A)
FinSi
FinSi
Architecture et Microprocesseur 23
3. Le cache en écriture

Si (A) présente Alors Modifier (A) dans le cache


Modifier (A) en mémoire principale
Sinon Modifier (A) en mémoire principale
FinSi

Architecture et Microprocesseur 24
Si (A) présente Alors Modifier (A) dans le cache
Modifier (A) en mémoire principale
Sinon Modifier (A) en mémoire principale
FinSi

Architecture et Microprocesseur 25
Si (A) présente Alors Modifier (A) dans le cache
Modifier (A) en mémoire principale
Sinon Modifier (A) en mémoire principale
FinSi

Architecture et Microprocesseur 26

Vous aimerez peut-être aussi