13.Memoires
-
Upload
khaled-ouni -
Category
Documents
-
view
215 -
download
0
Transcript of 13.Memoires
-
8/3/2019 13.Memoires
1/16
Les mmoires
Eduardo Sanchez
EPFL
Les mmoires
Une mmoire est un lment de stockage d'inormation Les bits stocks sont organiss en orme de matrice: la dimensionde la mmoire est donne par le nombre de lignes ois la largeur
de la ligne
Chaque ligne de la mmoire est appele un mot. Elle est identifepar une adresse (numro de la ligne)
Le nombre de lignes est toujours une puissance de deux Deux oprations sont possibles, toujours sur un mot complet: la
lecture (read) et l'criture (write)
Eduardo Sanchez 2
-
8/3/2019 13.Memoires
2/16
matrice de
la mmoire
2nxm
bus d'adresse
bus de donnes
read write
0
1
23
4
5
2n-1
n
m
dcodeur
d'adresse
Eduardo Sanchez 3
Opration de lecture:
Eduardo Sanchez 4
-
8/3/2019 13.Memoires
3/16
Opration d'criture:
Eduardo Sanchez 5
Il existe deux grands types de mmoire: RAM (random-access memory): mmoire volatile
statique (SRAM): l'inormation est conserve tant que la tension d'alimentation estprsente
dynamique (DRAM): il aut recharger (rarachir) priodiquement les cellules demmoire pour conserver les donnes
ROM (read-only memory): mmoire non volatile mask: le contenu est initialis au moment de la abrication et ne peut plus tremodif
PROM (programmable ROM) ou OTP ROM (one-time programmable): le contenu peuttre modif une ois par l'utilisateur, l'aide d'un quipement spcialis
EPROM (erasable PROM): le contenu peut tre eac et modif plusieurs ois UV EPROM: le contenu est eac par des rayons ultra-violets (plusieurs
minutes)
EEPROM (electrically EPROM) ou E2PROM: le contenu est eaclectriquement (quelques millisecondes)
Flash: le contenu est eac lectriquement et plus rapidement que surles EEPROM
Eduardo Sanchez 6
-
8/3/2019 13.Memoires
4/16
Eduardo Sanchez 7
Les mmoires ROM
Exemple: ROM 256x4
Eduardo Sanchez 8
-
8/3/2019 13.Memoires
5/16
Cycle de lecture:adresse
donnes
E
ta
ta : temps d'accs
Eduardo Sanchez 9
PROM:Une seule programmation est possible: elle est aite en brlant des
usibles (un quipement particulier, le programmateur, est ncessaire).Par daut, tous les bits sont initialement 1 et l'on brle les usibles
des bits qu'on doit programmer 0
EPROM:Exemple: 2516 (2Kx8)11
8
PD/PGM
adresse
E
donnes
Pour programmer, il aut
une tension Vpp=25V et une
impulsion sur l'entre PD/PGM
Eduardo Sanchez 10
-
8/3/2019 13.Memoires
6/16
Les mmoires RAM statiques
R/W
adresse
CS
donnes
OE
Eduardo Sanchez 11
adresse
donnes
CS
tRC
tRC : temps du cycle de lecture
OE
tEQ
tGQ
Cycle de lecture
tAQ
Eduardo Sanchez 12
-
8/3/2019 13.Memoires
7/16
adresse
donnes
CS
tWC
tWC : temps du cycle d'criture
ts(A): address setup timeth(D): data hold time
R/W
th(D)tWD
ts(A)
Cycle d'criture
Eduardo Sanchez 13
Les mmoires RAM dynamiques
Exemple: MCM516100 (16Mx1)
R/W
adresse
CAS sortie
RAS
entre
12
Eduardo Sanchez 14
-
8/3/2019 13.Memoires
8/16
Un bit de donne est stock dans un condensateur (un latch estutilis dans les SRAM). Une cellule de DRAM est donc trs simple,ce qui permet la construction de trs grandes mmoires bas
prix Par contre, le condensateur se dcharge avec le temps et
l'inormation est perdue si la charge n'est pas rarachiepriodiquement
Pour rduire le nombre de lignes d'adresse, les DRAMs utilisentun multiplexage de l'adresse: les bits d'adresse de la ligne et de lacolonne sont envoys en squence.Tout d'abord, les bits d'adresse de la ligne sont envoys, et
stocks internement grce au signal RAS (row address strobe).Ensuite, les bits d'adresse de la colonne sont envoys, identifspar le signal CAS (column address strobe)
Eduardo Sanchez 15
adresse
sortie
RAS
1 cycle
CAS
Cycle de lecture
R/W
ligne colonne
Eduardo Sanchez 16
-
8/3/2019 13.Memoires
9/16
adresse
entre
RAS
1 cycle
CAS
Cycle d'criture
R/W
ligne colonne
Eduardo Sanchez 17
Les oprations (lecture ou criture) sur des donnes situes dans lamme colonne (page) peuvent tre acclres avec des cycles en
mode page: le signalRAS
reste active pendant que le signalCAS
change pour chaque colonne
Gnralement, une DRAM doit tre rarachie chaque 8 16 ms.Une opration de lecture rarachit automatiquement toutes les
adresses de la ligne slectionne. Mais, bien entendu, il estimpossible de dpendre des cycles de lecture et il aut implmenter
des cycles spciaux de rarachissement
Eduardo Sanchez 18
-
8/3/2019 13.Memoires
10/16
Il existe deux grands modes de rarachissement: burst refresh: toutes les lignes de la mmoire sont rarachies
conscutivement chaque priode de rarachissement. Toutes lesoprations normales de lecture et d'criture sont arrtes pendant le cyclede rarachissement
distributed refresh: chaque est rarachie intervalles rguliers, entre desoprations normales de lecture et d'criture. Si, par exemple, une mmoirepossde 1024 lignes et une priode de rarachissement de 8 ms, chaqueligne doit tre rarachie toutes les 8ms/1024 = 7.8s
Il y a deux types d'oprations de rarachissement: RAS-only refresh: le signal RAS est mis acti pour stocker l'adresse de la ligne
rarachir, mais le signal CAS reste inacti pendant tout le cycle. Un
compteur externe est utilis pour garder trace de la ligne rarachie CAS before RAS refresh: ce cycle est commenc par une activation du signalCAS avant l'activation du signal RAS. L'adresse de la ligne rarachir estgnre par un compteur interne
Eduardo Sanchez 19
Eduardo Sanchez 20
-
8/3/2019 13.Memoires
11/16
Les mmoires Flash
Les EPROMs sont des mmoires non volatiles rapides, grandedensit et bas prix. Touteois, elles possdent un grand
dsavantage pour certain type d'applications: il aut les enleverdu systme pour les eacer et les reprogrammer
Les EEPROMs ne prsentent pas ce problme mais, par contre,possdent une densit inrieure et un prix plus lev
Les mmoires Flash prsentent un bon compromis: une densitbeaucoup plus grande que les EEPROMs, un cot nettementinrieur (bien que pas aussi bas que les EPROMs), tout en tanteaables lectriquement
Le seul dsavantage des mmoires Flash est que l'eacementn'est possible que dans sa totalit ou par secteurs, mais pas byte byte
Eduardo Sanchez 21
Trois oprations sont possibles dans une mmoire Flash: programmation: initialement, tous les bits sont 1. Pour programmer un bit
0, il aut lui appliquer une tension. Une ois programme, la mmoire peutgarder son contenu pendant 100 ans, sans besoin d'alimentation lectrique
lecture: similaire la lecture d'une RAM statique eacement: la mmoire Flash doit tre eace avant d'tre reprogramme
Il est aujourd'hui courant d'utiliser des mmoires Flash en tant quedisques durs
Eduardo Sanchez 22
-
8/3/2019 13.Memoires
12/16
Extension de capacit des mmoires
Exemple: utilisation dedeux RAM 64Kx4 pour
obtenir une mmoire64Kx8
Eduardo Sanchez 23
Eduardo Sanchez 24
-
8/3/2019 13.Memoires
13/16
Exemple: utilisation de deux RAM 1Mx8 pour obtenir unemmoire 2Mx8
Eduardo Sanchez 25
Eduardo Sanchez 26
-
8/3/2019 13.Memoires
14/16
Mmoires FIFO Les mmoires FIFO (First In - First Out) sont un type particulier de
mmoires RAM, o les mots ne sont pas adressables: les mots sont lus
dans le mme ordre dans lequel ils sont crits (le premier crit est le
premier lu) Une FIFO 4x8, par exemple, peut tre vue comme un ensemble de 8
registres dcalage, de 4 bits chacun
registre dcalage
Eduardo Sanchez 27
Mmoires LIFO
Les mmoires LIFO (Last In - First Out), appeles galement pile(stack), sont un autre type de mmoire non adressable, avec deuxoprations possibles:
push: quivalent l'criture, met une inormation au sommet de la pile, enpoussant vers le bas les inormations dj prsentes dans la pile.
L'inormation tout en bas de la pile sera perdue
pop: quivalent la lecture, prend l'inormation qui se trouve au sommetde la pile, en poussant tout le contenu de la pile vers le sommet.
L'inormation lue sera enleve de la pile
Eduardo Sanchez 28
-
8/3/2019 13.Memoires
15/16
Une pile 4x8, par exemple, peut tre vue comme un ensemble de8 registres dcalage, de 4 bits chacun. Mais contrairement aux
FIFO, les registres dcalage sont bidirectionnels et on accdeseulement au registre en haut (le sommet de la pile)
registre dcalage
bidirectionnel
Eduardo Sanchez 29
Les ordinateurs utilisent couramment des piles pour le stockage del'inormation. Dans ces cas, la pile n'est pas implmente l'aide des
registres, mais utilise une partie de la mmoire RAM de l'ordinateur
Dans les piles RAM, l'inormation ne bouge pas, n'est pas dcalevers le bas de la pile, mais ce qui bouge est le sommet de la pile,indiqu par un pointeur: le stack pointer(SP)
Par convention arbitraire, lors d'un push le stack pointer estdcrment (le sommet de la pile est dplac vers les adresses
basses de la mmoire), tandis que lors d'un pop le stack pointer est
incrment (le sommet de la pile est dplac vers les adresses hautes
de la mmoire)
Eduardo Sanchez 30
-
8/3/2019 13.Memoires
16/16
Exemple: supposons que la piled'un ordinateur se trouve
initialement dans l'tat montr
droite, l'intrieur de sammoire RAM 64Kx8
Aprs une opration push de ladonne 0x74FA, la pile reste
dans l'tat montr droite
Nous avons suppos unordinateur big-endianEduardo Sanchez 31