MEM-DECODAGE

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 16

Chapitre : mémoires, décodage d’adresses et plan

mémoire
Objectifs :
Connaître et comprendre :

 les caractéristiques de base d’une mémoire


 les différents types de mémoires à semi-conducteur
 comprendre l’organisation typique d’une cellule mémoire morte (ROM, PROM, EPROM,…)
 les opérations de lecture et d’écriture
 le décodage d’adresse
 l’extension de mémoire afin d’augmenter la taille ou la capacité

Etre capable :

 Programmer des EPROM


 Choisir des mémoires pour construire un système à microprocesseur

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

Le programme et les données nécessaire


nécessaires à l’exécution du programme sont rangés dans la mémoire principale.
La mémoire de masse possède une grande capacité de stockage et permet de stocker une importante quantité de
données de manière permanente.
1. Hiérarchie des mémoires
Les différents éléments de la mémoire d’un ordinateur sont ordonnés en fonction des cri
critères suivants : temps
d’accès, capacité, et coût.

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

 Se trouvent intégrés dans le CPU


 Servent à gérer l'exécution des opérations
o Spécialisés, ex : adresse de la prochaine instruction en mémoire
o Généraux : résultats intermédiaires des calculs
 Taille globale faible
 Très rapides (vitesse du CPU)
1.2 La mémoire cache
Encore appelé antémémoire, c’est une mémoire rapide de faible capacité (par rapport à la mémoire centrale)
utilisée comme mémoire tampon entre le CPU et la mémoire centrale. Cette mémoire permet au CPU de faire
moins d’accès à la mémoire centrale
entrale et ainsi de gagner du temps.
Le principe de cache est très simple : le microprocesseur n’a pas conscience de sa présence et lui envoie toutes
ses requêtes comme s’il s’agissait
agissait de la mémoire principale :

 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%.

Quelques caractéristiques de la mémoire cache


3
 La mémoire cache est organisé en plusieurs niveaux (jusqu'à 3 niveaux : L1, L2 et L3)
 De rares processeurs avec un L4
 L3 généralement utilisé pour l'échange de données entre cores dans un processeur multi-core
 L1 et L2 généralement spécifique à un core
 Cache L1 généralement scindé en 2 parties : un dédié aux instructions et l'autre aux données
 Cache Li+1 joue le rôle de cache pour le niveau Li
 Cache Li+1 plus grand que Li mais moins rapide en temps d'accès aux données
Tableau 2 : Temps d’accès pentium M

Elément Temps d’accès

Registre ≤1 cycle

Cache L1 ~3 cycles

Cache L2 ~14 cycles

Mémoire principale ~240 cycles

1.3 La mémoire centrale


C’est l’organe principal de rangement des informations utilisées par le CPU. Pour exécuter un programme, il faut
le charger en mémoire centrale. Cette mémoire est une mémoire à semi-conducteur.

1.4 La mémoire d’appui


Sert de mémoire intermédiaire entre la mémoire centrale et les mémoires auxiliaires. Elle est présente dans les
ordinateurs les plus évolués et permet d’augmenter la vitesse d’échange des informations entre ces deux niveaux.
1.5 La mémoire de masse ou mémoire auxiliaire est une mémoire périphérique de grande capacité et
de coût relativement faible utilisée pour le stockage permanent des informations.
Elle utilise pour cela des supports magnétiques (disque dur, ZIP) ou optiques (CDROM, DVDROM).

Remarque sur la mémoire virtuelle


La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle.
L’implémentation de la mémoire virtuelle gère automatiquement deux niveaux de hiérarchie de mémoire, la
mémoire physique physique (RAM) et la mémoire secondaire (le disque).

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

Débit : C’est le nombre d’informations lues ou écrites par secondes.


Volatilité : elle caractérise la permanence des informations dans une 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 contraire.
Format des données : c’est le nombre de bits que l’on peut mémoriser par case mémoire.
On dit aussi que c’est la longueur du mot mémorisable.

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.

II. Mémoire centrale


Contient les instructions et les données des programmes que l’on désire exécuter, ainsi qu’une partie du système
d’exploitation nécessaire au bon fonctionnement de l’ordinateur.

 Mémoires vives
 Mémoires mortes
 Mémoires spécialisées

1. Présentation des mémoires centrales

Type Avantages Inconvénients


Centrales Très rapides Souvent volatiles
Peu volumineuses Chères
Directement adressables De faible capacité
De masse Peu chères Volumineuses
Non volatiles lentes
De grande capacité
Remarques sur les disques SSD
Les disques durs SSD (Solid State Drive) utilisent
tilisent une mémoire flash (et non mécanique comme les HDD) pour
stocker l’information. Ils offrent une durabilité améliorée et une performance supérieure aux disques durs HDD.
Néanmoins, ces derniers présentent une capacité de stockage généralement plus élevée pour un coup moindre.

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 :

Figure : Structure de base d’une mémoire


De façon simplifiée, une mémoire pouvant être lue et écrite comporte les connexions suivantes
suivante (Fig. ci-dessus) :
– les entrées d’adresses ;
– les entrées et les sorties de données ;
– une entrée de choix entre lecture et écriture (R/W pour read/write) ;
– une entrée de sélection du circuit (CS pour chip select).
Une opération de lecture ou d’écriture
ture s’effectue avec les étapes suivantes :
– la sélection de l’adresse ;
– le choix entre lecture et écriture (niveau appliqué sur R/W) ;
– la sélection du circuit (niveau appliqué sur CS) ;
– la lecture ou l’écriture de la donnée.
L’ensemble de ces opérations
tions forment un cycle de lecture ou d’écriture (Fig. 11.2).
Les chronogrammes font apparaître le temps d’accès ta et le temps de cycle tc.

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.

3.1 Les différents types de ROM

Read Only Memory

ROM Permet un stockage permanent même en l’absence d’alimentation


électrique. L’information stockée dans ces mémoires l’est de manière
définitive. Prix de revient élevé, réservé aux grandes séries.
Programmable ROM.

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é.

3.2 Circuit intégré ROM


Les CI mémoires 27XXX sont une famille de mémoires couramment utilisées. Nous nous intéressons
ici au 2732. Il s’agit d’une EPROM possédant 12 lignes d’adresses et pouvant contenir 4096 octets.
Le brochage physique du composant est donné par la figure ci
ci-dessous.

8
D’autres CI mémoires sont fournis parle tableau ci
ci-dessous.

4. Les mémoires vives


Les mémoires vives sont des mémoires à lecture et écriture.
L’écriture d’une donnée à une adresse mémoire donnée, entraîne l’écrasement de la donnée préalablement
stockée. La lecture du contenu d’une case mémoire entraîne la copie de cette donnée dans le registre de donnée.

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.

5. Interfaçage avec les ROM (Figure 1)


La figure ci-dessous
dessous représente la partie UC (Unité Centrale) et ROM d’un système.
Les 8 lignes du bus de données sont connectées aux sorties (O0 –O7) de la ROM. La sortie de lecture
unique (/RD) va de l’UC à l’entrée d’activation de sortie (/OE) de la ROM.
Les 12 bits les moins significatifs du bus d’adresse (A0 – A11) sontt connectés à la Rom de 4K x 8 bits.
Le décodeur inclus dans le CI ROM peut accéder à n’importe lequel des 4096 (212) mots de 8 bits de la
ROM. Les 4 lignes les plus significatives d’adresse (A12 – A15) vont à une unité de logique
combinatoire : le décodeur
ur d’adresse.
Pour atteindre les données dans la ROM, l’UC doit :

 Initialiser les lignes d’adresse A0 à A11


 Initialiser /OE par la ligne de commande lecture
 Initialiser /Cs par la ligne du décodeur d’adresse et de sélection de puce.

Description d’une opération de lecture (figure 4)

 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

1. Interfaçage avec les RAM (Figure 2)


La figure ci-dessous
dessous représente la Ram et l’UC d’un système. Cette RAM est organisée en unités de
4K x 8 bits, soit 4096 mots de 8 bits.
Description d’une opération d’écriture (figur
(figure 3)

 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 :

Cette la fonction décodage est classiquement dévolue à des décodeurs/démultiplexeurs.


décodeurs/démultiplexeurs
La procédure de détermination des plages d’adresses affectées aux périphériques est définie comme
suit :

13
Exemple :

Fig. : Partitionnement de l'espace d'adressage

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.

FIG : Organisation d'un espace mémoire 64k

7. Plan mémoire associé :

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

Figure 1 : Interfaçage d’une ROM et d’un microprocesseur

Figure 2 : Interfaçage d’une RAM et d’un microprocesseur

16

Vous aimerez peut-être aussi