Vous êtes sur la page 1sur 25

Avoir une idée sur le fonctionnement et la structure interne

de la mémoire centrale et calculer sa capacité.


Jusqu’à présent on a parlé de la mémoire centrale
(mémoire vive ou RAM) comme étant une sorte de « boite
noire » dans laquelle le processeur peut placer des suites
binaires pour les retrouver ultérieurement.

Tout au long de l’histoire de l’informatique, la mémoire


centrale a été réalisée selon plusieurs principes (tubes à
vide, tores magnétiques et semi conducteurs) pour
mémoriser l'information élémentaire ou le bit.
La mémoire vive est constituée de centaines de milliers
de petits condensateurs emmagasinant des charges.
Lorsqu'il est chargé, l'état logique du condensateur est
égal à 1, dans le cas contraire il est à 0.

chaque condensateur représente un bit de la mémoire.

Les condensateurs sont rechargés (rafraîchis) à un


intervalle de temps régulier appelé cycle de
rafraîchissement. (exemple : les mémoires DRAM
nécessitent des cycles de rafraîchissement de 15 ns).
Chaque condensateur est couplé à un transistor
permettant de « récupérer » ou de modifier l'état du
condensateur.
Ces transistors sont rangés sous forme de tableau
(matrice), c'est-à-dire que l'on accède à une case
mémoire (point mémoire) par une ligne et une colonne.

Chaque case mémoire est caractérisé par une adresse,


correspondant à un numéro de ligne et un numéro de
colonne. Cet accès n'est pas instantané et s'effectue
pendant un délai appelé temps de latence.

Le temps l'accès à une donnée en mémoire est égal : au


temps de cycle auquel il faut ajouter le temps de latence.
Point mémoire : C’est un circuit à deux états stables,
capable de stocker l’un des deux chiffres binaires 1, 0
(digits).

Mot mémoire : Pour accéder à la mémoire centrale, on doit


lire ou écrire un ensemble de bits de taille fixée à l’avance.
Ce lot de bits à accéder soit lecture ou en écriture,
s’appelle mot mémoire. La mémoire centrale n’est donc
qu’une suite de mots. Chaque mot est identifié par un
numéro unique appelé adresse.
!

Pour pouvoir identifier individuellement chaque mot on


utilise k lignes d'adresse.
La taille maximale d'un bloc mémoire est donc 2k mots.
Le premier mot se situant à l'adresse 0 et le dernier à
l'adresse 2k - 1.
Une ligne de commande (R/W) indique si la mémoire est
accédée en écriture (mémorisation) ou en lecture
(restitution).
Les accès en entrée et en sortie peuvent être confondus en
un seul canal bidirectionnel.

"
!

La ligne de validation ou de sélection du bloc (CS) n’est


autre que la commande d’autorisation de la mémoire.
Un bloc mémoire peut être représenté par la figure
suivante :

#
!

Dispositif de sélection et d’adressage : Ce circuit permet de


localiser un mot mémoire étant donnée son adresse dans le
registre d’adresses, puis d’effectuer l’opération d’accès (en
lecture ou en écriture) depuis ou vers le registre mot.

Registre d’adresses : Le registre d’adresse qui appartient à


l’unité centrale de traitement (processeur), sert comme
renseignement pour le dispositif de sélection et d’adressage,
pour localiser le mot à lire ou à écrire.

$%
!

Registre mot : Il doit contenir la valeur du mot à écrire


dans la mémoire centrale (MC) et ce avant une opération
d’écriture. Il contiendra aussi la valeur du mot après une
opération de lecture.

Lecture d’un mot mémoire : Pour lire un mot mémoire,


l’unité centrale de traitement doit mémoriser l’adresse de
ce mot dans le registre d’adresses, ensuite elle donne
l’ordre d’accès en lecture au dispositif de sélection et
d’adressage (CS à 1 et R/W à 1). Celui-ci va faire sortir la
valeur du mot considéré vers le registre mot.
$$
!

Ecriture d’un mot mémoire : L’unité centrale de traitement


va mémoriser l’adresse du mot à écrire dans le registre
d’adresses. En même temps, elle va passer la valeur à
écrire dans le registre mot. Elle donne ensuite un ordre
d’écriture au dispositif de sélection et d’adressage. Celui-ci
va transférer la valeur du registre mot vers le mot mémoire
concernée.

$
!

Remarques :
1) La taille du registre mot (RM) doit être identique à la
taille du mot mémoire.

2) La taille du registre d’adresses (R@) détermine le nombre


maximum de mots dans la mémoire centrale.

$
!

Il existe plusieurs manières de réaliser une mémoire d’une


capacité déterminée. Soit par exemple une mémoire d’une
capacité de 8 Ko soit 64 kbits. Elle peut être réalisée selon
le brochage de la figure suivante :

$
!

Les broches :
A0 à A12 : broches d’adressage (bus d’adresses).
D0 à D7 : données (bus de données).
R, W : bus de commandes pour déclencher une lecture ou une écriture.
CS : permet la sélection d’un boîtier de mémoire (puce mémoire).
ready (prêt) : est un signal sortant vers le processeur permettant de
synchroniser la fréquence d’horloge de la mémoire avec celle du
processeur.

Cette puce mémoire a donc une capacité de 213 mots de 8


bits (soit 213 octets, ou 216 bits).

$
&' $
Si le registre d'adresse d'une mémoire comporte 32 bits, calculer :
1) le nombre de mots adressables si 1 mot = 1 byte.
2) la plus haute adresse possible pour ces mots de 1 byte.
3) le nombre de mots adressables si 1 mot = 32 bits.
4) la plus haute adresse possible pour ces mots de 32 bits.

$
&' $ () *
Avec un registre d'adresse de 32 bits, on a :
1) 232 mots de 1 byte (taille de la mémoire est 4 Gigabytes).
2) la plus haute adresse est 232 - 1 = 4294967296 - 1 =
4294967295.
3) 232 mots de 32 bits (taille de la mémoire est 16 Gigabytes).
4) la plus haute adresse est toujours 4294967295.
On constate que le nombre de mots est le même quelle que soit la taille
des mots, ce qui est normal car il ne dépend que du nombre de bits de
l'adresse. Par contre la taille de la mémoire est différente dans les deux cas,
elle est de 232 x 8 bits dans le 1er cas, et de 232 x 32 bits dans le 2ème cas.

$
&'
On considère une mémoire centrale de 2 MBytes, où chaque
byte est adressable séparément :
1) calculer l'adresse, en octal, du sixième élément d'un
tableau dont l'adresse du premier élément est 778, et dont
tous les éléments sont composés de 16 bits.
2) calculer, en décimal, le nombre de bytes précédant
l'adresse 778.
3) calculer la taille de cette mémoire en l'exprimant en mots
de 16 bits et en mots de 32 bits.

$"
&' () *
Mémoire centrale de 2 MBytes :
1) chaque élément est stocké sur 2 bytes, donc le sixième
élément se trouve à l'adresse de départ + 10 bytes, ce qui
donne 778 + 128 = lll8 (ou 778 = 6310, 63 + 10 = 7310)
2) en décimal 778 = 6310, donc, avant cette adresse, on a les
adresses de 0 à 62 de mémoire disponibles ce qui donne
63 bytes.
3) la taille de la mémoire est de 2 MBytes ou de 1 Mmots de
16 bits, ou de 512 Kmots de 32 bits.

$#
&'
Soit une mémoire centrale de 1 Mmots de 32 bits réalisée avec des
puces de 16 Kbits. Cette mémoire peut être organisée suivant
plusieurs principes. Nous considérerons les trois suivants :
un bit par puce : un mot est constitué de 32 x 1 bit provenant
chacun d'une puce différente, donc 32 puces sont nécessaires pour
réaliser un mot;
16 bits par puce : un mot est constitué de 2 x 16 bits. Deux puces,
fournissant chacune 16 bits, sont nécessaires pour former un mot
de 32 bits;
32 bits par puce : un mot est constitué de 1 x 32 bits provenant de
1a même puce.

%
&'
Calculer :
1) le nombre de bits nécessaires pour adresser toute la mémoire
dans chacun des cas.
2) le nombre de pattes de chaque puce utilisées pour
l'adressage et pour les données dans chacun des cas.

$
&' () *
Organisation d'une mémoire de 1 Mmots de 32 bits :
1) les adresses d'une mémoire de 1 Mmots doivent avoir
20 bits, car 220 = 106 = 1 M, et ceci quelle que soit la longueur
des mots de la mémoire et quelle que soit son organisation.
2) nombre de bits d'adresses et de données d'une puce de 16 Kbits :
a) 1 bit par puce : les puces sont organisées en 16 K x 1 bit, il faut
pouvoir adresser chaque bit de la puce. Les adresses ont donc 14
bits car 214 = 24 x 210 = 16 x 1 K. Chaque puce ne fournit qu'un
seul bit, donc une puce a 14 pattes d'adresses et 1 patte de
données.
&' () *
b) 16 bits par puce : les puces sont organisées en 1 K x 16 bits, il
faut pouvoir adresser chaque groupe de 16 bits. Comme il y a 1K
groupes de 16 bits, il faut 10 bits d'adresses car 210 = 1 K.
Chaque puce fournit 16 bits, donc une puce a 10 pattes d'adresses
et 16 pattes de données.
c) 32 bits par puce : les puces sont organisées en 512 x 32 bits, il
faut donc 9 bits d'adresses car 29 = 512. Chaque puce fournit 32
bits, donc une puce a 9 pattes d'adresses et 32 pattes de données.
&'
On considère une machine avec la configuration suivante :
mémoire centrale de taille 1Moctets.
mot mémoire de taille 2 octets.
bus d’adresse (ou registre adresse) de taille 20 bits.

1) Calculer la taille minimale du bus d’adresse qui permet


d’accéder à cette mémoire.
2) Déterminer la plage d’adressage de cette mémoire (adresse
minimale et adresse maximale).
&'
3) Cette mémoire est constituée de deux blocs séparés (2 puces différentes).
Le premier est une DRAM de taille 512Koctets adressable à partir de
l’adresse (00000)16 et le deuxième est une SRAM de taille 512Koctets
adressable à partir de l’adresse (60000)16 .
a) Déterminer les deux plages d’adressage respectivement de la DRAM et la
SRAM.
b) Quelle est la taille maximale que peut avoir la mémoire centrale sur cette
machine.
c) Justifier pourquoi la mémoire centrale de cet ordinateur est extensible.
d) Déterminer la taille de la mémoire d’extension.
e) Justifier pourquoi la mémoire d’extension doit être organisée en au
moins deux blocs mémoires (c.a.d deux puces différentes).

Vous aimerez peut-être aussi