Documente Academic
Documente Profesional
Documente Cultură
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.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
10
11
12
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
Fig. 3.14. Modul de memorie DIP (Dual In-line Package) / Cipul c Atmel ATmega 168 (28 pini).
Fig. 3.17. Modul de memorie BGA (Ball Grid Array) / BGA OMAP4430 system-on-a-chip
Fig. 3.18. Modul de memorie SIMM (Single In-line Memory Module) cu 30 de pini.
Fig. 3.20. Modul de memorie SODIMM (Small Outline Dual In-line Memory Module).
18
Fig. 3.31. Modul de memorie XDIMM, pentru memorii XDR DRAM (eXtreme Data Rate DRAM).
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.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
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
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.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
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).
Fig. 3.38. Principiul memoriei cache: dubl interfa bidirecional ntre CPU i memoria RAM.
38
Fig. 3.40. Memorie cache cu mapare direct: marcaj/etichet = tag, linie/index = slot, cuvnt = offset.
40
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
K = A mod I
A = adresa din memoria principal, I = nr. de seturi, J = nr. de linii al unui set, K = nr. setului
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
Fig. 3.43. Performana memoriei cache, exprimat prin rata de succes n funcie de raportul cache/RAM.
44
45
Fig. 3.44. Diagrama conectrii seriale (look through). Fig. 3.45. Diagrama conectrii paralele (look aside).
46
situaie n cache
aciune n cache
citire
miss
citire
hit
scriere
miss
scriere
hit
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
Fig. 3.49. Studiu de caz: structura nucleului K8 al procesorului AMD Athlon 64 (arhitectur Harvard).
51
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
56