Professional Documents
Culture Documents
Les mmoires
Une mmoire est un lment de stockage d'information Les bits stocks sont organiss en forme de matrice: la dimension de la mmoire est donne par le nombre de lignes fois la largeur de la ligne Chaque ligne de la mmoire est appele un mot. Elle est identifie par 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
0 1 2 3 4 5
n-1
matrice de la mmoire n 2 xm
m bus de donnes
dcodeur d'adresse
Eduardo Sanchez
Opration de lecture:
Eduardo Sanchez
Opration d'criture:
Eduardo Sanchez
Il existe deux grands types de mmoire: RAM (random-access memory): mmoire volatile
statique (SRAM): l'information est conserve tant que la tension d'alimentation est prsente dynamique (DRAM): il faut recharger (rafrachir) priodiquement les cellules de mmoire pour conserver les donnes
UV EPROM: le contenu est effac par des rayons ultra-violets (plusieurs minutes) EEPROM (electrically EPROM) ou E2PROM: le contenu est effac lectriquement (quelques millisecondes) Flash: le contenu est effac lectriquement et plus rapidement que sur les EEPROM
Eduardo Sanchez 6
Eduardo Sanchez
Eduardo Sanchez
Cycle de lecture:
adresse ta donnes
E ta : temps d'accs
Eduardo Sanchez
PROM: Une seule programmation est possible: elle est faite en brlant des fusibles (un quipement particulier, le programmateur, est ncessaire). Par dfaut, tous les bits sont initialement 1 et l'on brle les fusibles des bits qu'on doit programmer 0 EPROM: Exemple: 2516 (2Kx8)
11 8
adresse PD/PGM E
donnes
Pour programmer, il faut une tension Vpp=25V et une impulsion sur l'entre PD/PGM
Eduardo Sanchez 10
Eduardo Sanchez
11
Cycle de lecture
donnes
Eduardo Sanchez
12
Cycle d'criture
tWC adresse
tWC : temps du cycle d'criture ts(A): address setup time th(D): data hold time
Eduardo Sanchez 13
12
sortie
Eduardo Sanchez
14
Un bit de donne est stock dans un condensateur (un latch est utilis 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'information est perdue si la charge n'est pas rafrachie priodiquement Pour rduire le nombre de lignes d'adresse, les DRAMs utilisent un multiplexage de l'adresse: les bits d'adresse de la ligne et de la colonne 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, identifis par le signal CAS (column address strobe)
Eduardo Sanchez
15
Cycle de lecture
RAS
CAS
R/W
sortie
Eduardo Sanchez
16
Cycle d'criture
RAS
CAS
R/W
entre
Eduardo Sanchez
17
Les oprations (lecture ou criture) sur des donnes situes dans la mme colonne (page) peuvent tre acclres avec des cycles en mode page: le signal RAS reste active pendant que le signal CAS change pour chaque colonne Gnralement, une DRAM doit tre rafrachie chaque 8 16 ms. Une opration de lecture rafrachit automatiquement toutes les adresses de la ligne slectionne. Mais, bien entendu, il est impossible de dpendre des cycles de lecture et il faut implmenter des cycles spciaux de rafrachissement
Eduardo Sanchez
18
Il existe deux grands modes de rafrachissement: burst refresh: toutes les lignes de la mmoire sont rafrachies
conscutivement chaque priode de rafrachissement. Toutes les oprations normales de lecture et d'criture sont arrtes pendant le cycle de rafrachissement distributed refresh: chaque est rafrachie intervalles rguliers, entre des oprations normales de lecture et d'criture. Si, par exemple, une mmoire possde 1024 lignes et une priode de rafrachissement de 8 ms, chaque ligne doit tre rafrachie toutes les 8ms/1024 = 7.8s
Il y a deux types d'oprations de rafrachissement: RAS-only refresh: le signal RAS est mis actif pour stocker l'adresse de la ligne
rafrachir, mais le signal CAS reste inactif pendant tout le cycle. Un compteur externe est utilis pour garder trace de la ligne rafrachie CAS before RAS refresh: ce cycle est commenc par une activation du signal CAS avant l'activation du signal RAS. L'adresse de la ligne rafrachir est gnre par un compteur interne
Eduardo Sanchez
19
Eduardo Sanchez
20
Les EPROMs sont des mmoires non volatiles rapides, grande densit et bas prix. Toutefois, elles possdent un grand dsavantage pour certain type d'applications: il faut les enlever du systme pour les effacer et les reprogrammer Les EEPROMs ne prsentent pas ce problme mais, par contre, possdent une densit infrieure et un prix plus lev Les mmoires Flash prsentent un bon compromis: une densit beaucoup plus grande que les EEPROMs, un cot nettement infrieur (bien que pas aussi bas que les EPROMs), tout en tant effaables lectriquement Le seul dsavantage des mmoires Flash est que l'effacement n'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
Il est aujourd'hui courant d'utiliser des mmoires Flash en tant que disques durs
0, il faut lui appliquer une tension. Une fois programme, la mmoire peut garder son contenu pendant 100 ans, sans besoin d'alimentation lectrique lecture: similaire la lecture d'une RAM statique effacement: la mmoire Flash doit tre efface avant d'tre reprogramme
Eduardo Sanchez
22
Exemple: utilisation de deux RAM 64Kx4 pour obtenir une mmoire 64Kx8
Eduardo Sanchez
23
Eduardo Sanchez
24
Exemple: utilisation de deux RAM 1Mx8 pour obtenir une mmoire 2Mx8
Eduardo Sanchez
25
Eduardo Sanchez
26
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 deux oprations possibles: push: quivalent l'criture, met une information au sommet de la pile, en
poussant vers le bas les informations dj prsentes dans la pile. L'information tout en bas de la pile sera perdue pop: quivalent la lecture, prend l'information qui se trouve au sommet de la pile, en poussant tout le contenu de la pile vers le sommet. L'information lue sera enleve de la pile
Eduardo Sanchez
28
Une pile 4x8, par exemple, peut tre vue comme un ensemble de 8 registres dcalage, de 4 bits chacun. Mais contrairement aux FIFO, les registres dcalage sont bidirectionnels et on accde seulement au registre en haut (le sommet de la pile)
Eduardo Sanchez
29
Les ordinateurs utilisent couramment des piles pour le stockage de l'information. 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'information ne bouge pas, n'est pas dcale vers 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 est dcrment (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
Exemple: supposons que la pile d'un ordinateur se trouve initialement dans l'tat montr droite, l'intrieur de sa mmoire RAM 64Kx8 Aprs une opration push de la donne 0x74FA, la pile reste dans l'tat montr droite Nous avons suppos un ordinateur big-endian
Eduardo Sanchez
31