You are on page 1of 16

Les mmoires

Eduardo Sanchez EPFL

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

n bus d'adresse read write

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

ROM (read-only memory): mmoire non volatile


mask: le contenu est initialis au moment de la fabrication et ne peut plus tre modifi PROM (programmable ROM) ou OTP ROM (one-time programmable): le contenu peut tre modifi une fois par l'utilisateur, l'aide d'un quipement spcialis EPROM (erasable PROM): le contenu peut tre effac et modifi plusieurs fois

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

Les mmoires ROM

Exemple: ROM 256x4

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

Les mmoires RAM statiques

adresse R/W CS OE donnes

Eduardo Sanchez

11

Cycle de lecture

tRC adresse tAQ CS tEQ tGQ OE

donnes

tRC : temps du cycle de lecture

Eduardo Sanchez

12

Cycle d'criture

tWC adresse

CS ts(A) R/W tWD donnes th(D)

tWC : temps du cycle d'criture ts(A): address setup time th(D): data hold time
Eduardo Sanchez 13

Les mmoires RAM dynamiques

Exemple: MCM516100 (16Mx1)

adresse R/W CAS RAS entre

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

1 cycle adresse ligne colonne

RAS

CAS

R/W

sortie

Eduardo Sanchez

16

Cycle d'criture

1 cycle adresse ligne colonne

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 mmoires Flash

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

Extension de capacit des mmoires

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)

registre dcalage bidirectionnel

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

You might also like