memoria externa

Upload: ema-constantinescu

Post on 14-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

Memoria Externa a calculatorului.

TRANSCRIPT

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 1

    Cap.4. Memoria extern

    1

    Curs: Circuite programabile cu aplicaii biomedicale

    Titular: Prof. Dr. Ing. Sever PACAFacultatea: Electronic, Telecomunicaii i Tehnologia InformaieiCatedra: Electronic Aplicat i Ingineria InformaieiLaboratorul: Proiectarea sistemelor dedicate

    Circuite programabile cu aplicaii biomedicale

    Cuprins1. Noiuni introductive, definiii2. Celule elementare de memorie3. Circuite de memorie4. Memoria cache

    2Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 2

    Circuite programabile cu aplicaii biomedicale

    Obiective Prezentarea structurilor i a modului de funcionare a

    celulelor elementare de memoriePrezentarea i nelegerea principiului de lucru a Prezentarea i nelegerea principiului de lucru a circuitelor de memorie

    nelegerea modului de realizare i de operare a memoriilor cache

    3Cap.4. Memoria extern

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [1/16]

    Se definete funcia de memorare ca fiind posibilitatea de regsire a unor informaii reprezentate sub formde regsire a unor informaii, reprezentate sub form binar, care au fost stocate anterior.

    Se definete circuitul de memorie ca fiind circuitul electronic realizat cu dispozitive semiconductoare care realizeaz funcia de memorare.

    4Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 3

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [2/16]

    Dup caracterul funciei de memorare:Tipuri de memorie

    Funcia de memorare numai de citire

    Funcia de memorare preponderent de citire i ocazional de scriere

    5Cap.4. Memoria extern

    Funcia de memorare cu citire i scriere curent de date

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [3/16]

    ROM (Read Only Memory) S t t d t f b i t difi

    Funcia de memorare numai de citire [1/2]

    Sunt programate de ctre fabricant, modificarea sau tergerea coninutului nu sunt posibile motiv pentru care ele sunt doar citite, pe cale electric, de ctre sistemul care le utilizeaz.

    PROM (Programmable Read Only Memory) Sunt livrate de ctre fabricant fr coninut informaional.

    6Cap.4. Memoria extern

    Sunt programabile, pe cale electric, de ctre utilizator. Odat programate coninutul lor nu mai poate fi modificat sau ters i vor putea fi doar citite de ctre sistemul n care au fost ncorporate.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 4

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [4/16]

    M iil ROM i PROM t ii l til i t

    Funcia de memorare numai de citire [2/2]

    Memoriile ROM i PROM sunt memorii nevolatile i sunt utilizate pentru stocarea unor date fixe (de exemplu, constantele , e etc.), rutine de baz ale sistemelor de operare, programe aplicative nglobate n sisteme dedicate etc.

    7Cap.4. Memoria extern

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [5/16]

    EPROM (Erasable Programmable Read Only Memory)

    Funcia de memorare preponderent de citire i ocazional de scriere [1/4] EPROM (Erasable Programmable Read Only Memory)

    Se programeaz pe cale electric de ctre utilizator. Odat programate i introduse n sistem vor putea fi numai citite de acesta. tergerea este posibil dar nu poate fi fcut de sistemul utilizator ci pe alt cale de exemplu prin expunere la raze UV. tergerea nu este selectiv n raport cu coninutul informaional. Dup

    8Cap.4. Memoria extern

    selectiv n raport cu coninutul informaional. Dup tergere memoria poate fi reprogramat.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 5

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [6/16]

    OTPEPROM (One Time Programmable EPROM) Este

    Funcia de memorare preponderent de citire i ocazional de scriere [2/4] OTPEPROM (One Time Programmable EPROM) Este

    o variant ieftin de EPROM, i aa cum sugereaz i numele acest tip de circuit, se programeaz o singur dat, dup care datele se vor putea doar citi. Se folosete n general pentru stocarea variantelor finale ale programelor aplicative din sistemele dedicate.

    9Cap.4. Memoria extern

    EEPROM (Electrically Erasable Programmable Read Only Memory)Aceste memorii pot fi citite, terse i rescrise, n mod selectiv, pe cale electric, de ctre sistemul care le utileaz.

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [7/16]Funcia de memorare preponderent de citire i ocazional de scriere [3/4]

    Memoriile EPROM i EEPROM sunt de asemenea memorii nevolatile, domeniile de utilizare sunt asemntoare cu cele ale memoriilor ROM i PROM, sunt mai scumpe dar foarte utile n activitatea de proiectare.

    10Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 6

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [8/16]

    Memoria FLASH

    Funcia de memorare preponderent de citire i ocazional de scriere [4/4] Memoria FLASH

    Acest tip de memorie reprogramabil practic a revoluionat modul de gndire a inginerilor proiectani. Re programabilitatea n cadrul sistemului care le utilizeaz le face foarte utile n aplicaii cu microprocesoare i microcontrolere n care programele stocate sunt supuse unor modificri, revizuiri etc. cum ar

    11Cap.4. Memoria extern

    stocate sunt supuse unor modificri, revizuiri etc. cum ar fi de exemplu BIOS-ul din calculatoare. Alte domenii de utilizare ar fi: telefonia mobil, Memory sticks etc.

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [9/16]

    SRAM (Static Random Access Memory) Stocheaz informaia n circuite de tip bistabil sunt

    Funcia de memorare cu citire i scriere curent [1/2]

    Stocheaz informaia n circuite de tip bistabil, sunt rapide, scumpe i volatile. Datorit structurii de bistabil a celulei, aceasta presupune utilizarea mai multor tranzistore ceea ce nseamn c celula ocup o suprafa de siliciu relativ mare i n consecin acest tip de memorie se va fabrica la capaciti relativ mici.

    12Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 7

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [10/16]

    DRAM (Dynamic Random Access Memory) Informaia este stocat sub forma unei cantiti de

    Funcia de memorare cu citire i scriere curent [2/2]

    Informaia este stocat sub forma unei cantiti de sarcin de pe un condensator conectat n serie cu un tranzistor de selecie. Schema fiind simpl celula va ocupa o suprafa de siliciu mic i n consecin aceste memorii se pot fabrica la capaciti foarte mari i la un pre relativ sczut. Deoarece citirea informaiei este distructiv operaia de citire este urmat ntotdeauna de o operaie de rescriere motiv pentru care aceste memorii

    13Cap.4. Memoria extern

    o operaie de rescriere motiv pentru care aceste memorii sunt lente. n plus condensatorul care stocheaz informaia se descarc n timp motiv pentru care este nevoie de o remprosptare periodic a informaiei stocate (Refresh).

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [11/16]Semnale de adres, date i comenzi tipice

    Memorie de tip RAM

    a dAdresa Date

    Memorie de tip ROM

    a dAdresa Date

    14Cap.4. Memoria extern

    R / WCerere de acces

    R Cerere de acces

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 8

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [12/16]

    a) pe bitOrganizarea memoriei

    b) pe octetc) pe cuvinted) pe cuvinte duble 0 0 0 08 724 23 16 158 7 31157a. b. c. d.

    m-101

    Celula elementara de memorie

    01

    15Cap.4. Memoria extern

    Structura tipic a circuitului de memorie

    n-1

    Adresa

    Date

    Circuite programabile cu aplicaii biomedicale

    Capacitatea memoriei reprezint numrul de bii care pot fi memorai n exemplul schematic prezentat mai sus

    1. Noiuni introductive, definiii [13/16]Capacitatea memoriei

    fi memorai. n exemplul schematic prezentat mai sus, capacitatea memoriei este de C = m n bii.

    Se exprim de obicei n multipli de bii, ca de exemplu 1024 bii = 1 Kilobit = 1Kb sau Mb (Mega bit), Gb (Giga bit) (pentru uurina calculelor este bine s se rein urmtoarele K 210, M 220, G 230).Foarte frecvent se utilizeaz ca unitate de msur Byte

    16Cap.4. Memoria extern

    Foarte frecvent se utilizeaz ca unitate de msur Byte-ul care reprezint un cuvnt de 8 bii i respectiv multipli ai acestuia: KB KiloByte, MB MegaByte, GB GigaByte

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 9

    Circuite programabile cu aplicaii biomedicale

    1. Noiuni introductive, definiii [14/16]

    Timpul de acces (acces time) reprezint intervalul de timp dintre momentul stabilizrii semnalelor electrice

    Timpul de acces [1/2]

    timp dintre momentul stabilizrii semnalelor electrice reprezentnd cuvntul de cod de adres aplicat circuitului pe AB pn n momentul n care datele citite (cu nivele de tensiune stabile) apar pe ieirile de date ale memoriei i sunt depuse pe DB;

    Adreseadresa stabila

    17Cap.4. Memoria extern

    date valide

    Timp de acces

    Date

    Circuite programabile cu aplicaii biomedicale

    Durata unui ciclu de memorie reprezint intervalul de timp ntre dou accesri posibile ale memoriei La

    1. Noiuni introductive, definiii [15/16]Timpul de acces [2/2]

    timp ntre dou accesri posibile ale memoriei. La memoriile de tip ROM, PROM, EPROM, EEPROM i SRAM acest timp este egal cu timpul de acces pe cnd la memoriile de tip DRAM durata unui ciclu cuprinde timpul de acces la care se mai adaug un interval de timp necesar renscrierii informaiei.

    18Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 10

    Circuite programabile cu aplicaii biomedicale

    Pentru a caracteriza viteza de lucru al unei memorii se folosete mrimea numit rata de date (Data Rate)

    1. Noiuni introductive, definiii [16/16]Viteza de lucru a memoriei

    folosete mrimea numit rata de date (Data Rate) definit ca raportul dintre limea n bii a cuvntului citit mprit la timpul de acces.

    De exemplu, n cazul unei memorii SRAM de 64K 16 bii i un timp de acces de 15 ns, rata de date va fi egal cu:

    19Cap.4. Memoria extern

    sMbMHzbit

    nsbitiRateData 134671615

    16

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [1/9]

    a) cu strat normal de bioxid de siliciub) cu strat suplimentar de I

    VDD

    IDS

    Celul de memorie pentru memorii ROM

    b) cu strat suplimentar de bioxid de siliciu Datorit grosimii diferite a stratului de bioxid de siliciu din dreptul porii, cele 2 tranzistoare vor avea caracteristici de transfer cu pragul de deschidere diferit.

    La comanda cu o

    n n

    S G( )WLD( )BL

    p

    IDS DS

    VGSt1 t2 t

    t1t2t

    T1

    WL BL

    VDD

    VGSVGSc

    Vp1

    a)

    20Cap.4. Memoria extern

    La comanda cu o tensiune de poarta cuprins ntre cele dou praguri, tranzistorul a) se deschide (info 0 citit n dren) iar tranzistorul b) nu se deschide (info 1 citit n dren).

    n n

    S G( )WLD( )BL

    p

    IDS IDS

    VGSVP2 t1 t2 t

    t1t2t

    T2

    WL BLVGSVGScb)

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 11

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [2/9]Celul de memorie pentru memorii PROM Cele dou tipuri de

    tranzistoare se vor WL

    Vcc

    caracteriza prin fuzibil intact, respectiv fuzibil ars (prin programare).

    La alimentarea tranzistorului, n cazul fuzibilului intact, pe linia BL curge curent, iar n cazul fuzibilului ars, pe linia BL

    21Cap.4. Memoria extern

    BLFusiblenu curge curent, corespunztor informaiei memorate 0 respectiv 1.

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [3/9]Celul de memorie pentru memorii EPROM De aceast dat, cele dou tipuri de tranzistoare se obin prin ncrcarea

    sau nu a grilei izolate (FG) cu sarcin negativ. n primul caz, tranzistorul

    S G( )WLD( )

    VDD

    WL

    Grila de comanda

    se comport ca un tranzistor pentru celula ROM cu strat suplimentar de oxid, iar n al doilea caz, ca un tranzistor pentru memorii ROM cu strat normal de oxid (vezi diapozitivul 20).

    ncrcarea FG se face n faza de programare (cu tensiuni pozitive potrivite pe D i G, iar tergerea coninutului se face prin iradierea cu raze ultraviolete.

    22Cap.4. Memoria extern

    n n

    D( )BL

    p

    WL

    BL

    D S

    FGGGrila izolata (FG)

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 12

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [4/9]Celul de memorie pentru memorii EEPROM Deosebirea fa de tranzistorul folosit la memoriile EPROM const n faptul

    c att ncrcarea FG ct i tergerea acesteia se fac prin efect tunel

    n n

    S G( )WLD

    VDD

    WLD

    T

    FG

    asigurat de apropierea foarte mare a FG de dren i a unor tensiuni potrivite pe D i G (- respectiv + pentru ncrcare i invers pentru descrcare).

    23Cap.4. Memoria extern

    p

    BL

    T1S

    T2D

    SG

    Linie de programare

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [5/9]Celul de memorie pentru memorii Flash Tranzistorul utilizat ca element de memorare are o structur i o tehnologie

    aproape identice cu tranzistorul folosit la realizarea celulelor EPROM cu urmtoarele deosebiri: sursa tranzistorului din memoria Flash este realizat cu o difuzie dubl gradat; stratul de oxid care separ grila izolat este mai subire (100 Angstrom pentru

    celula Flash i 150 Angstrom pentru celula EPROM); difuzia dubl i gradat a sursei precum i stratul de oxid mai subire asigur

    tergerea prin efectul tunel Fowler Nordheim; n faza de programare se acumuleaz sau nu electroni pe grila izolat (circa 30

    000), ceea ce permite stocarea n felul acesta a informaiilor zero respectiv unu;iil Fl h t i t bl i i t t t

    24Cap.4. Memoria extern

    memoriile Flash sunt organizate pe blocuri care se scriu sau se terg ca un tot unitar;

    programarea acestor memorii se face relativ lent.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 13

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [6/9]Schema de principiu a unei celule de memorie SRAM Informaia elementar de un bit se stocheaz n cele dou stri ale unui

    circuit basculant bistabil (CBB) realizat cu dou inversoare. Tranzistoarele

    WL

    T1 i T2 asigur cuplarea CBB la liniile BL i -BL folosite pentru citirea strii bistabilului, respectiv pentru nscrierea unei informaii noi.

    25Cap.4. Memoria extern

    BL

    T1 T2

    BL

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [7/9]Celul de memorie SRAM cu tranzistoare unipolare Inversoarele pentru CBB sunt realizate n acest caz cu tranzistoare CMOS.

    Cu perechile de tranzistoare de selecie T4 i T5, respectiv T6 i T7, se

    T6 T4 T3 T2 T5 T7V01 V02

    VDDasigur posibilitatea selectrii matriceale a celulei.

    26Cap.4. Memoria extern

    T0T1

    Amplificator scriere / citire

    DIN DoutBL BL

    A = Selectie liniiL A = Selectie coloaneC

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 14

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [8/9]Celula de memorie pentru setul intern de registre Celula de memorie este astfel conceput ca s permit efectuarea a dou

    operaii de citire cu una de scriere. Cu astfel de celule se fac memorii

    T T

    d dSelectie scriere

    SRAM foarte rapide folosite pentru realizarea registrelor interne ale procesoarelor RISC, necesare pentru implementarea principiului organizatoric al execuiei instruciunilor prin suprapunerea ciclurilor (pipeline).

    27Cap.4. Memoria extern

    T1 T2

    BL

    T4T3

    BL

    Selectie citire 1

    Selectie citire 2

    Circuite programabile cu aplicaii biomedicale

    2. Celule elementare de memorie [9/9]Schema celulei de memorie pentru memorii DRAM Informaia elementar se memoreaz prin

    prezena sau absena unei sarcini

    T

    WL

    C

    electrice pe condensatorul C. Tranzistorul de selecie T asigur legarea lui C de linia BL folosit pentru citirea informaiei memorate, respectiv pentru nscrierea unei noi informaii.

    Citirea informaiei este distructiv, ceea ce impune rescrierea acesteia dup fiecare citire.

    28Cap.4. Memoria extern

    C

    BL

    Necesit remprosptare (refresh) periodic datorit curentului de fug al C i al curentului invers al jonciunii tranzistorului care descarc n timp C.

    Schem e simpl, ocup suprafa mic pe chip, ceea ce permite realizarea unor memorii de capacitate mare.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 15

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [1/9]Schema de principiu a unui circuit de memorie Cu liniile de adres se selecteaz o locaie de memorie n care se poate

    scrie, respectiv citi, un octet.

    10

    0

    1024 cuvinte a cite 8 Biti

    8Di

    or de

    adres

    a

    - - -

    29Cap.4. Memoria extern

    Linii de adresa1023

    8

    D0

    Deco

    do

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [2/9]

    0

    Schema de principiu a circuitului de memorie ROM

    Linii de adresa

    10Arie de celule

    ROM1024 cuvinte a cte 8 Biti

    Deco

    dor d

    e adre

    sa

    + 5V +UPower down Amplificatoare de citire

    - - -

    1023

    30Cap.4. Memoria extern

    5V _ 0V _

    +US

    Unitate de comanda

    CSOE

    D0 D1 D7

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 16

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [3/9]

    Schema de

    0 Read / write

    Circuit de memorie cu adresare matricial [1/2]

    de principiu Adrese linii

    10

    Arie de 1024 x 1024

    celule de memorie

    Deco

    dor d

    e lini

    i

    1023

    10230Adrese

    L dresatainia a

    31Cap.4. Memoria extern

    Amplificatoare de scriere si citire /

    Decodor coloane1020 Adrese coloane

    Adrese

    D / Di 0

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [4/9]

    C l i f i ii i it l i t t

    Circuit de memorie cu adresare matricial [2/2]

    Cronologia funcionrii circuitului este urmtoarea Se decodific adresa liniei; Se amplific i se citesc semnalele de pe linia selectat; Decodificarea adresei de coloan; Cuplarea la ieire a semnalului corespunztor coloanei

    selectate

    32Cap.4. Memoria extern

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 17

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [5/9]Citirea informaiei dintr-o memorie aflat ntr-un mediu sincron

    Tact

    DMemorie de datear di

    Tact

    33Cap.4. Memoria extern

    Iesire ar

    Iesire D memorie

    Iesire di

    adresa n

    Iesire di Data de la adresa n

    Circuite programabile cu aplicaii biomedicale

    DiCk

    3. Circuite de memorie [6/9]Schema de principiu a circuitului de memorie SRAM sincrone

    Adrese linii 10

    0

    Arie de 1024 x 1024

    celule de memorie

    Deco

    dor d

    e linii

    1023

    DiCk

    - - -

    ^

    34Cap.4. Memoria extern

    Amplificatoare de scriere si citire /

    Decodor coloane1020

    Adrese coloane

    Adrese D0

    ^

    ar

    Ck

    ^Ck

    Bus

    - - -

    Read

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 18

    Circuite programabile cu aplicaii biomedicale

    3. Circuite de memorie [7/9]

    Schema de DiCk

    ^

    Circuitul de memorie DRAM sincron [1/3]

    de principiu

    Adrese linii

    0

    Arie de 1024 x 1024

    celule de memorie

    Deco

    dor d

    e linii

    A lifi d

    1023

    10RA

    ^

    RAS

    10

    88 - - -

    - - -

    35Cap.4. Memoria extern

    Amplificatoare de scriere si citire /

    Decodor coloane10

    10 Adrese coloane

    Adrese

    D0

    ^Ck

    Bus

    ^

    BC

    CAS

    CA

    CAS

    ^

    2

    88

    2

    Read

    Circuite programabile cu aplicaii biomedicale

    tciclu

    3. Circuite de memorie [8/9]Circuitul de memorie DRAM [2/3] Citirea

    respectiv

    R/WCitire

    CAS

    RASAdresse

    tacces

    Adresa linie. Adresa coloana. respectiv scrierea

    36Cap.4. Memoria extern

    Din

    R/W

    DoutScriere

    R/W

    Date

    Date

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 19

    Circuite programabile cu aplicaii biomedicale

    Adresse Linie Col 1 Col 2 Col 3 Col n

    3. Circuite de memorie [9/9]Circuitul de memorie DRAM [3/3] Principiul

    accesrii

    Dout

    R/W

    CAS

    RASd esse Linie Col.1 Col.2 Col.3 Col.n

    D.1 D.2 D.3 D.nDaten

    Citire

    accesrii unui pachet de date

    37Cap.4. Memoria extern

    D in

    R/WScriere

    D.2 D.3 D.nD.1Daten

    Circuite programabile cu aplicaii biomedicale

    4. Memoria cache [1/18]Structurile de memorie ale unui microcalculator

    r0

    r31

    Memoria Cache

    Memoria principala

    Hard discul

    38Cap.4. Memoria extern

    60 GB

    256 kB

    10 sm

    SRAM

    5 ns

    32x32 Bit

    SRAM

    1 ns

    512 MB

    DRAM

    20 ns

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 20

    Circuite programabile cu aplicaii biomedicale

    Dezvoltarea tehnologic din ultimii ani a permis practic o cretere a capacitii memoriilor DRAM (factor de cretere 4 n trei ani). n acelai timp ns, viteza lor de

    4. Memoria cache [2/18]

    ) p ,lucru nu a cunoscut o cretere asemntoare (timpul de acces s-a redus doar cu o treime n ultimii 10 ani).

    Din motivele de mai sus, discrepana dintre viteza de lucru a procesoarelor i viteza de lucru a memoriilor DRAM s-a accentuat.

    Soluia de mbuntire a performanelor sistemelor de calcul la nivelul sistemului const n introducerea ntre

    39Cap.4. Memoria extern

    calcul, la nivelul sistemului, const n introducerea ntre procesor i memoria DRAM, a unei memorii rapide numit cache, pentru stocarea acelor date (Data Cache) sau instruciuni (Instruction Cache) de care procesorul tocmai are nevoie s le acceseze.

    Circuite programabile cu aplicaii biomedicale

    Memoriile cache sunt de tipul SRAM, deci de vitez mare, dar i de capacitate relativ mic, ceea ce va permite stocarea doar a unei pri reduse din programul

    4. Memoria cache [3/18]

    p p p gn curs de execuie cu datele aferente.

    Se observ c, de exemplu, timpul de acces la memoria cache este de patru ori mai mic dect la memoria DRAM i, n consecin, dac se va reui s se organizeze sistemul astfel ca, printr-un mecanism eficient de schimb de date i instruciuni dintre memoria principal i memoriile cache n 90% din cazuri instruciunile i

    40Cap.4. Memoria extern

    memoriile cache, n 90% din cazuri instruciunile i datele s poat fi accesate din memoriile cache i nu din memoria principal, atunci se va putea asigura o cretere substanial n viteza de execuie a programelor.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 21

    Circuite programabile cu aplicaii biomedicale

    Lucrul acesta este posibil deoarece programele au urmtoarele proprieti de localizare: localizarea n timp n sensul c instruciunile i datele tocmai

    4. Memoria cache [4/18]

    localizarea n timp n sensul c instruciunile i datele tocmai folosite vor fi folosite din nou cu o probabilitate foarte mare (de exemplu cazul instruciunilor care asigur transferul unui bloc de date);

    localizarea n spaiu n sensul c datele i instruciunile aflate n memorie la adrese apropiate de adresele instruciunilor i datelor tocmai utilizate vor fi folosite cu o probabilitate mult mai mare dect datele sau instruciunile aflate la adrese deprtate.

    41Cap.4. Memoria extern

    mare dect datele sau instruciunile aflate la adrese deprtate.

    Circuite programabile cu aplicaii biomedicale

    Magistrala de adrese

    4. Memoria cache [5/18]Schema de principiu a memoriei cache

    Comparator

    Memoria de date

    42Cap.4. Memoria extern

    Adresa

    Memoria de adrese

    Data

    Magistrala de date

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 22

    Circuite programabile cu aplicaii biomedicale

    Memoriile cache sunt structurate pe blocuri de date (de exemplu 32 sau 64 de octei consecutivi). Schimbul datelor i instruciunilor cu memoria principal

    4. Memoria cache [6/18]

    Schimbul datelor i instruciunilor cu memoria principal se face tot pe blocuri.

    n privina organizrii memoriilor cache, sunt relevante rspunsurile la urmtoarele ntrebri:1. Unde se plaseaz un bloc n memoria cache?2. Cum se poate determina dac un bloc este sau nu n memoria

    cache?

    43Cap.4. Memoria extern

    cache?3. Care bloc va trebui s fie nlocuit n cazul n care se impune

    ncrcarea unui bloc nou?4. Ce se ntmpl n cazul n care programul scrie date n memoria

    cache?

    Circuite programabile cu aplicaii biomedicale

    0 0Memoria Principal Memoria Principal

    4. Memoria cache [7/18]1. Unde se plaseaz un bloc n memoria cache?

    123

    0123

    14

    123

    0123

    14

    Memoria Cache Memoria Cache

    44Cap.4. Memoria extern

    151617

    151617

    a) in orice poziie b) numai n poziii modulo m

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 23

    Circuite programabile cu aplicaii biomedicale

    S se compare adresa generat n paralel cu toate

    4. Memoria cache [8/18]2. Cum se poate determina dac un bloc este sau nu n memoria cache? [1/4] S se compare adresa generat n paralel cu toate

    adresele stocate. Avantaj vitez de lucru mare, dezavantaj major c necesit attea comparatoare cte locaii de adres sunt n memoria cache, ceea ce ar conduce la o schem extrem de complicat i deci mare consumatoare de resurse HW.

    S se compare pe rnd adresa generat cu adresele

    45Cap.4. Memoria extern

    S se compare pe rnd adresa generat cu adresele stocate. Avantaj c necesit un singur comparator (resurse reduse) i dezavantajul major c este o soluie lent.

    Circuite programabile cu aplicaii biomedicale

    Soluia de compromis ntre cele dou este aceea de a

    4. Memoria cache [9/18]2. Cum se poate determina dac un bloc este sau nu n memoria cache? [2/4] Soluia de compromis ntre cele dou este aceea de a

    mpari cuvntul de cod de adres n dou pri astfel: jumtatea mai puin semnificativ s fie folosit pentru a accesa, printr-un decodor de adres, locaiile memoriei de adres a cache-lui, iar jumtatea superioar a cuvntului de adres (numit TAG) s se compare cu adresa stocat n locaia selectat a prii de memorie

    46Cap.4. Memoria extern

    adresa stocat n locaia selectat a prii de memorie de adrese din cache. n caz de coinciden, se citete, din partea de memorie de date din cache, data stocat n dreptul liniei selectate.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 24

    Circuite programabile cu aplicaii biomedicale

    Organizarea memoriei Cache

    4. Memoria cache [10/18]2. Cum se poate determina dac un bloc este sau nu n memoria cache? [3/4] Organizarea memoriei Cache

    Comparator

    Magistrala de adreseA8-15

    ecodo

    rFF FF

    OA FF

    OA 07OA 00

    A0-7

    5 E

    47Cap.4. Memoria extern

    TAG=OA 5E

    Magistrala de date

    De

    a. b.

    01 FF

    01 00

    FF

    Circuite programabile cu aplicaii biomedicale

    Adresa memorie principalaMemorie Cache asociativa cu doua cai

    2x128x(8x4)Byte=8kByte

    4. Memoria cache [11/18]2. Cum se poate determina dac un bloc este sau nu n memoria cache? [4/4]

    TAG=OA

    Deco

    dor

    8 Bytes

    0

    127

    =1

    TAG=OA IndexAdresa blocului

    Bloc de date 4 cuvinte a 8 BytesTag 20 Bit

    Valid-BitTag 20 Bit Cache - Adresse 7 Bit Offset 2 Bit

    . . .

    48Cap.4. Memoria extern

    TAG=OA

    Deco

    dor

    8 Bytes

    0

    127

    =1

    =

    =

    . . .

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 25

    Circuite programabile cu aplicaii biomedicale

    n cazul unei memorii cache de tip modulo m cu o singur cale, practic nu exist alternative blocul de

    4. Memoria cache [12/18]3. Care bloc de date urmeaz a fi nlocuit?

    singur cale, practic nu exist alternative blocul de care este nevoie se va nscrie n memoria cache la locaia egal cu modulo m a adresei blocului.

    n cazul n care memoria cache este organizat pe mai multe ci un bloc nou citit din memorie va putea fi plasat n locaia egal cu modulo m a adresei sale (fie n calea de sus fie n calea de jos). tf l d i t fi tili t di t t ii

    49Cap.4. Memoria extern

    n astfel de cazuri pot fi utilizate diverse strategii cum ar fi de exemplu: LRU (Least Recently Used), LFU (Least Frequently Used), FIFO (First In First Out ).

    Circuite programabile cu aplicaii biomedicale

    Din principiul de utilizare rezult c n memoria cache se va gsi o copie a instruciunilor sau datelor aflate n

    4. Memoria cache [13/18]4. Ce se ntmpl n cazul scrierii n memoria cache? [1/5]

    va gsi o copie a instruciunilor sau datelor aflate n memoria principal.

    n cazul n care microprocesorul, n timpul executrii programului, se impune s scrie n memoria cache, va apare o aa numit inconsisten a datelor, n sensul c datele din memoria cache nu mai coincid cu cele din memoria principal. A t it i t b i l t d i

    50Cap.4. Memoria extern

    Aceast situaie trebuie rezolvat deoarece memoria principal este accesat i de alte componente din sistem (de exemplu controlerul DMA) i, n cazul meninerii acestei inconsistene, componentele respective vor opera cu date false.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 26

    Circuite programabile cu aplicaii biomedicale

    Inconsisten de date n cazul scrierii n memoria cache

    4. Memoria cache [14/18]4. Ce se ntmpl n cazul scrierii n memoria cache? [2/5]

    Procesor1 1 1 1 10 0 0

    Memorie principala

    Cache

    51Cap.4. Memoria extern

    0 111 1000

    Circuite programabile cu aplicaii biomedicale

    Inconsisten de date n cazul scrierii n memoria cache E i t d l ii d l i i t i d t l

    4. Memoria cache [15/18]4. Ce se ntmpl n cazul scrierii n memoria cache? [3/5]

    Exist dou soluii de rezolvare a inconsistenei datelor i anume: Scrierea de ctre procesor s se fac att n memoria cache ct

    i n memoria principal (Write Through); Scrierea s se fac doar n cache, modificarea din memoria

    principal fcndu-se doar la scrierea napoi a blocului de date (Write Back). n acest din urm caz ns va trebui semnalat

    52Cap.4. Memoria extern

    (printr-un bit suplimentar) faptul c data din memoria cache nu mai coincide cu cea din memoria principal, bit ce va trebui s fie verificat de toate componentele de sistem care acceseaz memoria principal.

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 27

    Circuite programabile cu aplicaii biomedicale

    Scrierea n memoria principal cu un HW specializat

    4. Memoria cache [16/18]4. Ce se ntmpl n cazul scrierii n memoria cache? [4/5]

    Procesor

    1 1 1 1 10 0 0Memorie principala

    Cache

    11

    53Cap.4. Memoria extern

    1 1 1 10 00

    1

    11

    1

    0

    00

    M moria tampon(HW specializat

    n scriere)e

    1

    Circuite programabile cu aplicaii biomedicale

    Inconsisten de date n cazul scrierii n memoria cache

    4. Memoria cache [17/18]4. Ce se ntmpl n cazul scrierii n memoria cache? [5/5]

    n cazul n care data ce urmeaz a fi modificat prin scriere nu se afl n memoria cache, exist urmtoarele dou posibiliti de rezolvare: se citete respectivul bloc de date din memoria principal i se

    nscrie n memoria cache, iar apoi se procedeaz ca mai sus (Write Alocate);

    54Cap.4. Memoria extern

    se modific prin scriere doar data din memoria principal (No Write Alocate).

  • Prof.Dr.Ing. Sever Paca Circuite programabile cu aplicaii biomedicale

    Cap.4. Memoria extern 28

    Circuite programabile cu aplicaii biomedicale

    4. Memoria cache [18/18]Organizarea memoriei cache pe dou nivele

    Procesor

    Memorie principalaLCache1

    M moria tampone

    LCache2

    55Cap.4. Memoria extern

    o a ta po(HW specializat n

    scriere)

    e