Vous êtes sur la page 1sur 45

Les mémoires

1
1 Introduction
1.
• A
Avec une bascule
b l on peutt mémoriser
é i une information
i f ti sur 1
seul bit.

• Avec un registre, il est possible de mémoriser une information


sur n bits.

• Si on veut mémoriser une information de taille importante 


il faut utiliser une mémoire.
mémoire

2
read
write Mémoire
Vive
à lect/Ecri
UC
ou
processeur

Bus d ’adresse
Mémoire
B de Donnée
Bus morte


Lect Seule
e
D

E/S
souris clavier,
souris, clavier ..
es
• U
Une mémoire
é i estt un élé
élément
t de
d stockage
t k d'i f
d'information
ti
capable :
– d'enregistrer
d enregistrer une information,
– de la conserver (mémoriser),
– et de la restituer (la lire ou la récupérer par la suite).

• Exemple de mémoire :
– La mémoire centrale
– Un disque dur
– Un flash disque
– …………..
• La mémoire peut être dans le processeur ( des registres) ,
interne (Mémoire centrale ou principale) ou externe (Mémoire
secondaire ).

4
2. Caractéristiques des mémoires
a. La capacité d’une mémoire
• La capacité ( taille ) d’une mémoire est le nombre (quantité)
d’informations qu’on peut enregistrer ( mémoriser ) dans cette
mémoire.
mémoire

• La capacité peut ss’exprimer


exprimer en :

– Bit : un bit est l’élément de base pour la représentation de l’information .


– O
Octet : 1 Octet
O = 8 bits
bi
– kilo-octet (KO ) : 1 kilo-octet (Ko)= 1024 octets = 210 octets
– Méga-octet ( MO) : 1 Méga-octet ( Mo)= 1024 Ko = 220 octets
– Géga-octet ( GO) : Giga-octet ( Go)=1024 Mo = 230 octets
– Téra-octet (To) : 1 Téra-octet (To)= 1024 Go =240 octets

5
Hiérarchie mémoire
2. Caractéristiques des mémoires

b.Volatilité

• Si une mémoire perd son contenu ( les informations ) lorsque


la source d’alimentation est coupée alors la mémoire est dite
volatile.
olatile

• Si une mémoire
é i ne perdd pas ( conserve ) son contenu
t lorsque
l
la source d’alimentation est coupée alors la mémoire est dite
non volatile ( mémoire permanente).

7
2. Caractéristiques des mémoires
c. Mode d’accès à l’information ( lecture /écriture )

• Sur
S une mémoire
é i on peutt effectuer
ff t l’ é ti de
l’opération d :
• lecture : récupérer / restituer une information à partir de la
mémoire.
é i
• écriture : enregistrer une nouvelle information ou modifier
une information déjà existante dans la mémoire .
• Il existe des mémoires qui offrent les deux modes
lecteur/écriture. Ce sont des mémoires vives.
• Il existent des mémoires qui offrent uniquement la possibilité
de la lecture. Ce sont des mémoires mortes.

8
2. Caractéristiques des mémoires

d. Temps d’accès
• C’est le temps nécessaire pour effectuer une opération de lecture ou
d’écriture.
• Par exemple pour ll’opération
opération de lecture , le temps dd’accès
accès est le temps qui
sépare la demande de la lecture de la disponibilité de l’information.

Demande de la
lecture

Disponibilité de
l’information

Temps d’accès

Le temps d’accès
L d’ è est un critère
i è important
i pour déterminer
dé i les
l performances
f d’une
d’ mémoire
é i
ainsi que les performances d’une machine. 9
3 Classification des mémoires
3.

• Les mémoires peuvent êtres classées en trois catégories selon


la technologie utilisée :

– Mé
Mémoire
i à semi-conducteur
i d ( mémoire
é i centrale,
l ROM,
ROM
PROM,…..) : très rapide mais de taille réduite.
– Mémoire
Mé i magnétiqueéti ( disque
di dur,
d disquette,…)
di tt ) : moins
i
rapide mais contient un volume d’informations très grand.
– Mémoire optique ( DVD,
DVD CDROM,..)
CDROM )

10
4. Mémoires à semi-conducteur

Mémoire à
semi-
conducteurs

vives Mortes

Statiques Dynamiques Associatives ROM PROM EPROM

11
4 1 La
4.1. L mémoire
é i vive
i statique
t ti (SRAM)
La mémoire vive statique ou SRAM (Static Random Access Memory) utilise des
bascules comme éléments de stockage.
Elle est très rapide et peu consommatrice d’énergie, mais reste encore très onéreuse.
La mémoire cache d’un ordinateur est généralement constituée de mémoire vive
statique.
q

4.2. La mémoire vive dynamique (DRAM)


La mémoire vive dynamique ou DRAM (Dynamic Random Access Memory) utilise
l’effet capacitif d’un transistor comme élément de stockage.
L’inconvénient de cette méthode de stockage est que l’information ne peut être
conservéeé que très
t è peu de
d temps.
t Il estt alors
l nécessaire
é i de
d rafraîchir
f î hi régulièrement
é liè t la
l
charge électrique contenant l’information. Ceci nécessite l’ajout d’un circuit de
gestion du rafraîchissement.
Son avantage est sa forte densité d’intégration. Il est possible d’intégrer sur une seule
puce, une quantité de mémoire bien supérieure à celle d’une SRAM. Le coût d’une
DRAM devient alors bien inférieur à cette dernière.
La mémoire principale d’un ordinateur est généralement constituée de mémoire vive
dynamique. 12
4 3 La mémoire morte (ROM)
4.3.

Les mémoires mortes ou ROM ((Read Onlyy Memory) y) ppossèdent les


caractéristiques suivantes :
• Elles sont non volatiles : les données sont conservées lors d’une
mise hors tension ;
• Elles sont accessibles en lecture seule.
Le BIOS (Basic Input Output System) dd’un un ordinateur est
généralement contenu dans une mémoire morte.

13
4.3.1. La mémoire morte programmable (PROM)
La mémoire morte pprogrammable
g ou PROM ((Programmable
g Read
Only Memory) ne peut être programmée qu’une seule fois. Il est
impossible d’effacer son contenu. Une fois programmée, elle se
comporte comme une ROM.
O

44.3.2.
3 2 La mémoire morte effaçable et programmable (EPROM)
La mémoire morte effaçable et programmable ou EPROM (Erasable
Programmable
g Read Onlyy Memory)peut
y)p être pprogrammée,
g , effacée et
reprogrammée un certain nombre de fois. Une fois programmée, elle
se comporte comme une ROM. Les deux principaux types
d’EPROM sont :
• Les UV-EPROM (UV Erasable Programmable Read Only
Memory) qui sont effaçables par une exposition aux rayons
ultraviolets. Ce type de mémoire est de moins en moins utilisé.
• Les EEPROM ((Electricallyy Erasable Programmable
g Read Onlyy
Memory) qui sont effaçables électriquement.
14
La mémoire centrale

RAM : Random Acces memory y


Mémoire à accès aléatoire

15
• La mémoire centrale (MC) représente l’espace de travail de
l’ordinateur .

• C’est l’organe principal de rangement des informations


utilisées
tili é par le
l processeur.

• Dans une machine, pour exécuter un programme, il faut le


charger ( copier ) dans la mémoire centrale .

• Le temps d’accès à la mémoire centrale et sa capacité sont


d
deux élé
éléments quii influent
i fl sur le
l temps d’exécution
d’ é i d’
d’un
programme ( performance d’une machine ).

16
5.1. Caractéristiques de la mémoire
centrale
• La mémoire centrale est réalisé eà base de semi-conducteurs.
• La mémoire centrale est une mémoire vive : accès en lecture et écriture.
• L
La mémoire
é i centrale
t l estt dite
dit à accès
è aléatoire
lé t i (RAM : Random
R d A
Acces
Memory) c'est-à-dire que le temps d'accès à l'information est indépendant
de sa place en mémoire.
• La mémoire centrale est volatile : la conservation de son contenu nécessite
la permanence de son alimentation électrique.
• U
Un temps
t d’ è à une mémoire
d’accès é i centrale
t l estt moyen mais
i plus
l rapide
id que
les mémoires magnétiques .
• La capacité d d’une
une mémoire centrale est limitée mais il y a toujours une
possibilité d’une extension.
• Pour la communication avec les autres organes de l’ordinateur, la mémoire
centrale
l utilise
ili les
l bus
b ( bus
b d’adresses
d’ d et bus
b ded données)
d é )
17
5 2 Vue logique de la mémoire centrale
5.2.
Une adresse
•La mémoire centrale peut être vue comme un
large vecteur ( tableau ) de mots ou octets. 0000
0001100
•Un mot mémoire stocke une information sur n
bits. 0011100 0001
• un mot mémoire contient plusieurs cellules 0111100 0002
mémoire.
0001100 …….
•Une cellule mémoire stocke 1 seul bit .
0001100 …….
•Chaque mot possède sa propre adresse.
•Une
U adresse
d estt un numéro
é unique
i quii permett ……..
d’accéder à un mot mémoire.
Contenu d’une case
•Les adresses sont séquentielles ( consécutives ) (un mot)mémoire
•La taille de l’adresse ( le nombre de bits ) dépend
de la capacité de la mémoire.

FFFF
18
5.3. Structure physique d’une mémoire
centrale
•RAM (Registre d’adresse Mémoire ) : ce
registre
g contient l’adresse du mot à lire ou a
R /W
écrire .
•RIM ( Registre d’information mémoire ) :
D
contient ll’information
information lue à partir de la E
mémoire ou l’information à écrire dans la C

mémoire. Bus d’adresse R O


D
A E Structure
•Décodeur
d : permet de
d sélectionner
l i un mot M U interne
mémoire. R
E

•R/W : commande de lecture/écriture , cette


commande permet de lire ou d’écrire dans la
mémoire .
•Bus d’adresses
d adresses de taille k bits RIM
•Bus de données de taille n bits
Bus de données

19
5.4. Sélection d’un mot mémoire
•Lorsque une adresse est chargée dans le registre RAM , le décodeur va recevoir la même
information que celle du RAM.
•A la sortie du décodeur nous allons avoir une seule sortie qui est active  Cette sortie va
nous permettre de sélectionner un seul mot mémoire.

Un mot
mémoire

K bits K bits Une cellule


U ll l
mémoire

n bits 20
5.5. Calcul de la capacité d’une MC

• Soit k la taille du bus d’adresses ( taille du registre RAM)


• Soit n la taille du bus de données ( taille du registre RIM ou la taille d’un
mot mémoire )
• On peut exprimer la capacité de la mémoire centrale soit en nombre de
mots mémoire ou en bits
– La capacité = 2k Mots mémoire
– La capacité = 2k * n Bits
E
Exemple
l :
Dans une mémoire où la taille du bus d’adresses K=14 et la taille du bus de données
n=4, la capacité de cette mémoire est:

C=214 = 16384 Mots de 4 bits


C= 214 * 4 = 65536 Bits = 8192 Octets = 8 Ko
21
6. L’assemblage de mémoires

On veut réaliser une mémoire de capacité C , mais nous disposons


uniquement de boîtiers ( des circuits ) de taille inférieure ?

m’
Boîtier
Capacité
?
Mémoire m
C’
p
Capacité C

n’

n
22
n
Structure d’un
d un boîtier
Un boîtier p
possède la même structure q
qu’une mémoire ( RAM,ROM,….)
, , )
en plus de la commande CS.

R/W CS
CS (Chip Select ) : c’est une
commande en logique
g q négative
g q
qui
permet de sélectionner ( activer ) un D
E
boîtier . R C
O

CS=0 le boîtier est sélectionné A D Mémoire


M E

CS=1 le boîtier n’est pas sélectionné U


R

RIM

23
Solution

• Soit M une mémoire de capacité


p C , tel q
que m est le nombre de
mots et n la taille d’un mot.
• Soit M’ un boîtier de capacité C’ , tel que m’ le nombre de mots et n’
l ttaille
la ill d’
d’un mot.
t
• On suppose que C > C’ ( m >= m’ , n >=n’)

Le nombre de boîtiers M’ nécessaires pour réaliser la mémoire M


est obtenu en calculant les deux facteurs suivants :
– P =m/m’
m/m’
– Q=n/n’

24
• P : permet de déterminer de nombre de boîtiers M’ nécessaires pour
obtenir le nombre de mots de la mémoire M ( extention lignes ).

• Q : permet de déterminer le nombre de boîtiers M’ nécessaires pour


obtenir la taille de mot de la mémoire M ( extension mots ou
extension colonnes).

• P.Q donne le nombre total de boîtiers nécessaires pour réaliser la


mémoire M.

• Pour sélectionner les boîtiers on utilise les bits de poids forts


d’adresses
d adresses. Si P est le facteur d’extension
d extension lignes alors on prend k
bits tel que P=2k.
• Les autres bits d’adresses restants sont utilisés pour sélectionner un
mot dans un boîtier.
25
6.1. L’assemblage en parallèle
L’assemblage en parallèle permet d’accroître la largeur d’une mémoire. C’est-
à-dire la taille des mots qu’elle contient. Cet assemblage augmente donc le
nombre de fils du bus de donnée.
P
Prenons l’
l’exemplel de
d deux
d mémoires
é i RAM possédant éd t chacune
h un bus
b
d’adresse de 10 bits et un bus de donnée de 4 bits. Ces RAM ont donc une
profondeur de 1024 mots et une largeur de 4 bits par mot.

26
27
On remarque que :
• Les bus d’adresse des mémoires internes sont reliés. Ils
forment le bus d’adresse de la mémoire externe

• L
Les bus
b de d contrôle
t ôl des
d mémoires
é i i t
internes sontt reliés.
lié Ils
Il
forment le bus de contrôle de la mémoire externe

• Les bus de donnée des mémoires internes ne sont pas reliés. Ils
sont simplement juxtaposés. Cette juxtaposition forme le bus
d donnée
de d é de
d la
l mémoire
é i externe
t

• Les deux mémoires doivent être actives en même temps afin


d’obtenir une donnée complète sur le bus de donnée de la
mémoire externe.

28
6.2. L’assemblage en série
L assemblage en série permet dd’accroître
L’assemblage accroître la profondeur dd’une
une mémoire
mémoire. C
C’est-à-
est à
dire le nombre de mots qu’elle contient. Cet assemblage augmente donc le
nombre de fils du bus d’adresse.
Prenons l’exemple de deux mémoires RAM possédant chacune un bus d’adresse
d 7 bits
de bi et un bbus dde ddonnée
é dde 8 bi
bits. C
Ces RAM ont donc
d une profondeur
f d de
d
128 mots et une largeur de 8 bits par mot.

29
30
6.3. L’assemblage en parallèle et en série
Il est possible de combiner les deux types d’assemblage. Prenons l’exemple de quatre
mémoires
é i RAM possédant éd t chacune
h un bus
b d’adresse
d’ d de
d 15 bits
bit ett un bus
b ded donnée
d é de
d
8 bits. Ces RAM ont donc une profondeur de 32 768 mots et une largeur de 8 bits par
mot.

31
32
6.4. Le décodage d’adresse

• L’objectif du décodage d’adresse est de faire communiquer un microprocesseur


avec différents composants (mémoires, cartes, périphériques, etc.).
• Afin d’illustrer les principales techniques de décodage d’adresse, nous allons
nous servir
i d’un
d’ exemple l concret :
• On souhaite faire communiquer un microprocesseur avec quatre composants :
une mémoire de type ROM, une mémoire de type RAM et deux périphériques
quelconques
l que l’on
l’ notera P1 et P2.
P2

33
34
Tous les
T l composants t souhaitant
h it t échanger
é h d informations
des i f ti avec
le microprocesseur et accéder aux différents bus doivent posséder
une entrée d’activation CS (Chip Select). En effet, un seul
composant à la
l fois
f i doit
d i accéder
éd aux bus.
b Si plusieurs
l i composants
accèdent aux bus en même temps, cela produira un conflit
d’accès.

Le décodage d’adresse consiste donc à décoder l’adresse


présente
é t sur lel bus
b d’adresse
d’ d d microprocesseur
du i ett à activer
ti
un seul composant en fonction de la valeur de cette adresse.

35
Le bus
L b d’adresse
d’ d d microprocesseur
du i estt divisé
di i é en deux
d parties
ti :
• Les bits de poids fort servent à la sélection des composants ;
• Les bits de poids faible servent à contenir les bus dd’adresse
adresse des
composants.

36
6.4.1. Le décodage linéaire

Le principe du décodage linéaire est d’associer un bit de sélection


par composant (en partant du bit de poids fort).
Dans notre exemple, quatre composants nécessitent quatre bits de
sélection : A19, A18, A17 et A16. Chacun de ces bits doit être
associé à un composant.
composant Dans ll’absolu
absolu, le choix dd’associer
associer tel
composant à tel bit de sélection est arbitraire. Le concepteur fera
un choix en fonction de ses besoins et de ses contraintes.

37
38
6.4.2. Représentation de l’espace mémoire
La représentation de l’espace mémoire d’un microprocesseur
indique pour tous les composants, les adresses auxquelles ces
derniers sont accessibles par le microprocesseur.
Il faut donc déterminer ll’adresse
adresse la plus basse et ll’adresse
adresse la plus
haute de chaque composant dans l’espace mémoire.
Il faut pour cela déterminer les bits de poids fort (sélection) et les
bi de
bits d poidsid faible
f ibl (adressage
( d d composant)) du
du d busb d’adresse
d’ d
du microprocesseur pour chaque composant. S’il existe des bits
inutilisés, qui ne servent ni à l’adressage, ni à la sélection, ils
seront positionnés à 0.
Par exemple pour la ROM :

A16 est à 1 pour sélectionner la ROM ;


A17 A18 et A19 sont à 0 pour désactiver les autres composants ;
A17,
Pour son adresse basse : on positionne ses 16 bits d’adresse à 0 ;
Pour son adresse haute : on positionne ses 16 bits d’adresse
d adresse à 1.
1
39
ROM basse : 0001 0000 0000 0000 0000 = 10000
ROM haute : 0001 1111 1111 1111 1111 = 1FFFF

RAM basse : 0010 0000 0000 0000 0000 = 20000


RAM haute : 0010 0111 1111 1111 1111 = 27FFF

P1 basse : 0100 0000 0000 0000 0000 = 40000


P1 haute : 0100 0000 0011 1111 1111 = 403FF

P2 basse : 1000 0000 0000 0000 0000 = 80000


P2 haute : 1000 0000 0000 0000 1111 = 8000F

Par exemple, si le microprocesseur positionne l’adresse 207F216 sur son bus


d’adresse, alors c’est l’adresse 7F216 de la RAM qui est sélectionnée

40
6.4.3. Le décodage par zone

Le principe du décodage par zone est de diviser l’espace mémoire


en un certain nombre de zones de même taille. Une zone
correspond à une combinaison des bits de sélection. Les bits de
sélection sont toujours les bits de poids fort.

Le décodage par zone permet d’associer un composant par zone.


Puisque dans notre exemple nous avons quatre composants, il
nous faudra
f d au moins i quatre zones ; c’est-à-dire
’ à di au moins i deux
d
fils de sélection. Il est possible d’avoir plus de zones que de
composants. Les zones restantes seront inutilisées.

41
42
43
6.4.4. Représentation de l’espace mémoire

ROM basse : 0000 0000 0000 0000 0000 = 00000


ROM haute : 0000 1111 1111 1111 1111 = 0FFFF

RAM basse : 0010 0000 0000 0000 0000 = 20000


RAM haute : 0010 0111 1111 1111 1111 = 27FFF

P1 basse : 0100 0000 0000 0000 0000 = 40000


P1 haute : 0100 0000 0011 1111 1111 = 403FF

P2 basse : 0110 0000 0000 0000 0000 = 60000


P2 haute : 0110 0000 0000 0000 1111 = 6000F

44
6.5. Conclusion

Quelques caractéristiques du décodage d’adresse par zone :


• Il est facile à mettre en oeuvre : la logique de décodage est celle
dd’un
un décodeur ;
• Le nombre de composants connectables est plus important que
celui d’un décodageg linéaire ;
• Plus le nombre de zones est élevé, plus la taille des composants
est réduite (et inversement) ;
• Aucun
A risque
i d conflit
de fli d’accès.
d’ è

45

Vous aimerez peut-être aussi