MEM-DECODAGE
MEM-DECODAGE
MEM-DECODAGE
mémoire
Objectifs :
Connaître et comprendre :
Etre capable :
Mots clés
Octet ROM
mot SRAM
cellule Bus
adresse DRAM
capacité PROM
écriture EPROM
lecture Mémoire flash
RAM
1
I. Généralités sur les mémoires
Un ordinateur a deux caractéristiques essentielles qui sont la vitesse à laquelle il peut traiter un grand nombre
d’informations et la capacité de mémoriser ces informations. C’est cette deuxième caractéristique que nous allons
étudier.
Mémoire : Unité Fonctionnelle qui peut recevoir, conserver et restituer des informations.
On distingue deux grands types de mémoires : les mémoires centrales (électroniques) et les mémoires de masse.
Introduction : place
lace des mémoires dans les systèmes à microprocesseurs
2
Registres Mémoires caches Mémoires centrales Mémoires de masse
Mémoires internes : mémoires volatiles Mémoires de stockage : mémoires
permanentes
1.1 Les registres
Tailles des registres : 8, 16, 32, 64,, 128, … bits
Eléments de mémoires situés dans l’unité centrale de traitement, les registres sont caractérisés par une grande
vitesse et servent principalement au stockage des opérandes et des résultats intermédiaires.
Caractéristiques essentielles des registres
egistres
Soit la donnée ou l’instruction requise est présente dans le cache et elle est alors envoyée directement au
microprocesseur. On parle de succès de cache. (a)
Soit la donnée ou l’instruction n’est pas dans le cache, et le contrôleur de cache envoie alors une requête à la
mémoire principale. Une fois l’information récupérée, il la renvoie au microprocesseur tout en la
stockant dans le cache. On parle de défaut de cache. (b)
Il est courant de rencontrer des taux de succès moyen de l’ordre de 80 à 90%.
Registre ≤1 cycle
Cache L1 ~3 cycles
La mémoire physique de nos appareils, même équipés de 1,2, 4 Go, demeure limitée pour être en mesure de
supporter les exigences du système d’opération en matière de mémoire de travail.
Principe de base
La pagination fonctionne ainsi :
► La mémoire physique est divisée en petites unités appelées cadres de pages
► La mémoire virtuelle est divisée en unités de même taille, appelées pages
► Lorsqu’un programme tente d’accéder à une page dans la mémoire virtuelle, le MMU fait correspondre
celle-ci au cadre de page correspondant, dans la mémoire physique
4
2. Caractéristiques des mémoires
Adresse : c’est la valeur numérique désignant un élément physique de mémoire. Par exemple l’adresse
d’un mot en mémoire centrale.
La capacité d’une mémoire indique la quantité de données que la mémoire peut stocker. Cet
Cette capacité
se mesure en bits, en octets, en mots.
C = 2N x M avec 2N=nombres de cases mémoires (lignes du bus d’adresse) et M= longueur du mot.
Multiples Notations Valeur en octets
Kilo-octet
octet Ko 1024 octets
Méga-octet
octet Mo 1024 Ko
Giga-octet
octet Go 1024 Mo
Téra-octet
octet To 1024 Go
Temps d’accès : c’est le temps qui s’écoule entre le lancement d’une opération d’accès (lecture ou
écriture) et son accomplissement.
Temps Cycle : c’est le temps minimal s’écoulant entre deux accès successifs à la mémoire. Il est plus
long que le temps d’accès car le bon fonctionnement de la mémoire nécessite quelques opérations de maintien,
de stabilisation des signaux dans les circuits, de synchronisation, etc.
Exemple : Chronogramme d’un cycle de lecture
5
3. Les différents types d’accès
Accès séquentiel : c’est l’accès le plus lent. Pour accéder à une information particulière, on est obligé de
parcourir toutes celles qui la précèdent. (exemple : les bandes magnétiques)
Accès direct : les informations ont une adresse propre, ce qui permet d’y avoir accès directement
(exemple : mémoire centrale, regregistres)
Accès semi-séquentiel : c’est une combinaison des accès direct et séquentiel. Par exemple pour un disque
magnétique, l’accès au cylindre est direct et l’accès au secteur est séquentiel.
Mémoires vives
Mémoires mortes
Mémoires spécialisées
Nous nous intéresserons uniquement aux mémoires centrales et plus précisément aux ROM et RAM.
6
2. Cycle de fonctionnement
La mémoire contient le programme (sous forme d’instructions codées en binaire) et les données (informations
utilisables au cours de l’exécution). Sa structure de base est donnée par la figure suivante :
Fig. 11.2
7
3. Les ROM
Les ROM sont à accès aléatoire. Le brochage d’une ROM est donné par le schéma ci
ci-dessous.
PROM Permet une écriture unique mais faite par l’utilisateur au moyen d’une
machine spéciale. Ces mémoires comprennent un ensemble de fusibles
qui sont détruit lors de la programmation de la mémoire.
Erasable PROM
Elles peuvent être effacées une fois écrites au moyen d’un faisceau
Mémoires EPROM ultraviolet qui force tous les bits à la même valeur. Elles ont la même
mortes organisation que les SRAM. Elles sont utilisées en petites séries pour la
mise au point des PROM.
Electrically E
EPROM
Elles sont effaçables électriquement sans intervention d’un rayonnement
EEPROM ultraviolet. Elles ne sont pas volatiles, facilement réutilisable mais leur
prix de revient et leur capacité (inférieur à 2 Mo) ne les rendent pas très
courantes.
C’est un
unee mémoire de type EEPROM qui se reprogramme
FLASH électriquement par bloc de 64 Ko. Son cycle de vie est limité (100 000
écriture). Prix de revient encore élevé.
8
D’autres CI mémoires sont fournis parle tableau ci
ci-dessous.
9
4.1
.1 Brochage des mémoires vives
4.2
.2 Les différents types de RAM
On distingue deux catégories de RAM : les SRAMs et les DRAMs.. Les éléments de base des SRAM
sont des bascules tandis que ceux des DRAM sont des capacités. De ce fait, les données stockés dans
une SRAM y seront indéfiniment maintenus tant la mémoire est alimentée. Par contre les données
contenues dans une mémoire de type DRAM sont besoin d’être régulièrement rafraîchies.
SRAM et DRAM sont volatiles. En gén
général,
éral, le temps d’accès des SRAMs est beaucoup plus petit que
celui des DRAMs. Cependant, à coût et encombrement physique égal, les DRAMs permettent de
stocker plus de données.
Static RAM
10
4.3 Circuits intégrés RAM
Le 74S89A est un circuit intégré mémoire d’une capacité 64 bits. Il possède 4 lignes d’adresses, un bus
de données de 4 lignes également. Le brochage du CI ainsi que la table de fonctionnement associé sont
donnés plus haut. Les entrées et sorties de données du CI sont complémentées.
ME = Memory Enable input
11
WE = Read Write Enable (same as RD/ WR)
Qi
Di
Le tableau ci-dessous
dessous nous donne une liste de CI RAM couramment utilisés.
Sélection de l’adresse mémoire par application de la combinaison désirée sur le bus d’adresse.
Sélection du circuit par activation de la broche Chip Select (CS).
Activation de la commande de lecture
Lecture de l’information et mise en place sur le bus de données
Sélection de l’adresse mémoire par application de la combinaison désirée sur le bus d’adresse.
12
Mise en place de la donnée sur le bus de données
Sélection du circuit par activation de la broche Chip Select (CS).
Activation de la commande d’écriture
6. Décodage d’adresse
Introduction
Un système à microprocesseur possède des périphériques (EPROM, RAM, ACIA, PIA…). Pour
permettre au microprocesseur de sélectionner un seul de ces périphériques, il faut mettre en place le
décodage d’adresse.
Celui-ci permettra d’affecter une plage d’adresses à un seul périphérique, sachant que deux
périphériques ne peuvent pas se retrouver à une même adresse.
Ceci permet d’éviter les conflits sur le bus de données.
Un système à microprocesseurs possède toujours plusieurs mémoires séparées (au moins une RAM et
une ROM). Cet ensemble est vu comme une mémoire unique globale par le microprocesseur et est appelé
espace d'adressage.
Fonctionnement du décodage d’adresse
Chacun
acun des périphériques possède une entrée de sélection. C’est grâce à cette entrée que la fonction «
décodage d’adresse » sélectionnera ou non le périphérique.
Par conséquent la fonction « décodage d’adresse » possédera autant de sorties que de périphériques
présents sur le système.
Exemple d’un décodage d’adresses avec une EPROM et une RAM possédant une entrée de sélection
active sur niveau bas :
13
Exemple :
14
L'exemple qui suit montre l'organisation d'un espace d'adressage 16 bits (64k). Les adresses sont
exprimées en hexa (regroupement des adresses par 4) pour plus de concision.
15
8. Extension des mémoires : taille mémoire et longueur des mots
Les mémoires vives ou mortes sont capables de stocker des mots binaires de 1, 2, 4, 8 bits en règle
générale. Par assemblage, nous pourrons augmenter la longueur des mots ou la taille de la mémoire.
8.1 Longueur des mots
Comment à l’aide de mémoire 8 bits obtenir des mots de 16 bits : il suffit de monter deux boîtiers 8 bits
en parallèle. On monte en parallèle les broches d’adresse et les broches de sélection.
Voir Figure 3.
8.2 Taille mémoire
Un autre problème qui se pose est celui de la taille de la mémoire à constituer. Comment avec des
boîtiers de 4 ou 8 Kmots (4 ou 8 Ko) par exemple, construire une mémoire de 16K ?
Il suffit de monter les boîtiers en série. On monte les adresses en parallèle et les sorties en série ; un fil (
ou plusieurs) du bus d’adresse étant utilisés pour assurer la sélection du boîtier (soit directement soit à
travers un décodeur). Voir figure 4.
Figures
16