Sunteți pe pagina 1din 57

CAP. 3.

STRUCTURA UNUI CALCULATOR


A. Unitatea central de prelucrare (CPU) / procesorul

Fig. 3.1. Schema bloc a unui calculator.


Etapele n execuia unei instruciuni:
1. ncrcarea instruciunii din memorie n registrul de instruciuni (fetch);
2. actualizarea PC pentru a indica urmtoarea instruciune care va fi executat;
3. decodificarea instruciunii din registrul de instruciuni;
4. localizarea n memorie a eventualelor date utilizate de instruciune;
5. ncrcarea datelor (dac este necesar) n registrele interne ale UC;
6. execuia propriu-zis a instruciunii;
7. stocarea rezultatelor la destinaia corespunztoare;
8. ntoarcerea la etapa nr. 1 pentru a executa urmtoarea instruciune.
1

CISC vs. RISC


Evaluarea performanei UC
mips (mega instructions per second);
flops (floating point operations per second): Mflops/Gflops;
P(t) = Ni Np Tc (sec),
unde:
Ni = numrul de instruciuni executate n cazul unei aplicaii date;
Np = numrul mediu de perioade de ceas necesare pentru execuia unei instruciuni;
Tc = durata unei perioade de ceas.
indicii de performan: SPECint, SPECfp.
Organizarea UC
Tipuri de instruciuni:
instruciuni registre-memorie;
instruciuni registre-registre;
instruciuni memorie-memorie.
2

Fig. 3.2. Schema unitii centrale.


Principii de proiectare pentru calculatoare moderne (RISC)
1. Toate instruciunile sunt executate direct de ctre hardware;
2. Maximizarea ratei la care sunt generate instruciunile;
3. Instruciunile trebuie s fie decodate ct mai simplu;
4. Numai instruciunile de tip load&store trebuie s fac referin la memorie;
5. Trebuie asigurat un numr mare de registre (cel puin 32).
3

B. Memoria
Timpul de acces la o unitate de memorie (tA): timpul necesar localizrii unei celule de
memorie pentru transferul de date la/de la locaia de memorie respectiv.
Rata de acces (rA): inversa timpului de acces:
1
rA = t [cuv/s].
A

Timpul de ciclu la o unitate de memorie (tC): timpul minim ntre dou accesri succesive.
Timpul de revenire (tR): timpul minim necesar pentru inactivarea primei comenzi pn la
activarea celei de-a doua:
tR = tC tA
Rata de transfer (rT): inversa timpului de ciclu i reprezint cantitatea maxim de informaie
care poate fi transferat la/de la memorie ntr-o secund:
1
rT = t [cuv/s].
C

Costul total al unitii de memorie (CT) include, pe lng costul celulelor de memorie
propriu-zise, costul circuitelor de acces la aceste celule.
Costul unitar (CU) reprezint costul de memorare a unui cuvnt de informaie i se
determin prin raportarea costului total (CT) la capacitatea de memorare (CM):
CT
CU = CM [cost/cuv].
4

Fig. 3.3. Ierarhizarea memoriei (memoria suplimentar: expandat, extins i de arhivare/teriar).


Memoria volatil / RAM (Random Access Memory): static (SRAM) & dinamic (DRAM)

Fig. 3.4. Simbolul memoriei SRAM.


5

Memoria SRAM: sincron / asincron

Fig. 3.5. Schema bloc a memoriei SRAM.


6

Fig. 3.6. Simbolul memoriei DRAM.


Moduri de realizare a ciclurilor de mprosptare (refresh):
ROR (RAS Only Refresh);
CBR (CAS Before RAS);
Auto-mprosptare (Auto Refresh).

Memoria DRAM: sincron / asincron

Fig. 3.7. Schema bloc a memoriei DRAM.


8

Organizarea locaiilor de memorie

Fig. 3.9. Modurile (a) Big endian (PowerPC, Motorola 68, HP); (b) Little endian (IBM, DEC).

nregistrare Big endian (a); nregistrare Little endian (b); transfer Be-Le (c); transfer & swap (d)
9

Fig. 3.8. Diagrame de citire/scriere din/n memorie.

10

Fig. 3.10. Ciclu de citire din memoria DRAM.

11

Fig. 3.11. Ciclu de scriere n memoria DRAM.

12

Fig. 3.12. Ciclu de remprosptare a memoriei DRAM (ROR).

Fig. 3.13. Module i bancuri de memorie, dispunerea bancurilor pe placa de baz.


13

Module de memorie:

Arhitecturi de memorie:

Single-sided

Single-channel

Double-sided

Dual-channel

Dou moduri de organizare ale unei memorii de 4 Mb: (a) 512K 8; (b) 4096K 1
14

Dou moduri de organizare ale unei memorii de 512 Mb: (a) 32M 16; (b) 128M 4
Tem: dup modelul anterior, determinai modul de adresare a celor dou cipuri de memorie.
15

Formate fizice de memorie

Fig. 3.14. Modul de memorie DIP (Dual In-line Package) / Cipul c Atmel ATmega 168 (28 pini).

Fig. 3.15. Modul de memorie SOJ


(Small Outline J-lead).

Fig. 3.16. Modul de memorie TSOP


(Thin Small Outine Package).

Modul de memorie PGA (Pin Grid Array)


16

Fig. 3.17. Modul de memorie BGA (Ball Grid Array) / BGA OMAP4430 system-on-a-chip

Modul de memorie LGA (Land Grid Array) / LGA Intel Core i7


17

Fig. 3.18. Modul de memorie SIMM (Single In-line Memory Module) cu 30 de pini.

Fig. 3.19. Modul de memorie SIMM cu 72 de pini (single-sided / double-sided).

Fig. 3.20. Modul de memorie SODIMM (Small Outline Dual In-line Memory Module).
18

Fig. 3.21. Modul de memorie SIPP (Single In-line Pin Package).

Fig. 3.22. Modul de memorie DIMM (Double In-line Memory Module):


168 pini SDRAM / 184 pini DDR SDRAM; 3,3V / 5V; buffered / unbuffered; DDR (sus) DDR3 (jos).
19

Fig. 3.31. Modul de memorie XDIMM, pentru memorii XDR DRAM (eXtreme Data Rate DRAM).

Fig. 3.23. Modul de memorie RIMM (Rambus In-line Memory Module).


Formate logice de memorie

SCRAM (Static Column RAM) accesul pe coloane


FPM (Fast Page Mode) operare n mod pagin
EDO (Extended Data Out) variant rapid de FPM, n combinaie cu o memorie cache
BEDO (Burst Extended Data Out) DRAM variant EDO compatibil cu modul burst/pipeline
20

SDRAM (Sychronous DRAM) opereaz sincron cu p, superscalar/stagii multiple & independente

Fig. 3.24. Structura intern a unei memorii SDRAM de 8 MB, organizate pe 4 blocuri, n mod burst.
21

EDRAM (Enhanced DRAM) rat mare de umplere a memoriei cache, funcie de prencrcare,
timp de ateptare 0 la scriere, multitasking
CDRAM (Cached DRAM) cache pe fiecare cip, independent de DRAM i adresat separat
MDRAM (Multibanc DRAM) date stocate ntr-un numr de bancuri de memorie separate
RDRAM (Rambus DRAM) non-standard, cu un cache RAM static, magistral de mare vitez,
transfer doi octei pe ciclu (1/front), funcie de prencrcare, citire rapid n pachete mici, tip reea

Fig. 3.25. Cip de memorie RDRAM de 32 bancuri 1 MB.


22

Un banc = matrice DRAM cu 512 linii 128 dualoci (1 dualoct = 16 octei).


Exist doar 16 bancuri deschise simultan, care realizeaz simultan dou operaii: una de citire i una de
scriere din/n memorie (fiecare banc mparte cele dou amplificatoare adiacente cu bancurile vecine lui).
Data A, Data B = dou jumti de dualoct (8 octei), care folosesc ci separate n bancul de memorie

Fig. 3.26. O operaie de citire i o operaie de scriere din/n RDRAM.


Tem: calculai capacitatea de memorie a unui modul RIMM cu 4 cipuri i 32 de bancuri/cip.
23

Fig. 3.27. Diferenele dintre sistemele de memorie RDRAM i SDRAM.


24

Fig. 3.28. Elementele de baz ale unui sistem de memorie RDRAM, cu pn la cinci domenii
pentru semnalul de ceas, pentru a putea pstra sincronizarea ntre transferurile de pe magistral.

25

DDR SDRAM (Double Data Rate Synchronous DRAM) SDRAM evoluat, cu chipset diferit,
care transfer date pe ambele fronturi (cresctor i descresctor) al semnalului de ceas. Criteriul
de evaluare a performanei nu mai este frecvena de ceas, cu lrgimea de band (exprimat n Mb/s).

Fig. 3.29. Sistem de memorie DDR SDRAM cu 3 DIMM-uri a cte 4 bancuri pe 64 de bii (4 pachete 16 bii).
Tem: calculai lrgimea de band a sistemului de memorie la frecvena de 200 / 400 / 600 MHz.
26

DDR2 SDRAM (Double Data Rate Two Synchronous DRAM) opereaz cu magistrala de date
extern de dou ori mai repede dect DDR, prin mbuntirea semnalizrii magistralei i prin lucrul
cu celulele de memorie la jumtate din frecvena de ceas (un sfert din rata de transfer a datelor).
Metode de cretere a frecvenei magistralei DDR2:
o mbuntiri la interfaa electric (consum mai mic de energie) 200 MHz 533 MHz;
o folosirea tehnologiei on-die termination;
o folosirea unor buffer-e de prencrcare (4 bii, fa de 2 bii la DDR).
Consecine/dezavantaje:
o creterea ntrzierilor la 4 6 cicluri;
o necesitatea ncapsulrii BGA (module DIMM cu 240 de pini la PC / 200 de pini la notebook).

Fig. 3.30. Diagrama de timp a operaiei de citire n rafale (burst) la DDR2 SDRAM.
tCCD = timpul de ciclu pe coloan/date; RL = lungimea intervalului de laten la citire; DO = Data Out
27

DDR3 SDRAM (Double Data Rate Three Synchronous DRAM) memorie care opereaz cu
magistrala I/O la o frecven de 4 ori mai mare dect celulele de memorie.
Avantaje:
o reducerea consumului de energie;
o folosirea tranzistoarelor dual-gate, care reduc scurgerile de curent;
o creterea lrgimii de band, prin folosirea unor buffer-e de prencrcare cu adncimea de 8
bii (fa de 4 bii la DDR2) 200 MHz 1066 MHz;
Nouti aduse de DDR3:
o folosirea topologiei Fly-By (n locul celei stea), cu o singur legtur direct ctre toate
componentele DRAM (adresele i semnalele de control sunt transmise pe aceeai cale)
rspuns mult mai rapid din partea sistemului;
o apariia unui pin de reset pentru fiecare modul de memorie n parte;
o prezena unui senzor de temperatur, care scurteaz intervalele de refresh i reduce
consumul de energie;
o introducerea sistemului XMP (eXtended Memory Profile), care permite realizarea unui
overclocking foarte simplu.
Exemplu: memoria DDR3 la microprocesorul Intel Core i7 (8 bancuri pe cip).
Magistrala de memorie Core i7 opereaz n mod pipeline (4 tranzacii simultane) n 3 pai:
o faza de activare a memoriei deschide o linie a memoriei DRAM pentru acces;
o faza de citire/scriere a memoriei accese multiple n linia DRAM deschis, fie la cuvinte
individuale, fie la cuvinte multiple secveniale n modul burst (rafal);
o faza de prencrcare nchide linia DRAM curent i pregtete urmtoarea activare.
28

Diagrama de timp a cererilor de memorie n mod pipeline la interfaa DDR3 pentru Core i7
Interfaa memoriei DDR3 la Core i7 are patru ci primare de semnal:
o CK = ceasul magistralei coordoneaz ntreaga activitate a memoriei sincrone;
o CMD = comanda magistralei indic activitatea solicitat de memoria un banc DRAM:
READ cu 2 TCK dup ACT, DATA cu 1 TCK dup READ, PRCHRG cu min. 2 TCK dup DATA
o ADDR = liniile de adres;
o DATA = liniile de date.
29

DDR4 SDRAM f = 2133...4266 MHz, V = 1,05...1,2 V reducerea consumului de energie.

30

XDR DRAM (eXtreme Data Rate DRAM) succesor al RDRAM, pentru sisteme mici, cu
lrgime de band ridicat, i pentru sisteme GPU (Graphical Processing Unit). Avantaje:
o scad costurile de producie (mai puine ci de date la aceeai lrgime de band);
o implementeaz o lrgime de band programabil (16) prin controlerul XMS;
o introduce tehnologia FlexPhase, care mbuntete n vitez controlerul I/O (XIO);
o introduce tehnologia Dynamic Point-to-Point, care permite extinderea capacitii;
o asigur patru ieiri programabile ale generatorului de tact (XCG);
o introduce tehnologia DRSL (Differential Rambus Signaling Level), standard de joas
tensiune, joas putere, diferenial, scalabil, multiGHz, bidirecional, sincron.
eDRAM (embedded DRAM) integrat n acelai cip cu p capacitate i vitez sporite
1T-SRAM (1 Transistor Static RAM) capacitate ridicat, prin reducerea de 6 ori a ariei de
integrare fa de SRAM standard, cu consum redus, pentru aplicaii system-on-a-chip

Fig. 3.32. Celula 1T-SRAM i celula SRAM cu 6 tranzistoare.


31

QDR II SRAM (Quad Data Rate II Static RAM) SRAM dual-ported, cu un pin de intrare i
un pin de ieire a datelor (DDR), cu operaii de citire i de scriere simultane.
Avantaje:
o transferuri de pn la 4 cuvinte / ciclu de ceas, cu laten mic;
o ideal pentru reelistic (router, switch);
o folosete tehnologia HSTL (High Speed Transceiver Logic): porturi I/O de vitez mare;
o consum redus de energie, integrare n cipuri FPGA (Field-Programmable Gate Arrays);
o intrarea i ieirea se pot defaza, prin folosirea a dou generatoare de ceas (K i K#).

Fig. 3.33. Arhitectura QDR II SRAM.


32

Fig. 3.34. Operaia de citire la QDR II: R# = pin de citire, QB = quad burst (QB2/4 1/2 cicluri).

Fig. 3.35. Operaia de scriere la QDR II: W# = pin de scriere, QB = quad burst (QB2/4 1/2 cicluri).
33

SGRAM (Synchronous Graphics RAM) similar SDRAM, cu funcia de a citi/scrie date simultan,
cu funcii (pini i registre) speciale pentru adresele grafice ale aplicaiilor. Derivate: GDDR4/5/6.

Fig. 3.36. Diagrama de timp ciclic pentru memoria SGRAM (burst length = 1, 2, 4, 8 B / 1 pagin)
(semnalele de intrare sunt nregistrate pe frontul cresctor al semnalului de ceas XCLK).
VRAM (Video RAM) memorie de tip dual-ported, pentru citirea i scrierea simultan n aplicaii
video/grafice, cu registre SAM (Serial Access Memory), legate la un port serial DRAM foarte rapid
Tem: calculai debitul video la rezoluia 19201080, 24 bii/pixel, rata de refresh 80 Hz i rata de cadre 25 fps.
WRAM (Windows RAM) memorie VRAM ultrarapid, dual-ported, cu adresare pe blocuri mari / Samsung
34

Verificarea prin controlul paritii


Cip de paritate
Paritate: par / impar
Exemplu. Cipurile paritare pe 8 bii folosesc un bit de paritate (module pe 9 bii), iar cele pe 32
de bii folosesc 4 bii de paritate (module pe 36 bii, 8 4 = 32 bii + 4 1 = 4 bii de paritate).
Procedeul EDC (Error Detection Code)
Procedeul ECC (Error Correction Code)
Exemplu. Cuvinte de cod de 72 de bii (64 bii de date + 8 bii de control)
Coduri Hamming EDC/ECC pentru memorii semiconductoare: Hamming grup / Hamming
grup extinse (cu paritate), derivate ale codului Hamming cu matrice de control H avnd un
numr egal de bii de 1 pe linii, pentru o ncrcare ct mai echilibrat a sumatoarelor din
circuitele de codare i decodare (matrice Hsiao)
Metode de acces la memorie
Paginarea procedeu de gestiune a memoriei virtuale
ntreeserea poate introduce stri de ateptare (wait states)
35

Memoria cache
Caracteristici:
dimensiune mai mic dect cea a memoriei RAM;
de tip static (SRAM), pentru a evita operaia de refresh;
rapid, cu timp de acces mic: tA 100/fP;
apropiat de procesor, plasat ntre CPU i memoria principal (RAM);
organizat pe principiul localizrii: spaiale / pe vecinti (cache nears) i temporale;
mapat pe blocuri de dimensiune fix, adresate pe linii (cache lines);
divizat n cache primar/intern (L1, L3) i cache secundar/extern (L2, L3);
performana exprimat prin rata de succes (hit rate) i rata de eec (miss rate).

Plasarea memoriei cache ntre CPU i memoria principal (RAM)


36

Principii de proiectare a memoriei cache:


dimensiunea: odat cu capacitatea, crete performana, dar scade viteza i crete costul;
dimensiunea liniilor: un cache de 16 KB poate avea 1024 linii 16 B, 2048 linii 8 B etc.;
modul de organizare: mecanismul de urmrire a cuvintelor aflate n fiecare moment n cache;
instruciunile i datele se afl n acelai cache (unificat) sau nu (divizat: arhitectura Harvard).

1. microprocesor (cu unitate aritmetic i logic);


2. cache intern L1 (un bloc de 8 KB pentru instruciuni);
3. cache intern L1 (al doilea bloc de 8 KB pentru date);
4. cache extern L2;
5. cip de marcare a zonelor de memorie cache (TAG RAM);
6. memorie principal (RAM).
Fig. 3.37. Exemplu: schema memoriei cache ntr-un sistem Pentium (arhitectur Harvard).
37

Fig. 3.38. Principiul memoriei cache: dubl interfa bidirecional ntre CPU i memoria RAM.
38

Maparea memoriei cache: direct, asociativ, asociativ pe seturi, pseudo-asociativ

Fig. 3.39. Diagrama operaiei de citire a memoriei cache.


Tem: refacei diagrama UML din fig. 3.39 n cazul operaiei de scriere n memoria cache.
39

Memoria cache cu mapare direct


C = A mod L,
C = nr. liniei din memoria cache; A = adresa din memoria principal; L = nr. de linii din memoria cache
Ex.: L = 128 i C = A mod128. Bloc + marcaj = [8 octei (cuvnt) 8] (bloc) + 6 (marcaj) = 70 bii.

Fig. 3.40. Memorie cache cu mapare direct: marcaj/etichet = tag, linie/index = slot, cuvnt = offset.
40

Memoria cache cu mapare asociativ

Fig. 3.41. Memorie cache cu mapare asociativ: marcaj/etichet = tag, cuvnt = offset.
Bloc + marcaj = [8 octei (cuvnt) 8 bii] (bloc) + 13 bii (marcaj) = 64 bii + 13 bii = 77 bii.
41

Memoria cache cu mapare asociativ pe seturi


L = I J,

K = A mod I

A = adresa din memoria principal, I = nr. de seturi, J = nr. de linii al unui set, K = nr. setului

Fig. 3.42. Memorie cache cu mapare asociativ pe seturi (I = 64, J = 2).


Bloc + marcaj = [8 octei (cuvnt) 8 bii] (bloc) + 7 bii (marcaj) = 64 bii + 7 bii = 71 bii.
42

Dac I = L i J = 1, maparea asociativ pe seturi maparea direct.


Dac I = 1 i J = L, maparea asociativ pe seturi maparea asociativ.
Cea mai utilizat organizare asociativ pe seturi: J = 2 (exemplu: cache L1 la AMD Athlon).
Observaii.

Tem. Refacei exemplele din fig. 3.40/41/42, pentru RAM = 128 KB, cache = 4 KB, bloc = 16 B,
J = 4. Determinai n fiecare caz formatul adresei din RAM i lungimea cmpului bloc + marcaj.
Memoria cache cu mapare pseudo-asociativ
Testeaz fiecare cale posibil o singur dat, de cele mai multe ori gsind un bloc din prima
testare (cache hit).
Analize i comparaii
Verificarea mai multor locaii consum mai mult putere de calul, spaiu de memorie i timp.
Regula ,,degetului mare (thumb) dubleaz asociativitatea de la maparea direct la cea asociativ
pe dou ci i de la cea asociativ pe dou ci la cea pe patru ci etc. crete ansa de cache hit.
Metode de alegere ntre cele dou locaii posibile din memoria cache:
a) Tehnica LSB index: cmpul linie (index) al locaiei de memorie devine index pentru cache;
b) Tehnica de cheie (hint): o parte din etichet poate fi folosit pentru a alege una din adresele
cerute, aflate posibil n harta cache (la cache-ul asociativ);
c) Tehnica de cache oblic (skewed cache): indexul cii 0 este direct, dar indexul cii 1 este
format cu o funcie hash, care reduce numrul de conflicte;
d) Tehnica LRU (Least Recently Used): urmrete principiul vecintii (cache nears)
ntr-un cache non-oblic (non-skewed), mprindu-l pe seturi.
Concluzie: asociativitatea complet (full) are un avantaj major fa de asociativitatea pe seturi.
43

Eficiena i localizarea datelor n memoria cache


Principiul localizrii (locality principle)
localizare spaial: dac este nevoie de unele date, n curnd va fi nevoie probabil de date
aflate n apropierea lor n memorie (principiul vecintii cache nears);
localizare temporal: cnd s-au gsit unele date, adesea acestea vor fi folosite de mai multe ori.
Rata de succes = H (hit rate) i rata de eec = M (miss rate):
H=1M
Timpul mediu de acces la memoria cache (formula probabilitii totale):
T = TH H + TM M

Fig. 3.43. Performana memoriei cache, exprimat prin rata de succes n funcie de raportul cache/RAM.
44

Rennoirea coninutului memoriilor cache


Algoritmi de nlocuire a blocurilor cache (stabilesc blocurile din cache care sunt nlocuite primele):
RW (Random Write) rescriere aleatorie;
FIFO (First In First Out): primul intrat primul ieit;
LRU (Least Recently Used) blocurile folosite cel mai puin recent (timer n TAG RAM);
LFU (Least Frequently Used) blocurile folosite cel mai puin frecvent (counter n TAG RAM);
politica circular (round robin);
politica setului de lucru (working set);
politica optimal (optimal / Belady);
politica ceasului (clock);
Algoritmul cel mai folosit: LRU.
Conectarea memoriei cache la microprocesor
Conectarea serial (look through) fig. 3.44;
Conectarea paralel (look aside) fig. 3.45.

45

Fig. 3.44. Diagrama conectrii seriale (look through). Fig. 3.45. Diagrama conectrii paralele (look aside).
46

Depunerea n memoria principal a rezultatelor din memoria cache


Fiecrui bloc din memoria cache i sunt asociaii doi bii de comand:
V bit de validare
o V = 1: condiie necesar pentru cache hit;
o V = 0: la meninerea coerenei memoriilor cache (multiprocesor) i la resetare (uniprocesor).
D bit dirty data
o D = 0: la ncrcarea iniial a unui bloc n memoria cache;
o D = 1: la prima scriere a blocului ncrcat (minimizeaz evacurile de blocuri n RAM).
Metode de depunere n memorie a rezultatelor:
Write Through traseul invers citirii datelor;
Write Back scriere n cache (dac adresa de memorie exist n cache) sau n RAM (dac nu exist);
Posted Write rezerv un cache buffer pentru memorarea blocului pn cnd se elibereaz magistrala.

Fig. 3.46. Schema metodei Write Through.

Fig. 3.47. Schema metodei Write Back.


47

Metode de meninere a coerenei memoriilor cache (n sisteme multiprocesor):


Write Invalidate toate copiile din celelalte memorii cache sunt invalidate nainte de
modificarea blocului din cache-ul propriu;
Write Broadcast CPU pune data de scris pe magistrala comun, spre a fi actualizate toate
copiile din celelalte cache-uri.
Cache hit & cache miss
Tabelul 3.4
Tipuri de acces n memoria cache
tip acces

situaie n cache

aciune n cache

citire

miss

evacuarea blocului i ncrcarea unui bloc nou

citire

hit

compararea marcajelor/etichetelor (tag)

scriere

miss

evacuarea blocului, ncrcarea unui bloc nou


i scrierea datei n bloc

scriere

hit

scrierea datei n blocul din cache (Write Back)

Efectele situaiilor de cache miss:


la citirea instruciunilor cauzeaz ntrzieri pe firele de execuie (threads);
la citirea datelor cauzeaz ntrzieri mai mici dect la citirea instruciunilor;
la scrierea datelor cauzeaz ntrzieri mici, rezolvate printr-o coad de ateptare.
48

Situaiile de cache miss se pot mpri n trei categorii (cf. Mark Hill):
ratri obligatorii (compulsory misses) pierderi cauzate de primele referiri la date;
ratri de capacitate (capacity misses) pierderi care privesc asociativitatea sau mrimea
blocurilor, cauzate doar de blocurile finite din cache (cache-ul L1 este mereu aproape plin);
ratrile de conflict (conflict misses) acele pierderi care ar putea fi evitate dac cache-ul ar
elimina o intrare cu un ciclu mai trziu (acestea pot fi puse ntr-o hart de ratri: miss map).

Fig. 3.48. Rata de pierderi (miss rate) n funcie de capacitatea memoriei cache (scri logaritmice).
49

Tipuri de celule cache


asincrone: citire n dou etape se depune adresa, apoi se transfer datele (cipuri DIP);
sincrone: acces n mod burst o adres transfer pentru 4 cuvinte simultan (lipire pe plac);
pipeline burst cache: registre speciale la ieire, n care datele citite sunt stocate temporar,
ceea ce face posibil o nou adresare simultan cu preluarea datelor din registrele de stocare (latch).
Memorii cache specializate
cache victim (victim cache): reine blocurile terse din L1 datorit unui conflict/ratri;
cache de urmrire (trace cache): stocheaz urmele (traces) instruciunilor aduse din memorie
i decodate crete eficiena instruction fetch i lrgimea de band, reduce consumul de
putere, folosind urmele dinamice (dynamic traces) ale blocurilor de baz (grup de instruciuni
neramificate terminate cu ramificaii), program counter-ul curent i blocul branch prediction.
cache multinivel (multilevel cache): L1, L2, L3; unele memorii cache au > 3 niveluri/cip.
scratch pad: memorie SRAM rapid, de tip on-chip, pentru aplicaii de embedded systems,
bazate pe nucleele procesoarelor (ex.: seria IBM BlueGene).
cache strict inclusiv (integrat): toate datele din L1 trebuie s se regseasc copie L2;
cache exclusiv (divizat): datele se gsesc n cel mult unul dintre L1 sau L2, nu n ambele.
Concluzie: n sisteme file server sau n activiti multitasking este necesar o memorie cache mare.
50

Fig. 3.49. Studiu de caz: structura nucleului K8 al procesorului AMD Athlon 64 (arhitectur Harvard).
51

Memoria nonvolatil / ROM & comp.


Variante:
ROM (Random Access Memory) nu poate fi modificat sau tears (produs n fabric);
PROM (Programmable ROM) poate fi programat o singur dat, prin ardere (fuzibili);
EPROM (Erasable PROM) poate fi programat i tears (azi: n versiuni foarte ieftine);
EEPROM (Electrically EPROM) poate fi programat prin impulsuri n loc de radiaii
ultraviolete (ca la EPROM) i reprogramat pe loc (fr a mai fi scoas din soclu);
Memoria flash variant de EEPROM, care poate fi tears pe blocuri i rescris pe loc.
Memoria flash vs. discurile mecanice: foarte rapid i cu consum mic de putere, dar mai scump.

Comparaie ntre diferitele tipuri de memorii


52

Fig. 3.50. Organizarea memoriei ROM.

Fig. 3.51. (a) Memorie ROM cu 8 cuvinte de 4 bii; (b) Tabelul de adevr asociat.
53

Fig. 3.52. Structura intern a unui cip de memorie ROM cu 1024 cuvinte de 8 bii (1K 8).
Sistemele software componente ale unei memorii ROM:
1. Sistemul cu program starter (ROM-ul de start) cu urmtoarele aciuni:
execut testele de funcionalitate ale componentelor ataate (POST = Power On Self Test);
iniializeaz toate componentele ataate calculatorului (HW);
iniializeaz tabela vectorilor de ntrerupere (TVI);
verific alte extensii sau periferice ataate sistemului de calcul (I/O);
ncarc n memorie, de pe disc, sistemul de operare (SO).
2. ROM-BIOS (Basic Input Output System) rutine de gestiune a proceselor, serviciilor & perifericelor
3. ROM-Basic program opional, cu nucleul limbajului Basic
4. Extensiile ROM sistem cu rutinele necesare gestiunii dispozitivelor ataate.
54

Fig. 3.53. Modul de organizare al memoriei.


55

Funciile programelor de pe placa de baz:


autotestarea la punerea sub tensiune (POST);
rutina de ncrcare a SO (bootstrap loader) iniiaz cutarea SO pe discurile disponibile;
BIOS interfaa soft (programul) de control pentru toate componentele HW ale sistemului:
o meniul Standard CMOS Setup tipul & parametrii UD, KBD, video, date/time etc.;
o meniul Advanced CMOS Setup parametri reglabili de maximizare a performanei:
activare/dezactivare cache intern & extern, parol de intrare, ordinea de boot SO etc.;
o meniul Advanced Chip-set Setup reglaje fine de optimizare: configurarea
magistralelor, a strilor de ateptare (wait) ale microprocesorului etc.;
MMU (Memory Management Unit) transfer coninutul memoriei ROM de pe placa de
baz n RAM, activnd opiunile de transfer (shadowing) din BIOS CMOS Features Setup.

56

FPGA (Field-Programmable Gate Arrays) cipuri rapid configurabile, cu o logic programabil


capabil s formeze orice circuit logic simplu prin ncrcarea datelor adecvate. Componente de baz:
o dicionare Look-Up Tables LUT memorii programabile pentru crearea funciilor logice;
o interconexiuni programabile.

(a) Structura LUT pentru FPGA;


(b) Configuraia LUT pentru un numrtor pe 3 bii cu reset: I0,1,2 = I+1, I3 = CLR, I4..7 = 0, O0..3 I0..3
Tem: reconfigurai LUT pentru un numrtor pe 4 bii cu reset.
57

S-ar putea să vă placă și