13.Memoires

Embed Size (px)

Citation preview

  • 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