Documente Academic
Documente Profesional
Documente Cultură
Evaluarea performanţei UC
mips (mega instructions per second);
flops (floating point operations per second): Mflops/Gflops;
P(t) = Ni Np Tc (sec),
unde:
Ni = numărul de instrucţiuni executate în cazul unei aplicaţii date;
Np = numărul mediu de perioade de ceas necesare pentru execuţia unei instrucţiuni;
Tc = durata unei perioade de ceas.
indicii de performanţă: SPECint, SPECfp.
Organizarea UC
Tipuri de instrucţiuni:
instrucţiuni registre-memorie;
instrucţiuni registre-registre;
instrucţiuni memorie-memorie.
2
Schema unităţii centrale
Timpul de ciclu la o unitate de memorie (tC): timpul minim între două accesări succesive.
Timpul de revenire (tR): timpul minim necesar pentru inactivarea primei comenzi până la
activarea celei de-a doua:
tR = tC – tA
Rata de transfer (rT): inversa timpului de ciclu şi reprezintă cantitatea maximă de informaţie
care poate fi transferată la/de la memorie într-o secundă:
1
rT = t [cuv/s].
C
Costul total al unităţii de memorie (CT) include, pe lângă costul celulelor de memorie
propriu-zise, costul circuitelor de acces la aceste celule.
Costul unitar (CU) reprezintă costul de memorare a unui cuvânt de informaţie şi se
determină prin raportarea costului total (CT) la capacitatea de memorare (CM):
CT
CU = CM [cost/cuv].
4
Ierarhizarea memoriei (memoria suplimentară: expandată, extinsă şi de arhivare/terţiară)
Memoria volatilă / RAM (Random Access Memory): statică (SRAM) & dinamică (DRAM)
7
Memoria DRAM: sincronă / asincronă
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
Diagrame de citire/scriere din/în memoria SRAM
10
Ciclu de citire din memoria DRAM (refresh prin CAS Before RAS, CBR)
11
Ciclu de scriere în memoria DRAM
12
Ciclu de reîmprospătare a memoriei DRAM (ROR)
Două moduri de organizare ale unei memorii de 4 Mb: (a) 512K × 8; (b) 4096K × 1
14
Două moduri de organizare a unei memorii de 512 Mb: (a) 32M × 16; (b) 128M × 4
Temă: după modelul anterior, determinaţi modul de adresare a celor două cipuri de memorie.
15
Formate fizice de memorie
Modul de memorie DIP (Dual In-line Package) / Cipul c Atmel ATmega 168 (28 pini).
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, funcţie de preîncărcare,
timp de aşteptare 0 la scriere, multitasking
CDRAM (Cached DRAM) – cache pe fiecare cip, independent de DRAM şi adresat separat
MDRAM (Multibanc DRAM) – date stocate într-un număr de bancuri de memorie separate
RDRAM (Rambus DRAM) – non-standard, cu un cache RAM static, magistrală de mare viteză,
transferă doi octeţi pe ciclu (1/front), funcţie de preîncărcare, citire rapidă în pachete mici, tip reţea
25
DDR SDRAM (Double Data Rate Synchronous DRAM) – SDRAM evoluat, cu chipset diferit,
care transferă date pe ambele fronturi (crescător şi descrescător) al semnalului de ceas. Criteriul
de evaluare a performanţei nu mai este frecvenţa de ceas, cu lărgimea de bandă (exprimată în Mb/s).
Sistem de memorie DDR SDRAM cu 3 DIMM-uri a câte 4 bancuri pe 64 de biţi (4 pachete × 16 biţi)
Temă: calculaţi lărgimea de bandă a sistemului de memorie la frecvenţa 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 decât DDR, prin îmbunătăţirea semnalizării magistralei şi prin lucrul
cu celulele de memorie la jumătate din frecvenţa de ceas (un sfert din rata de transfer a datelor).
Metode de creştere a frecvenţei magistralei DDR2:
o îmbunătăţiri la interfaţa electrică (consum mai mic de energie) 200 MHz 533 MHz;
o folosirea tehnologiei on-die termination;
o folosirea unor buffer-e de preîncărcare (4 biţi, faţă de 2 biţi la DDR).
Consecinţe/dezavantaje:
o creşterea întârzierilor la 4 6 cicluri;
o necesitatea încapsulării BGA (module DIMM cu 240 de pini la PC / 200 de pini la notebook).
DDR5 SDRAM va dubla performanțele în viteză ale DDR4 SDRAM, fiind anunțat pentru 2019.
30
XDR DRAM (eXtreme Data Rate DRAM) – succesor al RDRAM, pentru sisteme mici, cu
lărgime de bandă ridicată, şi pentru sisteme GPU (Graphical Processing Unit). Avantaje:
o scad costurile de producţie (mai puţine căi de date la aceeaşi lărgime de bandă);
o implementează o lărgime de bandă programabilă (×16) prin controlerul XMS;
o introduce tehnologia FlexPhase, care îmbunătăţeşte în viteză controlerul I/O (XIO);
o introduce tehnologia Dynamic Point-to-Point, care permite extinderea capacităţii;
o asigură patru ieşiri programabile ale generatorului de tact (XCG);
o introduce tehnologia DRSL (Differential Rambus Signaling Level), standard de joasă
tensiune, joasă putere, diferenţial, scalabil, multiGHz, bidirecţional, sincron.
eDRAM (embedded DRAM) – integrată în acelaşi 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 aplicaţii system-on-a-chip
Operaţia de scriere la QDR: W# = pin de scriere, QB = quad burst (QB2/4 – 1/2 cicluri)
33
SGRAM (Synchronous Graphics RAM) – similară SDRAM, cu funcţia de a citi/scrie date simultan,
cu funcţii (pini şi registre) speciale pentru adresele grafice ale aplicaţiilor. Derivate: GDDR4/5/6.
35
Memoria cache
Caracteristici:
dimensiune mai mică decât cea a memoriei RAM;
de tip static (SRAM), pentru a evita operaţia de refresh;
rapidă, cu timp de acces mic: tA 100/fP;
apropiată de procesor, plasată între CPU şi memoria principală (RAM);
organizată pe principiul localizării: spaţiale / pe vecinătăţi (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);
performanţa exprimată prin rata de succes (hit rate) şi rata de eşec (miss rate).
Memorie cache cu mapare directă: marcaj/etichetă = tag, linie/index = slot, cuvânt = offset
40
Memoria cache cu mapare asociativă
Analize şi comparaţii
Verificarea mai multor locaţii consumă mai multă putere de calul, spaţiu de memorie şi timp.
Regula ,,degetului mare” (thumb) dublează asociativitatea de la maparea directă la cea asociativă
pe două căi şi de la cea asociativă pe două căi la cea pe patru căi etc. creşte şansa de cache hit.
Metode de alegere între cele două locaţii posibile din memoria cache:
a) Tehnica LSB index: câmpul linie (index) al locaţiei 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 căii 0 este direct, dar indexul căii 1 este
format cu o funcţie hash, care reduce numărul de conflicte;
d) Tehnica LRU (Least Recently Used): urmăreşte principiul vecinătăţii (cache nears)
într-un cache „non-oblic” (non-skewed), împărţindu-l pe seturi.
Concluzie: asociativitatea completă (full) are un avantaj major faţă de asociativitatea pe seturi.
43
Eficienţa şi localizarea datelor în memoria cache
Principiul localizării (locality principle)
localizare spaţială: dacă este nevoie de unele date, în curând va fi nevoie probabil de date
aflate în apropierea lor (la adrese vecine) în memorie (principiul vecinătăţii – cache nears);
localizare temporală: când s-au găsit unele date, adesea acestea vor fi folosite de mai multe ori.
Rata de succes = H (hit rate) şi rata de eşec = M (miss rate):
H=1–M
Timpul mediu de acces la memoria cache (formula probabilităţii totale):
T = TH H + TM M
Performanţa memoriei cache, exprimată prin rata de succes în funcţie de raportul cache/RAM
44
Reînnoirea conţinutului 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 ieşit;
LRU (Least Recently Used) – blocurile folosite cel mai puţin recent (timer în TAG RAM);
LFU (Least Frequently Used) – blocurile folosite cel mai puţin frecvent (counter în TAG RAM);
politica circulară (round robin);
politica setului de lucru (working set);
politica optimă (optimal / Belady);
politica ceasului (clock);
Algoritmul cel mai folosit: LRU.
45
Diagrama conectării seriale (look through) Diagrama conectării paralele (look aside)
46
Depunerea în memoria principală a rezultatelor din memoria cache
Fiecărui bloc din memoria cache îi sunt asociaţii doi biţi de comandă:
V – bit de validare
o V = 1: condiţie necesară pentru cache hit;
o V = 0: la menţinerea coerenţei memoriilor cache (multiprocesor) şi la resetare (uniprocesor).
D – bit dirty data
o D = 0: la încărcarea iniţială a unui bloc în memoria cache;
o D = 1: la prima scriere a blocului încărcat (minimizează evacuările 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 până când se eliberează magistrala.
Rata de pierderi (miss rate) în funcţie de capacitatea memoriei cache (scări 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 ieşire, în care datele citite sunt stocate temporar,
ceea ce face posibilă o nouă adresare simultan cu preluarea datelor din registrele de stocare (latch).
55
Funcţiile programelor de pe placa de bază:
BIOS – interfaţa soft (programul) de control pentru toate componentele HW ale sistemului:
o meniul Standard CMOS Setup – tipul & parametrii UD, KBD, video, date/time etc.;
56
FPGA (Field-Programmable Gate Arrays) – cipuri rapid configurabile, cu o logică programabilă
capabilă să formeze orice circuit logic simplu prin încărcarea datelor adecvate. Componente de bază:
o dicţionare Look-Up Tables – LUT – memorii programabile pentru crearea funcţiilor logice;
o interconexiuni programabile.