Sunteți pe pagina 1din 46

1.

Etapele de dezvoltare a calculatoarelor.???

Generaia zero ,calculatoare mecanice,(1642-1945)


a fost Blaise Pascal (1623- Primul care a construit o main de calcul funcionabil 1662)
care a proiectat o main mecanic, folosind roi dinate i fiind acionat de o manivel
manevrat de om.
Maina putea s fac numai adunri i scderi.
Gottfried von Leibnitz (1646-1716) a contribuit, teoretic i practic, la naterea informaticii. El
a perfecionat maina lui Pascal, noua main reuind s execute, pe lng adunri i
scderi, i nmuliri i mpriri.
Cel care poate fi considerat autorul precursorului calculatorului actual este Charles
Babbage (1792-1871). Acesta a creat dou maini: maina de calcul diferenial i maina
analitic.
Maina de calcul al diferenelor (diferenial) era o main specializat care, pe baza unui
algoritm, calcula tabele de numere utile n navigaia maritim prin metoda diferenelor
finite. Cea mai interesant caracteristic a acestei maini era nscrierea rezultatelor pe o
tabl de aram gravabil cu o tan de oel, previzionnd mediile periferice de
inscripionare de azi.
Maina analitic avea patru componente:
-magazia (memoria);
-moara (unitatea de calcul);
-seciunea de intrare (cititorul de cartele);
-seciunea de ieire (ieire perforat i imprimat).
Magazia consta din 100 de cuvinte a cte 50 cifre zecimale, fiecare fiind folosite pentru a
memora variabile i rezultate. Moara putea accepta operanzi din magazie, pe care putea
aduna , scdea, nmuli sau mpri, pentru ca, n final, s ntoarc rezultatul n magazie.
Aceast main analitic era programabil, ntr-un limbaj simplu de asamblare, care
necesita pe cineva care s fac programarea. Acel cineva a fost Ada de Lovelace, fiica
lordului Byron, care este cunoscut ca fiind primul programator din istoria calculatoarelor.
Urmtoarele calculatoare aparin tehnologiei electromecanice. n 1930, un student german,
Konrad Zuse, a construit o serie de maini de calcul folosind relee electromagnetice. Din
cauza rzboiului, ns, mainile lui nu au fost cunoscute i, mai mult, au fost distruse n
bombardamentul Berlinului din 1945.
n SUA, John Atanasoff, de la Colegiul Statului Yowa, a creat, pornind de la ideea lui
Babbage, o main asemntoare din punct de vedere logic dar utiliznd o alt tehnologie.
Memoria era format din capaciti care se rencrcau periodic, idee utilizat astzi la
memoria dinamic RAM cu refresh. Ca i maina Babbage, maina lui John Atanasoff era

tributar tehnologiei i nu a funcionat. Se pare, ns, c istoria a reinut prototipul ABC


(Atanasoff-Berry-Computer), Berry fiind un student a lui Atanasoff, realizat n 1939.
George Stibitz, de la Bell Laboratories, a creat o main mai primitiv ca a lui Atanasoff dar
care are marele merit c a funcionat, demonstraia fcndu-se, n 1940, la Colegiul
Dartmouth.
n 1944, Howard Aiken a construit o main pornind de la maina Babbage, pe care a
studiat-o ndelung, crend o nou main pe baz de relee electromagnetice. Maina avea
72 cuvinte, fiecare de cte 23 cifre zecimale, i un timp de instruciune de 6 secunde.
Intrarea i ieirea se fceau pe baz de hrtie perforat.

Generaia nti, maini cu tuburi electronice (1945- 1955)


Circuitele logice din generaia nti erau realizate cu tuburi electronice i aveau un consum
energetic foarte mare. Principalele caracteristice ale acestor calculatoare au fost:
-memoria realizat cu tambur magnetic;
-utilizarea cititorului/perforator de hrtie;
-existena a 10-20 instruciuni simple care constituiau baza unui limbaj cod main.
Din punct de vedere logic nu era mare diferen fa de maina Babbage dar tehnologic se
intra n era electronic.
Principalele calculatoare din aceast generaie au fost:
ENIGMA, main realizat de Germania n timpul celui de-al doilea
rzboi mondial pentru transmiterea mesajelor codificate.
COLLOSUS, maini fabricate de Englezi pentru decodificarea
mesajelor ENIGMA. De menionat c la fabricarea lor a contribuit i Allan
Turing, cunoscut mai trziu drept creator al mainii TURING.
ETC.
Generaia a doua, calculatoare cu tranzistori (1955-1965)
John Bardeen, Walter Brattain i Wiliam Shockley au inventat n 1948 tranzistorul bipolar cu
jonciune ceea ce le-a adus n 1956 Premiul Nobel pentru Fizic. Tranzitorul are aceleai
funciuni ca tuburile
electronice cu vid dar are avantajul de a fi miniaturizabil.
Calculatoarele bazate pe tehnologia cu tranzistori au urmtoarele caracteristici:
-utilizarea diodelor i tranzistorilor pe baz de germaniu i apoi pe baz de siliciu ceea ce a
condus la o putere disipat mai mic i siguran n funcionare;
-memorii pe inele de ferit, de 1000 de ori mai rapide dect cele din generaia anterioar,
avnd timpul de acces de 2-12 s.;

-apariia cablajului imprimat;


-apariia echipamentelor periferice precum discul, banda magnetic, imprimanta;
-apariia limbajelor de nivel nalt ca Fortran, Cobol, Algol.
Dintre calculatoarele din aceast generaie, cele mai cunoscute sunt:
TX-0 (Tranzistorised eXperimental computer 0) realizat la MIT.
PDP-1 (Programmable Data Procesor) realizat de ctre DEC (Digital Equipement
Corporation) , avnd o memorie intern de 4kcuvinte a 18 bii i ciclul instruciune de 5s.,
fiind echipat cu consol monitor CRT (Cathode Ray Tube) cu posibilitatea de control al
fiecrui punct de pe ecran.

Generaia a treia, calculatoare cu circuite integrate (1965- 1980)


n 1958 a fost inventat circuitul integrat de ctre Robert Noyl sau, dup alte surse, de ctre
Jack Kilby de la Texas Instruments. Este vorba despre gruparea pe o pastil de siliciu a mii i
apoi milioane de
componente..
Principalele caracteristici ale calculatoarelor din aceast generaie sunt:
-utilizarea circuitelor integrate pe scar redus, cu 100 tranzistori pe chip;
-apariia memoriilor de semiconductoare, cu timp de acces de 0,5- 75s;
-memorie extern de mare capacitate, discuri de mas i benzi magnetice.
Sistemele de calcul din aceast generaie au fost create de:
IBM, cel mai reprezentativ fiind IBM 360;
DEC, cu minicalculatoare din seria PDP 11/XX.

Generaia a patra . V.L.S.I. (1980-2005)


Apariia acestei generaii a fost posibil datorit perfecionrii tehnologiei integratelor.
Circuitele integrate VLSI (Very Large Scale Integration) ajung la 1 miliard de tranzistoare pe
cip..
Calculatoarele din aceast generaie se caracterizeaz prin urmtoarele:
-utilizarea circuitelor VLSI;
-apariia i dezvoltarea microprocesoarelor;
-dezvoltarea de noi tipuri de memorii (MOS, magnetice, holografice) i echipamente
periferice orientate pe sesizarea primar a datelor;
-interconectarea calculatoarelor n reele, nsoit de ntreptrunderea industriilor de
calculatoare i telecomunicaii;

-apariia i dezvoltarea mediilor de programe complexe cu puternice faciliti grafice.


n aceast generaie au aprut la nceput calculatoarele personale de tip Home Computer
iar apoi cunoscutele Personal Computer, pe baz de microprocesoare; dou dintre firmele
cele mai importante care produl microprocesoare sunt INTEL i MOTOROLA.

Generaia cincia
S-a ncercat o definire a generaiei a cincia, prin formularea cerinelor ce stau n faa
calculatoarelor la ora actual, cerine care cuprin urmtoarele:
-o interfa inteligent care s permit dialogul pe baz de limbaj natural (voce, sunete,
imagini, informaie grafic);
-crearea unei maini care s realizeze raionament pentru rezolvarea problemei, fr
cunoaterea prealabil a algoritmului;
-baze de date imense cu o cutare foarte rapid.

2.

Evoluia arhitecturilor de calcul.????

Din punct de vedere tehnologic cele mai importante tendine sunt:


-gradul de integrare al tranzistorilor pe cip crete cu cca. 55% pe an; tehnologia de
integrare a microprocesoarelor a evoluat de la 10 microni (1971) la 0,18 microni 2001.
-frecvena ceasului crete i ea cu 50% pe an;
-pentru memoriile DRAM, densitatea de integrare crete cu cca 40- 50% pe an, iar timpul de
acces aferent scade cu 3 % pe an.
-tehnologia i performanele reelelor se mbuntesc semnificativ.

Se poate spune c aceste tendine respect legea lui Gordon Moore, cofondator
mpreun cu Obert Noyce a societii INTEL. Acesta, n 1965, enun celebra sa lege:
numrul de tranzistori din circuitele integrate se va dubla la fiecare doi ani . Aceasta
nseamn c, la fiecare 10 ani se schimb
prefixul de msurare, adic totul crete de 1000 de ori. ntr-adevr, dac hard discurile din
anii 90 aveau 100 MB, n 2000 ele au 100 GB. Frecvena ceasului era n 1990 de 8 MHz iar n
2000 era de 1 GHz etc.

ntre cele mai evidente tendine de evoluie n arhitectur :

-exploatarea paralelismului la nivelul instruciunilor i firelor de execuie, att prin tehnici


statice (soft) ct i dinamice(hard); exist i tehnici hibride cum ar fi cazul procesorului Intel
Ithamium IA-64;
-structuri tot mai performante de ierarhizare a sistemului de memorie prin utilizarea
arhitecturilor evoluate de memorie cache;
-reducerea latenei critice de program, prin tehnici de predicie;
-utilizarea microprocesoarelor Shered memory n special n cadrul arhitecturii serverelor i
staiilor grafice.

3.

Taxonomia (clasificarea) Flynn.?????

Taxonomia lui Flynn este o clasificare a arhitecturilor de calculatoare propus de Michael


J. Flynn n 1966 . Cele patru clase de arhitecturi definite de Flynn au la baz numrul de
fluxuri de instruciuni i de date concurente disponibile n arhitectur.
Taxonomia lui Flynn
Flux de
instruciuni
singular

Flux de
instruciuni
multiplu

Flux de date singular

SISD

MISD

Flux de date multiplu

SIMD

MIMD

Aceasta arhitectura interna a fost dezvoltata n mai multe directii rezultnd sisteme de
calcul cu posibilitati noi si adaptate noilor cerinte cerute de societate. Pentru a vedea aceste
noi directii ne vom folosi de o clasificare a sistemelor dupa arhitectura interna propusa de
Flynn:
SISD (Single Instruction Single Data)
SIMD (Single Instruction Multiple Data)
MISD (Multiple Instructions Single Data)
MIMD (Multiple Instructions Multiple Data)

SISD realizeaz o execuie segvenial a instruciunilor (figura 1.5.)


Principalul neajuns al acestei arhitecturi este viteza de execuie care , la un moment dat,
este plafonat, situaie denumit gtul sticlei lui Neumann (Neumann Bottleneck).
Spargerea acestei limitri este realizat prin arhitectura paralel.

Fig. 1.5. Arhitectura SISD; UC-seciunea de comand a Unitii centrale; UP-seciunea de


prelucrare a Unitii centrale; MM-modul de memorie; FD-flux de date; FI-flux de instruciuni.

Arhitectura SIMD se caracterizeaz prin n uniti de procesare (UP) care opereaz sub
controlul unui flux unic de instruciuni (FI) lansat de o singur unitate de comand (UC).

Cele mai cunoscute maini SIMD sunt calculatoarele vectoriale. Acestea transform
instruciuni care se execut n n pai ntr-o main SIMD, n instruciuni care se execut
ntr-un singur pas. De exemplu, suma a doi vectori: c[i]=a[i]+b[i] pentru i=1n se face
ntr-un pas, fiecare Unitate de Prelucrare calculnd o component a vectorului sum.
3.
MISD (Multiple Instruction Single Data - mai multe instructiuni cu o data)
Fluxuri de instruciuni multiple, flux de date singular (MISD)- neobinuit datorit faptului c
fluxurile de instruciuni multiple au nevoie, de obicei, de fluxuri multiple de date pentru a fi
eficient. Totui, acest tip este folosit cnd se ajunge la paralelism redundant, ca de exemplu
la avioane, care sunt obligate s posede cteva sisteme backup n cazul n care unul se
defecteaz. Acestea sunt sistemele care folosesc microprocesoare pipeline (conduct),
metod folosit de ctre procesoarele recente. La un astfel de microprocesor, de exemplu,

n paralel se execut instruciunean, se decodific instruciunea n+1 i se aduce n memorie


instruciunea n+2. Ideea acestei arhitecturi provine de la benzile de montaj a produselor
industriale (automobile, televizoare etc.).
MISD nu are nici un sens i de aceea nu este utilizat.
MIMD cuprinde dou feluri de maini: -multiprocesoare i -multicalculatoare.
Multiprocesoarele se caracterizeaz prin existena memoriei comune la care au acces n
procesoare. Schimbul de informaie dintre procesoare se face prin variabilele partajate din
memoria comun la care au acces toate procesoarele, ns accesul trebuie fcut prin
excludere mutual pentru a realiza ceea ce se numete consistena memoriei.
Multicalculartoarele se caracterizez prin existena unui numr foarte mare de calculatoare
( de la ordinul sutelor n sus) care sunt legate printr-o reea topologic. Fiecare procesor are
memoria lui local, vzut doar de el, iar comunicarea ntre procesoare se face prin mesaje.

4.

Legea Amdahl. Analiza asimptotic a performanei


calculatoarelor.

Legea lui Amdahl : eficiena maxim n mbuntirea unui sistem (concret sau abstract) se
atinge dac se optimizeaz subsistemul cel mai folosit.
Aceast lege afirm c o mic parte a programului, care nu poate fi paralelizat va limita
acceleraia global care poate fi obinut din restul programului, din partea paralelizabil a
acestuia. Orice probleme matematice sau de inginerie suficient de complexe, de obicei, vor
consta din mai multe pri, unele paralelizabile, iar altele secveniale. Accelerarea S pentru
un sistem cu N procesoare este, prin
definiie: S=Ts/Tn, unde:
Ts = timpul de execuie pentru cel mai rapid algoritm secvenial care rezolv problema pe
un monoprocesor;
Tn = timpul de execuie al algoritmului paralel executat pe un sistem multiprocesor, cu N
microprocesoare.
Dac notm cu f fracia (procentajul) din algoritm care are un caracter eminamente
secvenial, f [0,1], putem scrie:
Tn=fTs+(1f (Ts))/N Legea lui G. Amdahl, 1S N

Aceast lege sugereaz c un procentaj ( f ) orict de sczut de calcule secveniale


impune o
limit superioar a accelerrii (S) care poate fi obinut pentru un anumit algoritm paralel,
pe
un sistem multiprocesor, indiferent de numrul N al procesoarelor din sistem i topologia de
interconectare a acestora . Legea lui Amdahl presupune o dimensiune fix a problemei i
faptul c mrimea prii secveniale este independent de numrul de procesoare
S presupunem acum c operaiile de nmulire din codul executabil sunt responsabile
pentru 75% adic 75 de secunde. De cte ori trebuie mrit viteza de execuie a unei
nmuliri pentru a reduce timpul de execuia a aplicaiei de 4 ori.

Relaia obinut reprezint formula clasic pentru legea lui Andahl. Aceast lege este
perfect valabil pentru aplicaii cu sarcin de lucru fix.

a)

n=1 => Sn=1

b)

=1 => Sn=1

c)

=1 => Sn=n

d)

n->oo , Sn-> 1/

cnd parametrul n tinde spre infinit, accelerarea sau ctigul de vitez S n este limitat de
ponderea operaiilor secveniale n aplicaia dat.

5.

Conveiere sincrone: Organizarea i caracteristica


general.

n general un conveiere poate fi de tip sincron sau asincron. Conveierele asincrone au


performana teoretic cea mai mare. Realizarea practic ns a acestora e foarte dificil. De
aceea sub aspect practic sunt implementate i utilizate conveierele sincrone. Un conveier
sincron poate fi reprezentat cu urmtoarea structur genetic.

Dup cum se observ conveierul respectiv e constituit din n nivele, primul fiind nivel de
intrare iar ultimul nivel de ieire. Fiecare nivel conine un fixator(circuit de memorare de ex.
registru) i un circuit logic combinaional(CLC). Toate circuitele de memorare sunt
sincronizate cu semnalul CLK. n acest fel n fiecare moment de timp pe fiecare nivel al
conveierului sunt fixate simultan pentru o perioad de tact nite date. Datele de pe primul
nivel sunt date de intrare n conveier, datele la nivelul de ieire reprezint rezultatul final
generat de conveier iar datele de pe celelalte nivele sunt date intermediare. CLC de pe un
anumit nivel al conveierului prelucreaz datele furnizate de fixatorul respectiv n
conformitate cu cerinele operaiei de pe nivelul corespunztor. Toate operaiile executate
pe nivelele conveierului rezult din divizarea unei operaii complexe. Astfel, nivelele
conveierului permit asamblarea a operaiei sau funciei de la intrarea conveierului.
n aa fel n fiecare moment de timp se proceseaz cteva perechi de operanzi(n cazul
operaiei cnd apare virgula flotant), dar tot n fiecare tact se genereaz cte un rezultat la
ieire. Datorit acestei proprieti performana conveierelor este foarte nalt i poate fi
caracterizat ca un rezultat pe tact. Durata tactului depinde practic de ntrzierea introdus
de circuitul logic combinaional. Evident frecvena de lucru a conveierului trebuie corelat
cu ntrzierea maxim introdus pe unul din nivelele conveierului. n caz ideal ntrzierea
introdus de fiecare CLC ar trebui s fie egal. La nivel practic divizarea operaiei complexe
pe sub-operaii trebuie realizat n aa mod nct complexitatea respectiv ntrzierea la nivel
de fiecare sub-operaie s fie ct mai aproape una de alta.

10

Cel mai simplu conveier dar i cel mai performant ca vitez de lucru este conveierul liniar.
Un conveier liniar are conectate intrrile ieirile la 2 nivele vecine.
Pentru a reduce costurile conveierelor se utilizeaz conveiere multi-funcionale(dinamice).
Un conveier multi-funcional e capabil s execute cel puin dou tipuri de operaii
complexe(de ex. nmulirea i adunarea n virgul flotant). Conveierul multi-funcional
conine interconexiuni de tip reacie(de ex. nivelul i e conectat la nivelul i-3). ntr-un
conveier multi-funcional intrarea respectiv ieirea pot fi oriunde la nivel structural.
Conveierele pot fi aritmetice, de instruciuni la nivel de memorie a sistemului etc.

6.

Conveierul de adunare n virgul fix.

Sisteme pipeline aritmetice


Pentru mbunttirea performantelor, anumite functii ale unittii aritmetice logice a unui
procesor pot fi implementate printr-un sistem pipeline. Pentru implementarea functiilor
aritmetice complexe, ca adunarea, nmultirea i mprtirea n virgul mobil se utilizeaz
sisteme pipeline aritmetice. Aceste functii pot fi descompuse n mai multe subfunctii
executate n mod succesiv.
Considerm, de exemplu, adunarea a dou numere normalizate n virgul mobil, X i Y.
Aceast operatie poate fi executat n urmtoarele patru etape: compararea exponentilor,
alinierea mantiselor (egalizarea exponentilor), adunarea mantiselor i normalizarea
rezultatului. Aceste operatii necesit un sistem pipeline cu patru etaje, dup cum se arat n
figura 1.19. Presupunem c X are reprezentarea normalizat n virgul mobil ( Xm, Xe ),
unde Xm este mantisa i Xe este exponentul i, n mod similar, Y= (Ym, Ye).
In prima etap a adunrii numerelor X= (Xm ,Xe ) i Y= (Ym, Ye) se compar Xe i Ye.
Aceast operatie este executat de etajul E1 al sistemului pipeline, care necesit un
sumator n virgul fix. Acest etaj identific exponentul cel mai mic, de exemplu Xe si
stabilete exponentul comun, care n acest caz, este Ye.
Mantis corespunztoare Xm se modific prin deplasarea la dreapta pentru a forma o nou
mantis X'm , astfel nct ( X'm, Ye) = ( Xm, Xe) Aceast operatie este executat de etajul al
doilea (E2) al sistemului pipeline.
In etajul al treilea E3 sunt adunate mantisele X' i Y, care sunt acum aliniate corespunztor.
Aceast adunare n virgul fix poate produce un rezultat care nu este normalizat.
Rezultatul este normalizat n etajul al patrulea E4. Pentru realizarea normalizrii se
contorizeaz mai nti numrului k al cifrelor de zero de la nceputul mantisei (sau al cifrelor
de unu n cazul unui numr negativ). In continuare se deplaseaz mantisa cu k pozitii la
stnga i se ajusteaz n mod corespunztor exponentul

11

Sisteme pipeline aritmetice cu reactie invers


Utilitatea unui sistem pipeline aritmetic poate fi mrit prin includerea
cilor de reactie invers de la ieirile etajelor la intrrile primare ale sistemului pipeline.
Reactia invers permite ca rezultatele calculate de anumite etaje s fie utilizate n calculele
ulterioare de sistemul pipeline. Vom ilustra n continuare acest concept prin adugarea
reactiei inverse la un sumator n virgul mobil de tip pipeline cu patru etaje.

Considerm problema calculrii sumei a N numere n virgul mobil b1, b2, , bn.

12

nsumarea poate fi efectuat prin modificarea sumatorului dup cum se arat n figura 1.20.
A fost adugat o cale de reactie invers la ieirea etajului final E4, permitnd rezultatelor
sale s fie aplicate la intrarea primului etaj E1. Operanzii de intrare ai sumatorului modificat
se obtin din patru surse separate: o variabil X care este obtinut dintr-un registru UCP sau
o locatie de memorie; o surs constant K; ieirea etajului E4, reprezentnd rezultatul
calculat de E4 n perioada de ceas precedent i un rezultat anterior calculat de sistemul
pipeline i memorat n registrul de ieire R.
Problema adunrii a N numere este solutionat de sistemul pipeline aritmetic din figura 1.20
n modul urmtor:
Operanzii b1, b2, , bN sunt introdui n sistemul pipeline ntr-un ir continuu prin intrarea
X. Acest proces necesit o secvent de operatii de ncrcare din memorie, care sunt
implementate simplu dac operanzii sunt memorati n locatii continue.
In figura 1.23, b8 = bN este ultimul element care trebuie nsumat.
Dup ce ultimul operand bN a fost aplicat la intrarea sistemului pipeline, structura reactiei
inverse este modificat din nou pentru a permite ca cele patru sume partiale b1+b5,
b2+b6, b3+b7 i b4+b8 s fie adunate. Modificarea necesar a structurii reactiei inverse
este indicat n figura 1.22 pentru cazul N= 8. La momentul t = 9, intrrile externe n
sistemul pipeline sunt invalidate prin setarea lor la zero, iar prima din cele patru sume
partiale b1+b5 de la ieirea etajului E4 este memorat n registrul R. Apoi, la momentul t =
10, noul rezultat b2+b6 de la etajul E4 este aplicat la intrarea sistemului pipeline, mpreun
cu rezultatul precedent b1+b5 obtinut din R. Astfel, n acest moment ncepe calculul
b1+b5+b2+b6, care este suma jumttii operanzilor de intrare. Dup o nou ntrziere de o
perioad, ncepe calculul sumei celeilalte jumtti b3+b7+b4+b8.

13

Atunci cnd b1+b5+b2+b6 apare la ieirea etajului E4 la momentul t =14, aceasta este
memorat n R, pn cnd b3+b7+b4+b8 apare la ieirea etajului E4 la momentul t = 16. In
acest moment, ieirile etajului E4 i ale registrului R sunt aplicate la intrrile etajului E1.
Rezultatul final este produs patru perioade mai trziu, la momentul t = 20 n cazul N = 8.
Pentru cazul general al N operanzi, sistemul pipeline aritmetic din figura 1.21 i 1.22 poate
calcula suma a N>4 numere n virgul mobil ntr-un timp (N+11)T unde T este perioada de
ceas a sistemului pipeline, deci ntrzierea pe etaj. Deoarece un sumator comparabil care nu
este de tip pipeline necesit un timp de 4NT pentru calcularea sumei, creterea vitezei
obtinute este 4N/(N+11), care se apropie de 4 pe msur ce N crete.

7.

Conveierul de nmulire n virgul fix. Cile de cretere a


frecvenei de lucru.

Sumatorul CSA : se aplica 3 numere la intrare fiind generate 2 nr. Binare la iesire. O iesire
reprezinta suma separata pe fiecare coloana de biti iar cealalta iesire cifrele transportului
generate salvate sub forma de vector C.
Pentru a obtine suma celor 3 numere vectorul C si Sb ( bit WISE ) trebuie sumati pe un
sumator clasic de tip CPA. Reprezentarea Raspunsului de n biti la un sumator CSA :
Sb = { 0, sn-1, sn-2,..., s1,s0 }
C = {cn, cn-1, cn-2,..., c1, 0 }
Relatia pentru un bit a Sb este : Sbi = xi + yi + zi ( in cazul dat + e adunare modulo2 )
Iar pentru vectorul C relatia este : C = xiyi V xizi V yizi
Deci suma celor 3 numere x, y si z va fi : S=x+y+z = C + Sb
Deoarece sumatorul CSA efectueaza toate calculele a C si Sb in paralel rezultatele sunt
calculate cu o intirziere foarte mica, intirzierea este practic de 2 nivele logice. Acest tip de
sumator se utilizeaza la imultirea a 2 numere.
PipeLine de imultire
Fie 2 numere A si B a cite 8 biti este necesara efectuarea produsului P a acestor 2 numere
Structura de mai sus reprezinta conveerul de imultire in care sumarile se realizeaza conform
aroborelui walles.
Pentru a suma cele 8 produse partiale (p/u a genera produsul P) v-om utiliza un set de
circuite CSA astfel in cit se reduce arborele sumarii de la 8 numere de intrare la doar 2
numere dupa care am putea recurge la un circuit CPA pentru a obtine produsul propriu zis.
Conveerul reprezintat este realizat pe 4 etaje S1, S2, S3, S4;
I et. Logica care genereaza cifrele binare ale tuturor produselor partiale
II III et. Contin circuite CSA interconectate a cite 2 nivele
IV et. Etapa finala este dintr-un sumator clasic din care se obtine produsul final
Modificand str. Initiala intr-un conveer pe 6 etaje devine posibila dublarea fregventei de
lucru a conveeruului. Costurile noii versiuni a conveerului ar fi cu 20-25 % mai mari fata de

14

varianta initiala. Astfel utilizand aceeasi tehnologie se obtine o inbunatatire substantiala a


raportului post performanta printr-o simpla modificare a structurii conveerului.

8.

Conveierul de instruciuni. Modelul de execuie a instruciunilor


n regim band de asamblare.

Orice instructiune poate fi divizata in cel putin 2 faze :


I faza de extragere
II faza de executie
Pentru a efectua un conveer de instructiuni in primul rind este necesar de impartit in asa
mod toate fazele (etajele) ca timpii de executie a etajului sa fie cit mai posibil de egali
pentru realizarea fiecarei sub operatii. Si in al 2 lea rind noi trebuie sa stabilim nr de etaje in
pipeline.
Deoarece timpul de executie a fazei de extragere este cu mult mai mica decit cea de
executie, v-om folosi aceasta faza ca un etaj aparte. Iar faza de executie o v-om imparti in 5
etaje in asa fel ca sa fie permisa procesarea paralela.
Deci noi v-om avea 6 etaje, ele sunt :
FI faza de extragere
DI decodarea
CO calcularea adresei directive a operanzilor
FO stergerae operanzilor
EI executia propriu zisa a instructiunilor
WO scrierea rezultatului

15

In diagrama este prezentat executia unui conveer pe un fragment liniar de instructiuni si


executia este fara perturbari in realitatate exista multi factori ce au un impact negativ
asupra performantelor unui conveer.

16

9.

Caracteristica general a arhitecturii de tip CISC .

CISC - Complex Instruction Set Computer


CISC = Complex Instruction Set Computing
Microprocesoarele care utilizeaza arhitectura CISC au multe instructiuni incorporate in ele.
Acest lucru salveaza timp de procesare. Timpul este salvat deoarece instructiunile necesare
sunt disponibile direct din microprocesor si nu este nevoie ca acesta sa le preia din
programul stocat pe memoria externa, cum ar fi RAM-ul.
Arhitectura CISC ajuta microprocesorul sa grabeasca executia programelor ce au nevoie de
instructiuni. Din cauza instructiunilor incorporate in microprocesor, performantele acestuia
sunt scazute. Pentru a trece peste aceasta problema trebuie incorporate mai multe
tranzistoare in microprocesor. Acest tip de procesor este folositor pentru nevoi generale de
calcul. Este folosit in general in PC-uri.

Caracteristici ale arhitecturilor CISC

Set amplu de instructiuni, peste 300;

Moduri de adresare complexe;

Folosirea de micro-instruciuni, execuia instruciunilor presupune un numr variabil de


stri.
-

Folosirea microprogramelor pentru execuia instruciunilor cod main

17

Dezavantajele:
- Creterea capacitii necesare ROM pentru microcod reduce spaiul unitilor logice de
procesare i implicit diminueaz performanele.
- Un dezavantaj semnificativ al unui set complex de instruciuni este acela c exist
instruciuni complexe rar folosite, instruciuni care ocup o cantitate considerabil de spaiu
disponibil pe chip n zona ROM de microcod.
IBM a realizat o statistic detaliat cu rezultate neateptate i impresionante:
Un program pentru un procesor CISC folosete tipic 20% din instruciuni n aproximativ 80%
din durata execuiei unui program.
n contexte speciale execuia unei secvene de instruciuni simple ruleaz mai repede dect
o singur instruciune cu cod main complex care ar avea acelai efect.
Programele au un numr semnificativ de instruciuni de control al programului ( call, jmp ...)

Se prefigureaz ca alternative:
Reducerea setului de instruciuni;
Nivele de pipeline pentru execuia instruciunilor;
Numai anumite instruciuni s aibe acces direct la memorie, restul folosesc registrele
interne ale microprocesorului;
Folosirea registrelor ntr-o manier care s permit acces rapid al apelurilor.

10. Caracteristica general a arhitecturii de tip RISC .


18

Introducere
In general, arhitecturile calculatoarelor au evoluat progresiv spre o complexitate mai
ridicat ca, de exemplu un numr mai mare de instructiuni, un numr mai mare de moduri
de adresare, o putere de calcul mai ridicat a instructiunilor individuale, registre mai
specializate. Calculatoarele care se ncadreaz n asemenea tendinte sunt numite
calculatoare cu set complex de instructiuni (CISC - Complex Instruction Set Computer).
S-a constatat la un moment dat c adugarea unei instructiuni complexe la un set de
instructiuni afecteaz eficienta i costul procesorului. Efectele unei asemenea instructiuni
trebuie evaluate nainte ca aceasta s fie adugat la setul de instructiuni. Unele din
instructiunile puse la dispozitie de procesoarele CISC sunt utilizate rareori de compilatoare.
Conceptul de baz de a nu se aduga instructiuni utilizate rar la setul de instructiuni
reprezint un concept inovativ al arhitecturilor de calculatoare, numit calculator cu set redus
de instructiuni (RISC - Reduced Instruction Set Computer). Filozofia de proiectare a
arhitecturilor RISC este de a se aduga la setul de instructiuni numai acele instructiuni care
determin un ctig de performant.
Avantajele arhitecturilor RISC se refer la:
1. Viteza de calcul;
2. Implementarea n circuite VLSI;
3. Timpul de proiectare;
4. Facilitarea utilizrii limbajelor de nivel nalt.
1. In ceea ce privete viteza de calcul, arhitecturile RISC sunt mai potrivite pentru utilizarea
sistemelor pipeline de instructiuni. Aceste arhitecturi maximizeaz rata de transfer a
sistemului pipeline prin faptul c au o dimensiune uniform i o durat egal a executiei
pentru majoritatea instructiunilor. Aceste caracteristici reduc perioadele de inactivitate n
cadrul sistemului pipeline.
2. Implementarea n circuite VLSI se refer la faptul c :
unitatea de control a arhitecturilor RISC este implementat prin hardware. Un sistem cu o
unitate de control cablat va fi, mai rapid dect unul microprogramat. In plus, un numr
mare de registre i memoriile cache n cadrul capsulei vor reduce numrul accesurilor la
memorie. Datele mai frecvent utilizate pot fi pstrate n registre. Registrele pot pstra de
asemenea parametrii care trebuie transmii altor proceduri.
3. Un alt avantaj al arhitecturilor RISC este c acestea necesit o perioad mai scurt de
proiectare, deci costurile sunt mai reduse. Timpul necesar pentru testarea i depanarea
circuitelor rezultate este mai redus, deoarece nu se utilizeaz microprogramarea i
dimensiunea unittii de control este redus deci posibilitatea erorilor de proiectare este mai
redus.
4. Arhitecturile RISC ofer anumite caracteristici care faciliteaz n mod direct operatiile
obinuite ale limbajelor de nivel nalt.
Caracteristici ale arhitecturilor RISC :

19

1. Majoritatea instructiunilor acceseaz operanzii din registre, cu exceptia unui numr redus
dintre ele, cum sunt instructiunile LOAD i STORE, care acceseaz memoria. Cu alte cuvinte,
o arhitectur RISC este un calculator de tip load/store.
2. Executia majorittii instructiunilor necesit un singur ciclu de ceas, cuexceptia unui
numr redus dintre ele, cum sunt instructiunile LOAD i STORE.
3. Unitatea de control este cablat. Deci, arhitecturile RISC nu sunt microprogramate. Codul
generat de compilator este executat direct prin hardware i nu este interpretat prin
microprogramare.
4. Exist un numr redus de formate ale instructiunilor (adesea mai mic dect 4).
5. UCP are un numr mare de registre. O alternativ la un numr mare de registre este
amplasarea unei memorii cache n aceeai capsul.
6. Compilatorul are o complexitate ridicat. De exemplu, compilatorul trebuie s se ocupe
de salturile ntrziate.
8. Exist relativ putine instructiuni (adesea, mai putin de 150) i foarte putine moduri de
adresare (adesea mai putin de 4).
9. Arhitecturile RISC faciliteaz operatiile limbajelor de nivel nalt printr-o alegere judicioas
a instructiunilor i prin utilizarea compilatoarelor care optimizeaz codul.
10. Arhitecturile RISC utilizeaz sistemele pipeline de instructiuni i metode pentru
rezolvarea problemei salturilor, cum sunt tehnicile de prencrcare multipl i de predictie a
salturilor.

11. Analiza comparat a arhitecturilor CISC-RISC.

20

3. Comparatie CISC vs RISC


Cand a aparut CISC, ideea era ca sa se aduca in hardware stilul de programare specific unui
limbaj care sa se aproprie (pe cat e posibil la nivelul hard) de un limbaj inalt. Astfel,
instructiunile complexe au acelasi efect ca si mici secvente de instructiuni simple.
Implemenarea acestor instructiuni complexe in hard insemana insa :
-hard complex
-locul ocupat de hardul pentru instructiunile complexe ar fi putut fi utilizat pentru a avea
mai multe unitati de executie (si deci grad de paralelism mai mare)
-secvente de microcod , care sunt lente comparativ cu restul procesorului

21

Hardul complex poate avea si un alt efect relativ neasteptat. Proiectantii au fost nevoiti sa
se concentreze pe functionarea lui si au acordat mai putina atentie performantelor. Un astfel
de exemplu este cazul instructiunii INDEX de la procesorul VAX , care ruleaza mai incet
decat o bucla care executa acelasi cod.
Tot datorita setului redus de instructiuni de asamblare, compilatoarele optimizate pentru
RISC sunt capabile sa organizeze mai eficient fluxul de instructiuni de asamblare. Pe de alta
parte insa, compilatoarele obtimizate pentru RISC necesita mai mult timp de compilare
decat cele pentru CISC. Aceasta deoarece trebuie sa se ocupe si de managementul benzii
de asamblare, anticiparea ramificatiilor sau reorganizarea codului.
Ca principiu, arhitectura RISC are mai multi registri generali, in timp ce CISC are mai multi
speciali. Oricum, procesoarele moderne imprumuta atat caracteristici CISC cat si RISC.

12. Execuia instruciunilor n regim band de asamblare pe


procesoare cu arhitectur RISC.
Intr-o arhitectura de tip RISC operatiile sunt nu doar cit mai simple ci pot fi grupate pe 2
categorii:
operatii (instructiuni) tip registru registru
-

operatii de transfer memorie registrului

In cazul instructiunilor de tip reg reg pot fi evedentiate 2 faze de executie a instructiunilor :
-

IF (instruction fetch) alegerea instructiunii

EI (execution instruction) Rg -> ALU -> Rg

In cazul Load/Store ( operatii de transfer mem reg ) presupunem 3 faze in executia


instructiunii
-

IF ( instruction fetch )

memoriei

EI ( exec + calculate memory address ) se executa luind in calcul adresa

MT ( memory transfer ) Transfer propriu zis : Mem to Reg; Reg to Mem;

La prezentarea diagramelor de executie a instructiunilor v-om presupune ca fazele IF si EI se


suprapun. Mai jos sunt prezentate 3 diagrame in ordinea urmatoare:
I

cazul cind executia


este pur segventiala

II
executia conveer cu suprapunere a 2 faze ( la fiecare faza este posibil un singur acces
la memorie )
III
exec conveer cu suprapunere a 3 faze ( este posibila 2 aceese la memorie pe o
singura faza )

22

Se va lua acelas fragment de cod pentru fiecare din cele 3 cazuri pentru a putea face o
comparatie. Fragmentul de cod va contine si o instructiune de salt.

13. Procesoare cu arhitectur SuperScalar: Noiuni


generale.????
Procesoarele superscalare, exploatnd paralelismul arhitecturii, pot executa mai multe
instruciuni ntr-un ciclu main. Metodele superscalare, rezultat al extinderii principiilor ce
stau la baza procesoarelor RISC, au fost aplicate ncepnd din anii 1990 unei game largi de
arhitecturi, de la cele specifice RISC (DEC Alpha), pn la unele evident non-RISC (Intel x86).

Un procesor superscalar aduce din memorie i decodific, n mod obinuit, mai multe
instruciuni simultan. Ca parte a acestui proces, efectele salturilor condiionate sunt
anticipate pentru a asigura un flux nentrerupt de instruciuni. Fluxul de instruciuni, adus
anticipat n bufferul de prefetch (citire anticipat a instruciunilor), este analizat pentru
determinarea dependenelor de date, iar instruciunile independente sunt distribuite
unitilor funcionale, n conformitate cu tipul lor. Aici ncepe, n paralel, execuia

23

instruciunilor, n funcie, mai ales, de disponibilitatea operanzilor i mai puin de ordinea n


care se afl acetia n programul secvenial. Terminarea execuiei instruciunilor i nscrierea
rezultatelor are loc n aa fel nct starea logic a procesului este actualizat n ordinea
secvenial a programului, pentru a da posibilitatea tratrii precise a unei eventuale
ntreruperi.
Dependenele de date apar ntre instruciuni care obin acces la acelai registru sau locaie
de memorie. n acest moment se spune c exist un hazard datorat posibilitii ca
instruciunile s se execute ntr-o ordine incorect. Aceste hazarduri pot fi de tipurile
WAR,WAW i RAW.
Hazardul WAR (Write After Read), adic scriere dup citire", apare cnd instruciunile
trebuie s modifice o locaie de memorie, dar trebuie s atepte ca toate instruciunile
anterioare ce necesit vechea valoare s o citeasc.
Hazardul WAW (Write After Write), adic scriere dup scriere", apare cnd mai multe
instruciuni modific aceeai locaie; modificrile trebuie realizate n ordinea precizat de
programul secvenial, pentru ca la locaia respectiv s rmn, n final, valoarea corect.
Aceste dou tipuri de hazarduri sunt artificiale, fiind cauzate de un cod neoptimizat, de
numrul limitat de registre, de necesitatea de a economisi memorie sau de ciclurile
programului (n care o instruciune poate fi dependent de ea nsi). n general, aceste
dependene pot fi eliminate prin redenumirea resurselor respective.
Hazardurile RAW (Read After Write), adic citire dup scriere" sunt cele mai frecvente,
deoarece o instruciune poate citi o valoare numai dup ce valoarea a fost furnizat de
instruciunea care o scrie.
Mai toate procesoarele superscalare utilizeaz o memorie rapid, de mici dimensiuni, de tip
cache, care conine instruciunile cel mai recent executate, pentru a reduce ntrzierile,
datorate accesului la memoria principal, care este mai lent, i pentru a mri numrul de
instruciuni aflate, la un moment dat, la dispoziia procesorului. Cache-ul de instruciuni este
organizat n blocuri coninnd instruciuni consecutive. Dac instruciunea ce urmeaz a fi
executat nu este n cache, atunci blocul care o conine este adus, n ntregime, din
memoria principal, i scris n cache.

24

25

14. Memoria ierarhic: Organizare general, caracteristici


principale.(imi pare cai asta)
Ierarhia de memorii
Principalele caracteristici de care trebuie s se in cont la realizarea unui sistem
de memorie sunt capacitatea i performanele memoriei, n special timpul de acces.
Pe lng acestea, trebuie s se ia n considerare i costul memoriei. Aceste caracteristici
sunt contradictorii. De exemplu, exist n general urmtoarele relaii ntre capacitatea,
timpul de acces i costul pe bit al diferitelor tehnologii utilizate pentru implementarea
sistemelor de memorie:
O capacitate mai mare implic un timp de acces mai mare;
O capacitate mai mare implic un cost pe bit mai mic;
Un timp de acces mai mic implic un cost pe bit mai mare.
Pe de o parte, trebuie utilizate tehnologii de memorie care asigur o capacitate
ridicat, pentru c o asemenea capacitate este necesar, i deoarece costul pe bit al
acestor tehnologii este mai redus. Pe de alt parte, pentru a satisface cerinele de
performan,
trebuie utilizate memorii cu un timp de acces redus, care au un cost ridicat i o
capacitate relativ redus. Aceste cerine contradictorii se pot asigura dac se utilizeaz
n cadrul unui sistem de calcul mai multe componente i tehnologii de memorie, care
formeaz o ierarhie de memorii. O ierarhie tipic este ilustrat n Figura 8.1.
Memoria intern principal a calculatorului este cea la care fac referire cele
mai multe instruciuni i date. Pentru operaiile interne ale UCP i cele aritmetice i logice,
se utilizeaz registrele. Memoria principal este extins uneori cu o memorie mai
rapid, de dimensiuni mai mici, numit memorie cache sau memorie tampon rapid.
Memoria principal i extensiile sale sunt, n general, volatile. Datele sunt pstrate
pe termen lung n memorii externe de mas, dintre care cele mai utilizate sunt discurile
i benzile magnetice. Acestea se utilizeaz pentru memorarea fiierelor de
programe i de date. Discurile se utilizeaz de asemenea pentru a asigura o extensie a
memoriei principale, numit memorie virtual.

26

Pe msura deplasrii din partea superioar a ierarhiei spre cea inferioar, seconstat urmtoarele:
(a) Scade costul pe bit;(b) Crete capacitatea;(c) Crete timpul de acces;(d) Scade frecvena de acces la
memorie de ctre UCP.Rezult deci c memoriile rapide, cu un cost mai ridicat, sunt extinse prin memorii
de dimensiuni mai mari, mai lente, dar mai ieftine. Dac memoria poate fi organizat conform punctelor
(a) - (c), i dac datele i instruciunile pot fi distribuite n cadrul acestei memorii conform condiiei (d),
aceast organizare va reduce costurile globale, meninnd n acelai timp un anumit nivel al
performanelor. Baza pentru validitatea condiiei (d) o reprezint principiul cunoscut sub numele
de localitate a referinelor. Referinele la memorie efectuate de UCP, att pentru date, ct i pentru
instruciuni, tind s se grupeze n anumite zone. Programele conin de obicei un numr de bucle
repetitive i subrutine. Dup intrarea ntr-o asemenea bucl sau subrutin, vor exista referine repetate la
un numr redus de instruciuni. n mod similar, operaiile cu tablouri de date implic accesul la un set
grupat de cuvinte de date. ntr-o perioad mai lung de timp, zonele de memorie accesate se schim,
dar ntr-o perioad scurt de timp, UCP lucreaz mai ales cu referine de memorie grupate.
n mod corespunztor, este posibil organizarea datelor n cadrul ierarhiei astfel nct procentul de
accesuri la nivelul imediat inferior este cu mult mai redus dect cel la nivelul imediat superior.
Considerm, de exemplu, c memoria este organizat pe dou nivele, nivelul 1 fiind nivelul superior.
Nivelul 2 conine toate instruciunile i datele programului. O parte a instruciunilor i datelor pot fi plasate
temporar n nivelul 1. Periodic, anumite zone din nivelul 1 sunt mutate n memoria de nivel 2, elibernd
spaiupentru alte zone din nivelul 2. n medie ns, majoritatea referinelor se vor efectua la

27

instruciunile i datele aflate n memoria de nivel 1.

15. Proprietile memoriei ierarhice: incluziunea i consistena


(coerena) datelor.
Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesate
trebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor
localizate n
spaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu cuvinte
individuale.
Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la memorie, face ca
pe diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de date, date ce pot
fi
modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile inferioare. De aceea
sistemele de memorie multi-nivel, cu posibilitatea de scriere-citire trebuie s satisfac dou
proprieti privind informaia stocat:
proprietatea de incluziune
proprietatea de coeren

Proprietatea de incluziune exprim faptul c totdeauna informaiile care se gsesc pe un


anumit nivel de memorie se vor gsi i pe nivelul de memorie inferior (M1 M2 ... Mn )
Este posibil ca o informaie existent pe nivelul Mi+1 s nu se gseasc pe nivelul Mi, dar
s fie accesat (cerut) pe nivelul i de memorie. n acest caz (evenimentul este numit "word
miss") cuvntul necesar a fi accesat trebuie adus pe un nivel de memorie superior (de pe
nivelul i+1, pe nivelul i).
Proprietatea de coeren exprim faptul c informaia existent la o anumit adres n
spaiul
de memorie trebuie s fie aceeai, indiferent de nivelul de memorie pe care se afl.
Dac un cuvnt este modificat pe nivelul i, atunci va trebui modificat i pe nivelul i+1 i
pe toate nivelurile inferioare.
Coerena nivelurilor de memorie se poate obine fie prin propagarea valorii modificate spre
toate nivelele inferioare ("write-through"), sau prin actualizarea nivelurilor inferioare
n momentul nlocuirii informaiei de pe nivelul curent ("write-back").

16. Memoria ierarhic pe patru nivele. Transferul de date ntre


nivele.
Ierarhia de memorii

28

Dac analizm organizarea unui calculator, vedem c "inima" acestuia este o unitate de
prelucrare a informatiilor (localizat n procesor), nconjurat de o serie de circuite al cror
rol este, n ultim instant, de a memora informatiile n diverse forme.Aceste circuite de
memorare sunt organizate pe mai multe nivele, ntr-o structur ierarhic, n functie de
distanta fat de unitatea de prelucrare. Pe msur ce se deprteaz de procesor, nivelele de
memorie au o capacitate mai mare, dar i o vitez mai mic. Putem distinge, n principiu,
patru nivele ale ierarhiei de memorii:
- Nivelul regitrilor procesorului. Acetia au, n mod evident, cel mai mic timp de acces,
aflndu-se pe acelai circuit cu unitatea de prelucrare. Este deci de preferat ca aplicatiile s
utilizeze ct mai mult posibil regitrii, pentru a mri performanta. Totui,numrul acestora
este redus, astfel nct este practic imposibil ca o aplicatie s se poat executa exclusiv cu
ajutorul regitrilor, fr a face deloc apel la nivelele urmtoare de memorare. Mai mult,
codurile instructiunilor nu pot fi retinute nregitri.
- Nivelul memoriei cache (numit i memorie imediat). Este singurul nivel care
poate lipsi, fr ca aceasta s implice o schimbare n programele care ruleaz. Att lucrul cu
regitrii procesorului, ct i accesarea nivelelor urmtoare necesit o form de gestiune prin
software; nu este i cazul memoriei cache. La rndul su, memoria cache poate fi mprtit
pe nivele: poate exista un modul cache chiar n interiorul procesorului (numit cache L1),
foarte mic i care functioneaz practic la viteza procesorului, i un altul pe placa de baz
(cache L2), fabricat tot n tehnologie SRAM,care este putin mai mare dect cache-ul L1 i
putin mai lent. Unele implementri pot lucra chiar cu 3 nivele de cache, dintre care 2 sunt
integrate n procesor.
- Nivelul memoriei principale. Dei aici poate fi inclus i memoria ROM, n practic
se are n vedere doar memoria RAM, deoarece prelucrarea informatiei nseamn implicit
modificarea acesteia.
- Nivelul memoriei secundare. Acest nivel are caracteristica de stocare persistent.
Spre deosebire de nivelele anterioare, care sunt volatile, la acest nivel informatiile se
pstreaz i dup ntreruperea alimentrii calculatorului. Tot la nivelul memoriei secundare
se gsete memoria virtual. Formele de implementare a memoriei secundare sunt: discul
dur (cel mai folosit), discheta, mediile optice (CD,DVD), banda magnetic etc.

17. Nivelele memoriei ierarhice moderne n servere i PMD


(personal mobile device).
Ierarhia memoriei are un numr de cel puin 5 niveluri:
Nivelul 0: Registre
Nivelul 1: On-chip-cache
Nivelul 2: On-board-cache
Nivelul 3: Memoria principal

29

Nivelul 4: Memoria secundar

18. Principiul localizrii referinelor: Localizare spaial.


Schimbul de informaii ntre diversele niveluri ale memoriei, trebuie s aib un caracter
transparent pentru utilizator. Aceasta se realizeaz prin folosirea unor resurse hardware i a
unor tehnici software pentru administrarea i alocarea spaiului memoriei (principale) cu
acces direct. De obicei, la rularea unui program se folosete proprietatea numit
localizarea referinelor la memorie. Pe baza acestei proprieti sistemul de memorie
pstreaz cele mai recent accesate articole, pe ct posibil, n memoria cea mai rapid (care
are i cea mai mic capacitate de stocare).
Localizarea referinelor la memorie, observabil n majoritatea programelor, se exprim sub
forma:
localizare spaial a referinelor: dac la momentul t programul face acces la o celul
de memorie de adres X, este foarte probabil ca la momentul t+ programul s fac acces
la celula de adres X + .
Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesate
trebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor
localizate n spaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu
cuvinte individuale. Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la
memorie, face ca pe diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de
date, date ce pot fi modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile
inferioare.

19. Principiul localizrii referinelor: Localizare temporal.


Schimbul de informaii ntre diversele niveluri ale memoriei, trebuie s aib un caracter
transparent pentru utilizator. Aceasta se realizeaz prin folosirea unor resurse hardware i a
unor tehnici software pentru administrarea i alocarea spaiului memoriei (principale) cu
acces direct. De obicei, la rularea unui program se folosete proprietatea numit
localizarea referinelor la memorie. Pe baza acestei proprieti sistemul de memorie
pstreaz cele mai recent accesate articole, pe ct posibil, n memoria cea mai rapid (care
are i cea mai mic capacitate de stocare).
Localizarea referinelor la memorie, observabil n majoritatea programelor, se exprim sub
forma:
localizare temporal a referinelor: dac programul face acces la o celul de memorie la
momentul t, este foarte probabil ca programul s fac din nou acces la aceeai celul la
momentul t +

30

Pentru a folosi proprietatea referinelor localizate n timp, datele cele mai recent accesate
trebuie pstrate ct mai aproape de procesor. Pentru a folosi proprietatea referinelor
localizate n spaiu la transferul ntre niveluri trebuie mutate blocuri continue de date i nu
cuvinte individuale. Dar organizarea ierarhic i folosirea proprietii localizrii referinelor la
memorie, face ca pe diferite niveluri ierarhice s existe informaii copii ale aceluiai bloc de
date, date ce pot fi modificate doar pe nivelul cel mai apropiat de UCP, sau i pe nivelurile
inferioare.

20. Memoria cache: Noiuni generale de organizare i


funcionare.
Memoria cache reprezint un buffer de mare vitez plasat ntre procesor i memoria
principal ce are drept scop s stocheze poriuni din memoria principal care snt n utilizare
curent. De asemenea memoria cache poate fi plasat ntre memoria principal i memoria
secundar (virtual). Datorit faptului c memoria cache este cu un ordin de mrime mai
rapid dect memoria principal, se poate reduce timpul efectiv de acces la memorie cu
condiia ca aceasta s fie corect dimensionat i s se utilizeze o politic adecvat de
gestiune a memoriei cache.

Memoria cache, sau RAM cache-ul este memorie de tip static RAM. Ca orice SRAM, are o
viteza si un cost mult mai ridicate decat RAM-ul dinamic (DRAM). Avand in vedere ca
programele acceseaza memoriile de date sau instructiuni in repetate randuri, s-a observat
ca prin pastrarea a cat mai multe dintre aceste informatii pe SRAM, intregul sistem
functioneaza mai rapid.
Memoriile de tip cache s-au dovedit a fi extrem de folositoare n multe domenii ale
informaticii pentru c modelele accesului la memorie n programele aplicaie obinuite sunt
de tiplocalitate a referinei. Exist cteva feluri de localitate, dar acest articol prezint cazul
n care datele accesate sunt foarte apropiate n domeniul timp (fenomenul de localitate
temporal). Datele ar putea fi sau nu localizate fizic aproape una de cealalt (localitate
spaial).

31

2. Organizarea memoriei cache si functionarea


Exist trei metode de baz pentru plasarea blocurilor din memoria principal n memoria
cache (denumite asocieri sau mapri) :
- mapare direct
- mapare asociativ (fully associative)
- mapare asociativ pe seturi (set associative) .
Pentru simplificarea figurilor ce ilustreaz organizarea memoriei cache (n aceste patru
cazuri) se consider dimensiunea memoriei cache de 2k cuvinte i dimensiunea blocului de
16
cuvinte.
Memoria principal se alege de 256k cuvinte.

Memoria cache poate fi organizata in mai multe zone de memorie, cu dimensiuni si


functionalitati diferite. Aceste zone ( de date, de instructiuni, TLB) se regasesc la nivelul
microprocesorului,in exteriorul UCP-ului. La un nivel superior, zonele sunt unificate si
rezultata cache-ul unificat, care este cel ce interactioneaza cu memoria principala.
]Cache de instructiuni

32

Cache-ul de instructiuni este folosit pentru memorarea instructiunilor care sunt folosite
frecvent, ceea ce duce la marirea vitezei de functionare a sistemului. Aceasta zona poate
chiar sa faca operatii limitate, sau sa "prezica" datele ce vor fi folosite ulterior, prin
memorarea instructiunilor accesate cu frecventa.
]Cache-ul de Date
Cache-ul de date este un buffer foarte rapid, care poate prelua datele necesare unor
instructiuni din memoria principala si sa le transmita registrilor. Odata ajunse datele in
registrii, acestea pot fi folosite de catre procesor in intructiuni. Dupa terminarea executiei
instructiunii, rezultatul retinut in registrii este returnat pentru memorarare in cache-ul de
date si apoi transmis memoriei principale.
]Cache-ul TLB
Cache-ul TLB (din engleza, Translation Look-aside Buffer)acceseaza memoria fizica. Fiecare
task care ruleaza are alocat un spatiu din memoria virtuala, care acceseaza spatii din adresa
fizica. Procesorul lucreaza cu memoria virtuala, iar memoria cache si memoria de operare
lucreaza cu memoria fizica. Fiecare spatiu din memoria virtuala sau fizica foloseste pagini
pentru accesare. TLB-ul retine aceste pagini, si datorita vitezei caracteristice memoriei
cache, accesarea spatiilor memoriei fizice este rapida, ceea ce duce la o viteza buna a
procesorului pentru lucrul cu adresele virtuale si rularea taskurilor.

21. Memoria cache: Elemente de proiectare i analiza succint.

33

Considerm parametrii principali ai memoriei cache. Costul mediu pe bit CS al


sistemului de memorie format din memoria principal i memoria cache este dat de:

unde:
CC = costul mediu pe bit al memoriei cache;
CM = costul mediu pe bit al memoriei principale;
DC = dimensiunea memoriei cache;
DM = dimensiunea memoriei principale.

34

Timpul de acces al sistemului de memorie nu depinde numai de viteza memoriei


cache i a memoriei principale, ci i de probabilitatea ca un anumit cuvnt adresat de
UCP s fie gsit n memoria cache. Aceast probabilitate este numit rat de succes.

Avem:

unde:

22. Tehnici de mapare n sisteme cu memorie cache: Mapare


direct. Avantaje i dezavantaje.
Maparea direct
Maparea direct a memoriei cache este ilustrat n figura 2.
Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag, bloc i
cuvnt. n acest caz blocul i din memoria principal este asociat cu blocul (i mod
nr_blocuri_n _cache) = (i mod 128) din memoria cache. Fiecare bloc din cache are asociat
un cmp "tag" (primii 7 bii mai semnificativi ai adresei fizice n memoria principal ).
Cmpul tag din adresa memoriei principale se compar cu fiecare cmp "tag" al memriei
cach. Dup gsirea corespondenei dintre cmpurile tag se alege cmpul "bloc" din adresa

35

memoriei principale i cmpul "cuvnt" din aceeai adres pentru selectarea octetului ce va fi
transferat din blocul memoriei cache (dat de tag) n blocul memoriei principale (dat de
cmpul bloc i cmpul cuvnt al adresei n memoria principal).
Avantajul acestei mapri directe este accesul simultan la datele dorite i la cmpul tag (nu
se face o cutare asupra cmpului tag). Dac cmpul tag nu exist n memoria cache , datele
vor fi suprimate.Un dezavantaj al maprii directe apare atunci cnd dou sau mai multe
blocuri din memoria principal, utilizate alternativ, snt asociate aceluiai bloc din cache.
Aceast situaie are probabilitate mic n sistemele uniprocesor, dar probabilitatea crete
pentru sistemele multiprocesor cu memorie cache comun.

36

23. Tehnici de mapare n sisteme cu memorie cache: Mapare


asociativ. Avantaje i dezavantaje.
Maparea asociativ (fully associative)
Maparea asociativ a memoriei cache este ilustrat n figura 3.
Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag i cuvnt.

n acest caz orice bloc


din memoria principal poate fi asociat cu orice bloc din memoria
cache. Metoda este cea mai bun, dar i cea mai scump.
Maparea asociativ elimin conflictele de acces ntre blocuri, dar timpul de acces crete
datorit faptului c este necesar o cutare asociativ pe seturi.
Maparea asociativ pe seturi a memoriei cache este ilustrat n figura 4.
Adresa din memoria principal (adresa fizic) se compune din cmpurile : tag, set i

37

cuvnt. Aceast mapare reprezint un compromis ntre maparea direct i maparea


asociativ. Memoria cache este mprit n S seturi . Blocul i , din memoria principal,
poate corespunde cu orice bloc din memoria cache aparinnd setului (i mod S).
Numrul de seturi , S, determin costul cutrii (specifice maprii asociative). Setul se
determin direct din adres, apoi se caut cmpul tag corespunztor adresei n set.

Observaii
- dimensiunea blocului n memoria cache este aleas n raport cu proprietatea de
localizare a programelor .
- memoria cache este adresat cu adrese fizice i nu cu adrese virtuale (se elimin etapa
de translatare a adresei virtuale n adres fizic)
- algoritmii de reamplasare a blocurilor din memoria cache determin performana
memoriei cache, exprimat ca rat de pierderi (numr de ncercri euate de a gsi
informaia dorit n cache).
Exist urmtoarele politici de reamplasare a blocurilor din memoria cache:
1. Least recently used (LRU) Least recently used (LRU) - se nlocuiete blocul din cache cel
mai puin recent utilizat , relativ la momentul de timp curent (se face o analiza a utilizarii
blocurilor existente n memoria cache cu un anumit numr de momente de timp n urm n
raport cu momentul de timp curent, la care trebuie s se produc o reamplasare).

38

2. First In First Out (FIFO) First In First Out (FIFO) - se nlocuiete blocul din cache care a
stat n memoria cache cel mai mare interval de timp.
3. Last In First Out (LIFO) Last In First Out (LIFO) - se nlocuiete blocul din cache care a
stat n memoriacache cel mai mic interval de timp.
4. Random (RAND) Random (RAND) - se alege, n mod aleator ,un bloc din memoria cache
ce va fi
nlocuit.

24. Tehnici de mapare n sisteme cu memorie cache: Mapare


set-asociativ. Avantaje i dezavantaje.
Putem sa ne imaginam un cache set-associative(in romana-> partial-asociativ) ca o colectie
de mai multe cache-uri directe care lucreaza in paralel. Fie K numarul de astfel de cache-uri
directe. Cache-ul se mai numeste si associative on K ways adica: asociativ pe K directii.
Ideea este simpla: atunci cand caut o adresa folosesc adresare directa in toate cele K
cache-uri directe simultan. Daca blocul se gaseste intr-unul am rezolvat problema. Daca nu,
aleg unul dintre ele pentru inlocuire. Numele este de partial asociativ, pentru ca
plasamentul in cele K blocuri posibile este oricare, ca la un cache asociativ.
Inainte de toate sa vedem din ce este alcatuit un slot. Acesta contine:
-> V bitul de validitate. Acesta indic validitatea datei pstrat in slot. Daca V=1
atunci data este valid, iar daca V=0 atunci data este invalid. Iniial aceasta este invalid.
n momentul n care a fost plasata o dat n slot, aceasta devine valid.
-> D dirty bit. Importanta acestui bit releva abia cnd bitul de validitate este 1
(V=1). Acesta indic faptul ca data din slot a fost modificat sau nu. Atunci cand D=1
inseamna ca data este modificat din momentul in care a fost introdusa n cache. Daca
D=0, data este la fel cum a fost scris prima dat n cache.
-> Tag-ul sau eticheta - reprezint biii cei mai semnificativi ai adresei. Lungimea
Tag-ului este 32 lgN, iar N este numrul biilor din partea de date a slot-ului.
-> Cache Line Linia de date respectiva. Are N bytes, unde N este o putere a lui 2.
Acesta se mai numete i bloc de date.

39

Asadar vom avea:

O schema set-associative reprezinta un hibrid intre o memorie cache adresata


in mod direct si una adresata full-associative. Este considerata drept un compromis
rezonabil intre hardware-ul complex necesar cache-urilor full-associative (necesitand
cautari paralele de slot-uri) si hardware-ul simplistic al schemei cache-ului adresat direct
ceea ce ar putea sa produca coliziuni intre adrese catre acelasi slot(similar coliziunilor de pe
o tabla de sah). Sa presupunem ca avem 128 de slot-uri a cate 32 de octeti. Mai mult,
putem sa grupam aceste slot-uri in seturi. In particular, com presupune de asemenea si ca
intr-un set incap exact 8 slot-uri. Vom trata aceste slot-uri ca pe un vector, numarandu-le de
la 0000000 la 1111111(adica 128 de slot-uri). Totusi, grupam slot-urile in seturi iar ideea
principala este de a tine evidenta seturilor si nu a slot-urilor. Vom avea prin urmare 16 seturi
(128/8). Este necesar sa specificam numarul de seturi in locul numarului de slot-uri si asta
ne ocupa (lg 16) adica 4 biti.
Iata cum vom imparti pe biti adresele. Vom utiliza cei 4 biti pentru set si nu
pentru slot.
A4-0 -> Offset.
A8-5 -> Numarul de seturi.
A31-9 -> Tag.

25. Performana memoriei cache: Hit ratio/Miss rate versus


Block&Cache size. Alte dependene.
Cache-ul reprezinta locatia in care procesorul poate gasi date cautate mai aproape de el
decat in memoria principala a sistemului
Un cache hit este momentul in care datele au fost gasite intr-un nivel de Cache
Un cache miss este momentul in care datele nu au fost gasite
Un exemplu de functionare:
L1 cache miss, L2 cache miss, L3 cache hit
Cand se inregistreaza un miss, un bloc este adus in Cache
Un bloc este un set de date de dimensiune fixa
Blocul contine celulele cerute, si aditional alte celule ce speram ca vor fi folosite de alte
instructiuni (localitate spatiala)
Un cache miss determina un overhead seminificativ:
Definim
40

lat = latenta memoriei (in secunde)


bw = latimea de banda (in bytes/sec)
S = dimensiunea blocului in bytes
Un cache miss duce la un overhead de lat + S/bw secunde
Cache-ul este compus din seturi de blocuri (block frames)
Fiecare set poate contine unul sau mai multe blocuri (depinde de implementare)
Hit time este timpul de accesare al Cache-ului
Miss penalty este timpul necesar mutarii datelor pe diferite
nivele de Cache catre procesor
Hit Ratio este procentul din timp in care datele sunt gasite
in Cache
Miss Ratio este 1 Hit Ratio
Instruction Cache este Cache-ul ce contine instructiuni
(cod)
Data Cache este Cache-ul ce contine date
Unified Cache este Cache-ul ce contine atat date cat si
instructiuni
Exista mai multe moduri de a imbunatatii performanta cache-urilor si anume :
Reducerea penalitatilor unui Cache Miss
Reducerea ratei de Cache Miss-uri
Reducerea timpului de rezolvare a unui Hit
Imbunatatirea memoriei
Performanta crescuta
Cost redus
Performanta cache-ului este data de accesul mediu la memorie
Programatorii sunt interesati in general doar de timpul de excutie insa timpul de acces la
memorie este o componenta extrem de importanta
Formula e simpla:
timpul de acces la memorie = hit time + miss rate * miss penalty
Miss-rate este procentul de miss-uri pe acces la date si NU la instructiuni!
MIPS, POWER-PC, SUN-SPARC, DEC ALPHA dein doar o instruciune de tip MOVE
condiionat, n timp ce alte microarhitecturi precum HEWLET PACKARD PA, HARP, HSA, etc.,
permit execuia condiionat a majoritii instruciunilor main. La ora actual exist nc
puine evaluri cantitative care s stabileasc avantajele/dezavantajele acestei idei ntr-un
mod clar.

26. Exemplu de organizare a memoriei cache: Procesorul Alpha


21264.
-Set relativ redus de instruciuni simple, majoritatea fr referire la memorie i cu puine
moduri de adresare. n general, doar instruciunile LOAD / STORE sunt cu referire la
41

memorie (arhitectur tip LOAD / STORE). La implementrile recente caracteristica de "set


redus de instruciuni" nu trebuie neleas add literam ci mai corect n sensul de set
optimizat de instruciuni n vederea implementrii aplicaiilor propuse (n special
implementrii limbajelor de nivel nalt - C, Visual C++, Pascal, etc.).
-Datorit unor particulariti ale procesrii pipeline (n special hazardurile pe care aceasta le
implic), apare necesitatea unor compilatoare optimizate (schedulere), cu rolul de a
reorganiza programul surs pentru a putea fi procesat optimal din punct de vedere al
timpului de execuie.
-Format fix al instruciunilor, codificate n general pe un singur cuvnt de 32 bii, mai recent
pe 64 bii (Alpha 21164, Power PC-620, etc.).
n literatur se citeaz un model de procesor numit superpipeline.Acesta este caracterizat
printr-un numr relativ mare al nivelelor de procesare. Desigur c n acest caz detecia i
corecia hazardurilor este mai dificil, dup cum se va arta n continuare. Arhitecturile
superpipeline se preteaz la tehnologiile cu grade de mpachetare reduse unde nu este
posibil multiplicarea resurselor hardware, n schimb caracterizate prin viteze de comutaie
ridicate (ECL, GaAs). O asemenea arhitectur caracterizeaz de ex. procesoarele din familia
DEC (Digital Equipment Corporation, actualmente nglobat n concernul HP) Alpha.
Avantajul principal al arhitecturilor superpipeline este c permit frecvene de tact deosebit
de ridicate (800 - 3000 MHz la nivelul tehnologiilor actuale, 2002), aspect normal avnd n
vedere super - divizarea stagiilor de procesare.
Microarhitectura organizarea detaliat a unei implementri de ISA.
IA-32 a fost implementat de-a lungul anilor de cteva microprocesoare diferite, fiecare
avnd o microarhitectur unic: de la Intel 8086 n 1979 pn la Pentium III n 1999.
Alpha ISA este implementat n 4 microprocesoare diferite fiecare cu microarhitectura
proprie 21064, 21164, 21264 i 21364.

27. Organizarea i caracteristica memoriei cache: Procesorul


Intel i7.
n sistemele de calcul moderne se ntlnesc n mod uzual mai multe procesoare, fiecare cu
mai multe nuclee. Figura 12 prezint un exemplu de schem bloc a unui procesor multicore
(arhitectura Intel i7 sau AMD Phenom - difer dimensiunile cache-urilor).

42

Figura 12. Ierarhia de memorii cache ntr-un procesor cu 4 nuclee


n imagine sunt prezentate cele patru nuclee ale procesorului. Nucleele au un cache L1
pentru
date, unul pentru instruciuni i un cache L2 unificat. Chiar dac nucleele au propriul set de
regitrii, cache L1 i L2, ele partajeaz memoria cache L3 i memoria principal.
Aceast structur aduce pe lng beneficii i noi probleme. Astfel, n sistemele multiprocesor
simetrice, memoriile cache ale diferitelor procesoare nu pot lucra independent. Toate
procesoarele
trebuie s vad, la un anumit moment de timp, exact aceleai date n memorie. Meninerea
acestei
uniformiti a vederii memoriei poart numele de asigurarea coerenei memoriei cache.
Pentru cazul cel mai ntlnit, al memoriilor cache de tip write-back, dac un procesor ar
analiza
doar coninutul propriului cache nu ar vedea liniile murdare din cache-urile celorlalte
procesoare.
O soluie deloc eficient ar fi furnizarea accesului la cache-ul unui procesor ctre celelalte
procesoare. O alt soluie, mai eficient, are la baz detectarea de ctre celelalte
procesoare/
nuclee a inteniei unui procesor/nucleu de a scrie n propriul cache. Dac s-a detectat o
operaiune
de scriere n cache-ul altui procesor, celelalte procesoare i vor marca linia respectiv ca
invalid.
Cnd vor dori s acceseze acea linie, va avea loc o operaie de fetch din memoria
principal.
Memoriile cache avansate ofer suport pentru tehnici de snooping. Cnd un procesor cere o
linie
murdrit de alt procesor, procesorul care a murdrit acea linie detecteaz (snoops in on
the
other processors) cererea i transmite linia direct n cache-ul primului procesor, eventual
scriind-o

43

i n memoria principal n proces.


Pentru meninerea coerenei memoriei cache s-au dezvoltat numeroi algoritmi, cel mai
important
fiind MESI (Modified, Exclusive, Shared, Invalid). Numele acestuia provine de la cele patru
stri
n care se poate afla o linie din cache, cele mai importante tranziiile dintre acestea fiind
date de
urmtoarele condiii: o linie murdar este prezent n cache-ul unui singur procesor cel
care a murdrit-o
copii curate ale aceleiai linii se pot regsi n orict de multe cache-ur

44

1.

Etapele de dezvoltare a calculatoarelor. P1

2.

Evoluia arhitecturilor de calcul. P4

3.

Taxonomia (clasificarea) Flynn. P5!

4.

Legea Amdahl. Analiza asimptotic a performanei calculatoarelor. P7

5.

Legea Amdahl. Analiza asimptotic a performanei calculatoarelor. P9

6.

Conveierul de adunare n virgul fix. P10

7.

Conveierul de nmulire n virgul fix. Cile de cretere a frecvenei de lucru. P12!

8.

Conveierul de instruciuni. Modelul de execuie a instruciunilor n regim band de asamblare.


P13

9.

Caracteristica general a arhitecturii de tip CISC. P15

10.

Caracteristica general a arhitecturii de tip RISC. P16

11.

Analiza comparat a arhitecturilor CISC-RISC. P18

12.

Execuia instruciunilor n regim band de asamblare pe procesoare cu arhitectur RISC. P19

13.

Procesoare cu arhitectur SuperScalar: Noiuni generale. P20

14.

Memoria ierarhic: Organizare general, caracteristici principale P23

15.

Proprietile memoriei ierarhice: incluziunea i consistena (coerena) datelor. P25

16.

Memoria ierarhic pe patru nivele. Transferul de date ntre nivele. P25!

17.

Nivelele memoriei ierarhice moderne n servere i PMD (nuiiiiii)

18.

Principiul localizrii referinelor: Localizare spaial. P26

19.

Principiul localizrii referinelor: Localizare temporal. P27

20.

Memoria cache: Noiuni generale de organizare i funcionare. P27

21.

Memoria cache: Elemente de proiectare i analiza succint. P30!

22.

Tehnici de mapare n sisteme cu memorie cache: Mapare direct. Avantaje i dezavantaje. P31

23.

Tehnici de mapare n sisteme cu memorie cache: Mapare asociativ. Avantaje i dezavantaje.


P33

24.

Tehnici de mapare n sisteme cu memorie cache: Mapare set-asociativ. Avantaje i


dezavantaje. P35

25.

Performana memoriei cache: Hit ratio/Miss rate versus Block&Cache size. Alte dependene.
P36
45

26.

Exemplu de organizare a memoriei cache: Procesorul Alpha 21264. P37

27.

Organizarea i caracteristica memoriei cache: Procesorul Intel i7. P38

46

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