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
Top Related