asc 2 tipuri de arhitecturi subliniat

47
2. TIPURI DE ARHITECTURI 2.1. Clasificarea arhitecturii sistemelor de calcul 2.1.1. Clasificarea Flynn Clasificarea Flynn se face după gradul de multiplicitate al úirurilor formate din secvenĠ e de instrucĠiuni úi secvenĠ e de date care pot fi tratate simultan din punct de vedere hardware. Prin secvenĠă de date se înĠ elege un úir de date de intrare, rezultate parĠiale sau rezultate temporare care sunt apelate de către o secvenĠă de instrucĠiuni. Conform acestei clasificări există patru tipuri de arhitecturi: SISD (Single Instruction Stream – Single Data Stream); SIMD (Single Instruction Stream – Multiple Data Stream); MISD (Multiple Instruction Stream – Single Data Stream); MIMD (Multiple Instruction Stream – Multiple Data Stream). Pentru aceste arhitecturi există trei tipuri de componente de sistem: UC (unitatea centrală), UP (unitatea de prelucrare) úi MM (modulul de memorie). Deúi sunt diferite între ele, toate schemele următoare respectă succesiunea evenimentelor din arhitectura Von Neumann: instrucĠiunile úi datele sunt extrase din memorie, instrucĠiunile sunt decodate de UC care trimite secvenĠa de instrucĠiuni către UP pentru execuĠie, datele circulă între memorie úi procesor pe o cale bidirecĠ ională. În continuare se va nota úirul de date cu SD úi cel de instrucĠiuni cu SI. 2.1.1.1. Arhitectura SISD Fig. 2.1. Structura arhitecturii SISD. Caracteristici: instrucĠiunile sunt executate serial, însă pot exista suprapuneri în execuĠie (pipeline). Majoritatea structurilor SISD rămase astăzi în uz folosesc structuri pipeline.

Upload: mops-light

Post on 05-Dec-2014

72 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ASC 2 Tipuri de Arhitecturi SUBLINIAT

2. TIPURI DE ARHITECTURI

2.1. Clasificarea arhitecturii sistemelor de calcul

2.1.1. Clasificarea Flynn

Clasificarea Flynn se face dup gradul de multiplicitate al irurilor formatedin secven e de instruc iuni i secven e de date care pot fi tratate simultan din punctde vedere hardware. Prin secven de date se în elege un ir de date de intrare,rezultate par iale sau rezultate temporare care sunt apelate de c tre o secven deinstruc iuni. Conform acestei clasific ri exist patru tipuri de arhitecturi:

• SISD (Single Instruction Stream – Single Data Stream);• SIMD (Single Instruction Stream – Multiple Data Stream);• MISD (Multiple Instruction Stream – Single Data Stream);• MIMD (Multiple Instruction Stream – Multiple Data Stream).Pentru aceste arhitecturi exist trei tipuri de componente de sistem: UC

(unitatea central ), UP (unitatea de prelucrare) i MM (modulul de memorie).De i sunt diferite între ele, toate schemele urm toare respect succesiunea

evenimentelor din arhitectura Von Neumann: instruc iunile i datele sunt extrasedin memorie, instruc iunile sunt decodate de UC care trimite secven a deinstruc iuni c tre UP pentru execu ie, datele circul între memorie i procesor pe ocale bidirec ional .

În continuare se va nota irul de date cu SD i cel de instruc iuni cu SI.

2.1.1.1. Arhitectura SISD

Fig. 2.1. Structura arhitecturii SISD.

Caracteristici:• instruc iunile sunt executate serial, îns pot exista suprapuneri în

execu ie (pipeline). Majoritatea structurilor SISD r mase ast zi în uzfolosesc structuri pipeline.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Sticky Note
Accepted set by Alya
Alya
Sticky Note
None set by Alya
Page 2: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL20

• un calculator cu structur SISD poate avea mai multe elemente deprelucrare (func ii definite), toate g sindu-se sub supervizarea aceleia iunice UC.

Exemple: IBM 7090, VAX 11/780, CDC 6600, IBM 360/91, CRAY.Limit rile arhitecturii SISDLa acest tip de arhitecturi, viteza calculatorului este determinat de perioada

ceasului. Dac perioada ceasului scade, calculatorul devine în consecin mai rapid.Pentru a ob ine un ceas mai rapid exist dou posibilit i:• calea de semnal s fie mai scurt ;• tranzistorii folosi i s fie mai rapizi.Din nefericire, se pare c ambele au atins o anumit limitare din punct de

vedere tehnologic.Scurtarea c ii de semnal ar costa foarte mult. Cre terea num rului de

tranzistori pe unitatea de arie ar duce la cre terea dramatic a c ldurii disipate înexterior. Sistemele suplimentare de r cire ar costa i ele foarte mult.

Se lucreaz în prezent la fabricarea unor cipuri de joas putere (Low PowerChips) care ar duce la sc derea c ldurii generate. Aceasta se poate realiza prinmen inerea constant a densit ii de energie în timp ce num rul de tranzistori peunitatea de arie a cipurilor ar cre te.

Realizarea de tranzistori mai rapizi este, de asemenea, foarte costisitoare. Înacest scop se lucreaz la sc derea rezisten ei firelor prin care trece curentul.Aluminiul este elementul folosit în 1998, dar recent s-a reu it construc ia unui cipcu fire din cupru. Concomitent cu sc derea rezisten ei firelor se lucreaz i laîmbun irea izola iei dintre fire.

Este evident c perioada ceasului nu poate fi f cut egal cu 0. În consecin ,modul secven ial de tratare a opera iilor impus de arhitectura von Neumanndistruge orice speran într-o viitoare cre tere a vitezei calculatoarelor. Aceastsitua ie este cunoscut sub denumirea de gâtul sticlei lui Neumann (NeumannBottleneck). Pentru a sparge aceast limitare, trebuie introdus o arhitectur de tipneserial. Alternativa este reprezentat de arhitecturile de calcul paralele.

2.1.1.2. Arhitectura SIMDCaracteristici:• exist mai multe UP datorit irului de date multiplu, preluat din memoria

partajat (memoria împ it în mai multe memorii);• corespunde matricelor de microprocesoare: UP identice i supervizate de

o singur UC;• toate UP primesc instruc iunile (setul unic de instruc iuni) care ac ioneaz

asupra unor seturi de date diferite, provenite din iruri diferite de dateSD1, ..., SDn;

• ma inile SIMD pot efectua dou tipuri de prelucr ri: pe cuvânt (word-slice) i pe bit (bit-slice).

Alya
Highlight
Alya
Highlight
Page 3: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 21

Fig. 2.2. Structura arhitecturii SIMD.

Aceste tipuri de ma ini lucreaz foarte bine pe seturi de date formate dematrice de dimensiuni foarte mari atunci când este necesar s se execute asupra loraceea i opera ie. Ma inile SIMD sunt eficiente i în cazul proces rii re elelor neurale.

Exemplu: CM (Connection Machine) fabricat de Thinking MachinesCompany din Cambridge (Massachusetts).

Limit rile arhitecturii SIMDAceste tipuri de ma ini sunt destul de scumpe în ceea ce prive te costurile de

produc ie, deoarece bancurile de procesoare nu sunt componente standard. Chiardac num rul celor care au nevoie de astfel de ma ini este în continu cre tere,ace tia nu sunt destul de numero i pentru a justifica existen a unor fabrici dedicateexclusiv produc iei de SIMD-uri. În consecin , aceste ma ini sunt în general

cute la comand i cost foarte mult.

1.4.1.3. Arhitectura MISDDe i aceast ma in este posibil de realizat din punct de vedere teoretic, nu a

fost niciodat fabricat în scop comercial. A fost construit în laboratoare decercetare, dar nu au existat clien i dornici s investeasc într-o astfel de arhitectur ,deoarece nu se adreseaz nici uneia dintre aplica iile de baz .

Fig. 2.3. Structura arhitecturii MISD.

Caracteristici:• fiecare UC lucreaz cu irul de instruc iuni propriu SI1, ..., SIn;• fiecare UP lucreaz cu acela i ir de date, care suport mai multe prelucr ri;• partajare pe orizontal (un singur ir de date, mai multe iruri de instruc iuni);

Alya
Highlight
Alya
Highlight
Page 4: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL22

• ie irea de la UP1 devine intrare pentru UP2 .a.m.d.Structura se nume te macro-pipeline (are doar o valoare teoretic ).

2.1.1.3. Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de

multiprocesoare, chiar dac i ma inile SIMD sunt tot multiprocesor. Încalculatoarele MIMD paralelismul este realizat prin lansarea în execu ie a maimultor instruc iuni în acela i timp pe diferite seturi de date. Este evident c suntnecesare elemente adi ionale de control pentru a trimite instruc iunea corect idata care trebuie la procesorul ales, toate în acela i timp. Cele mai multe sistememultiprocesor intr în aceast clas .

Fig. 2.4. Structura arhitecturii MIMD.

Avantajele arhitecturii MIMD sunt:• vitez mare de prelucrare, dac prelucrarea poate fi descompus în fire

paralele, toate procesoarele prelucrând simultan;• întrucât procesoarele i blocurile de memorie sunt resurse de tip general,

defectarea unei unit i se poate compensa prin alocarea sarcinii deprelucrare altei unit i (grad ridicat de toleran la defect ri);

• se poate utiliza reconfigurarea dinamic pentru a face fa gradelorvariabile de înc rcare a procesoarelor.

Exemple de sisteme MIMD: C.mmp, Cm* (Carnegie Mellon University),Ultracomputer (New York University), Cedar (University of Illinois), BBNButterfly, Alliant FX, CM-5 (Thinking Machine Corporation), seria Intel iPSc etc.

Sistemele MIMD se mai numesc intrinseci (propriu-zise) dac au UPinteractive: toate irurile de date provin din acela i spa iu de memorie adresat decele n procesoare (dac nu se întâmpl acest lucru – spa ii disjuncte ale memoriei –se spune c exist un set de n sisteme SISD independente).

Cele dou tipuri de sisteme prezentate mai sus se mai numesc sharedmemory (memoria este accesat de toate procesoarele) i shared nothing (fiecareprocesor are propria memorie, propriul disc i propriul sistem de comunica ii).

Dac la un sistem MIMD intrinsec interac iunea între microprocesoare esteputernic , sistemul se nume te cu cuplaj strâns. Leg tura procesor – memorie seface prin intermediul unor magistrale de interconectare. Comunica ia i sincronizareaîntre procesoare se realizeaz prin zone comune de memorie. Avantaj: comoditatede programare oferit de spa iul comun de adrese (shared address space).

Alya
Highlight
Alya
Highlight
Page 5: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 23

În caz contrar, sistemul se nume te cu cuplaj slab. Leg tura procesor –memorie se face prin conexiuni seriale punct-la-punct (de tip re ea). Comunica iaîntre procesoare se face prin mesaje (message passing). Fiecare procesor dispunede memorie proprie (private memory). Avantaj: scalabilitate (posibilitate comodde expandare). Cele mai multe sisteme comerciale sunt cu cuplaj slab.

Exemple: IBM 370/168 – cuplaj slab, CRAY 2 – cuplaj strâns.

2.1.1.4. Sisteme cu memorie partajat (shared memory)În cazul ma inilor cu memorie partajat , ma ina original von Neumann a

fost extins prin includerea a ceea ce se nume te memorie cache. Aceasta este omemorie local ata at fiec rui procesor în parte, care îi permite procesorului saib acces rapid la propriile seturi de instruc iuni i date, dar s poat accesa încontinuare memoria principal prin magistrala de memorie. Acest tip de ma in semai nume te arhitectur cu multiprocesare simetric i este prezentat în figura 2.5.

Fig. 2.5. Arhitectura sistemelor shared memory.

Dintre sistemele mai vechi, în aceast categorie se înscrie seria IBMRS/6000: J40, J50, R40 i R50. Modelul J40 are dou nivele de cache în loc deunul singur. În loc s foloseasc o magistral pentru a lega diferitele procesoare cumemoria principal , IBM a dezvoltat un a a-numit crossbar care, spre deosebire demagistrala conven ional , permite pân la patru transferuri simultane cu memoria.

Limit rile arhitecturilor MIMD cu memorie partajat

Fig. 2.6. Limit rile calculatoarelor cu memorie partajat .

Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 6: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL24

La aceste arhitecturi, „gâtul sticlei” (bottleneck) îl reprezint magistrala dememorie. Toate instruc iunile i datele fiec rui procesor trebuie s treac prinaceast magistral . Când procesoarele care folosesc aceea i memorie sunt pu ine,performan ele depind liniar de num rul procesoarelor. Pe m sur ce acesta cre te,

rirea performan elor este din ce în ce mai slab , a a cum rezult din figura 2.6.Exist dou tipuri de sisteme MIMD cu memorie partajat :• cu resurse globale (Global Shared Memory):

o arhitectura UMA (Uniform Memory Access);o arhitectura UMA cu memorii cache locale;

• cu resurse distribuite (Distributed Shared Memory):o arhitectura NUMA (Non-Uniform Memory Access);o arhitectura COMA (Cache-Only Memory Access);o arhitectura CC-NUMA (Cache Coherent Non-Uniform Memory Access).

A. Arhitecturile GSM (Global Shared Memory)Calculatoarele MIMD cu spa iu unic de memorie au un cost relativ sc zut i din

acest motiv se bucur de o popularitate ridicat . Acestea sunt considerate a fi sistemecu cuplaj strâns, datorit gradului ridicat de partajare a resurselor. Func ionareaîntregului sistem paralel este coordonat de c tre un singur sistem de operare, carese ocup de planificarea în execu ie a proceselor pe procesoarele disponibile însistem, în condi iile în care se dore te o înc rcare cât mai echilibrat a acestora.

Arhitectura UMA (Uniform Memory Access)Memoria fizic a calculatoarelor de tip UMA este compus din mai multe

blocuri care formeaz un spa iu unic de adresare. Procesoarele acceseaz blocurilede memorie prin intermediul re elei de interconectare (vezi figura 2.7), care poate fistatic (format din conexiuni fixe, punct-la-punct, între nodurile re elei) saudinamic (format din conexiuni variabile în timp, de tip crossbar).

Fig. 2.7. Arhitectura UMA.

Principala caracteristic a calculatoarelor UMA este c toate procesoarele autimp de acces egal la memoria partajat . Îns , tocmai de aceea, num rulprocesoarelor utilizate în cadrul sistemului paralel nu poate fi foarte mare, deoarececre terea num rului de procesoare din sistem atrage dup sine o probabilitate maimare de conflict în ceea ce prive te accesarea concurent a aceleia i zone dememorie. Într-un astfel de caz, se vor înregistra timpi de a teptare care vor conducela o utilizare ineficient a procesoarelor i la o înc rcare neechilibrat a acestora.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 7: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 25

În plus, pentru ob inerea unor performan e deosebite, re eaua de comunica ieva trebui s ofere o l rgime de band suficient de mare, deoarece fiecare procesorpoate necesita accesul la memoria partajat , ceea ce presupune transportul datelorsolicitate din memoria comun c tre procesorul care a formulat cererea.

Arhitectura UMA cu memorii cache localeO îmbun ire adus modelului UMA o reprezint utilizarea memoriilor

cache la nivelul elementelor de procesare (vezi figura 2.8). Fiecare procesor vaavea asociat o astfel de memorie. Atunci când un procesor solicit date, mai întâise verific dac aceste date se g sesc deja în memoria cache local . În cazafirmativ, acestea se transfer foarte rapid procesorului, f a accesa memoriapartajat . Astfel, problema conflictelor de acces concurent la spa iul unic dememorie se rezolv , cel pu in, par ial. Mult mai pu ine cereri vor ajunge sacceseze memoria partajat i, din acest motiv, probabilitatea de apari ie aconflictelor devine mult mai mic .

Fig. 2.8. Arhitectura UMA cu memorii cache locale.

Utilizarea memoriilor cache presupune îns i asigurarea consisten eiacestora. În momentul în care anumite date stocate în memoria global se modific ,aceste modific ri trebuie s fie semnalate tuturor memoriilor cache care stocheazcópii ale datelor respective. Mai mult chiar, atunci când se schimb con inutuldatelor de la nivelul unei memorii cache este nevoie ca modific rile s fie efectuateîn toate memoriile cache care con in cópii ale datelor actualizate. Men inereacoeren ei memoriei cache se poate realiza atât prin mecanisme software, cât i prinmecanisme hardware. Modelele cu acces neuniform la memorie încearc s evitedezavantajele întâlnite la calculatoarele de tip UMA.

B. Arhitecturile DSM (Distributed Shared Memory)Reprezint sisteme cu memorie partajat , dar care este distribuit din punct

de vedere fizic. Astfel, procesoarele au asociate memorii locale care formeazîmpreun o memorie global care poate fi accesat direct de c tre toate elementelede procesare. Timpul de acces la loca iile de memorie nu mai este uniform, eldepinzând de localizarea fizic a datelor care se doresc a fi transferate.

Alya
Highlight
Alya
Highlight
Page 8: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL26

Arhitectura NUMA (Non-Uniform Memory Access)În cazul acestui model, memoria partajat este distribuit fizic procesoarelor

din sistem (vezi figura 2.9). Astfel, fiecare element de procesare are asociat omemorie local . Toate aceste memorii locale formeaz un spa iu unic de adres .Din acest motiv, timpul de acces la memorie este neuniform, deoarece accesul ladatele aflate în memoria local este foarte rapid în timp ce accesul la datele aflateîn memoria local a altor elemente de procesare va fi mult mai lent, datoritfaptului c datele respective vor fi transportate prin re eaua de comunica ie.

Fig. 2.9. Arhitectura NUMA.

Observa ie. Sistemele NUMA sunt foarte asem toare sistemelor distribuite,din moment ce fiecare procesor dispune de o memorie local , iar toate acestemodule locale formeaz un spa iu unic de adresare.

O caracteristic important pentru ma inile NUMA este factorul NUMA.Acest factor arat diferen ele de laten pentru accesarea datelor din memorialocal comparativ cu accesarea dintr-o zon care nu este local . În func ie deconexiunile sistemului, factorul NUMA poate diferi pentru diverse p i alema inii: accesarea datelor dintr-un nod vecin este mai rapid decât accesareadatelor dintr-un nod mai îndep rtat pentru care este necesar traversarea unuinum r mai mare de etaje crossbar. A adar, atunci când este men ionat, factorulNUMA se refer de obicei la cele mai îndep rtate dou procesoare ale unei re ele.

Arhitectura COMA (Cache-Only Memory Access)În cazul modelului COMA, spa iul global de adrese este format din memorii

cache locale fiec rui procesor. Atunci când un procesor are nevoie de anumite date,acestea sunt mai întâi aduse în memoria cache de c tre controlerul de memorie,dup care acestea vor fi accesate foarte rapid (vezi figura 2.10).

Fig. 2.10. Arhitectura COMA.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 9: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 27

Observa ie. Dispare conceptul de memorie global , controlerul de memorieavând responsabilitatea de a înc rca în memoriile cache locale datele ce urmeaz afi accesate de c tre procesoare. Înc rcarea datelor presupune localizarea itransportul acestora prin intermediul re elei de interconectare. Prin folosireamemoriilor cache locale, probabilitatea ca un procesor s acceseze majoritar datenumai din memoria local creste foarte mult.

Totu i, folosirea memoriilor cache pe post de memorii locale atrage dupsine i o serie de probleme. Atunci când se încearc aducerea unui bloc de dateîntr-o memorie cache integral ocupat , apare necesitatea mut rii unui alt bloc dedate pentru a se crea spa iul necesar memor rii noului bloc care va fi accesat de

tre procesor. Îns , datorit faptului c nu mai exist o memorie global în care sse scrie acest bloc, va fi nevoie ca datele con inute s fie mutate în memoria cachea unui alt procesor. Aceste date îns nu vor fi niciodat accesate de c tre procesorulcare folose te memoria respectiv , ceea ce conduce la o sc dere a eficien ei deutilizare a sistemului.

În plus, opera ia de transfer a blocului de date dintr-o memorie cache în altaeste i ea consumatoare de timpi de procesare, din moment ce datele trebuie scircule prin re eaua de interconectare. Ace ti timpi mor i atrag dup sine o utilizareineficient i o înc rcare neechilibrat a procesoarelor.

O alt problem o reprezint asigurarea coeren ei memoriilor cache, încontextul în care opera iile de mutare a blocurilor devin din ce în ce maicomplicate, atunci când num rul de procesoare din sistem este din ce în ce maimare. Controlerul de memorie trebuie s asigure gestiunea nu numai a datelor carevor fi aduse în memoriile cache, ci i a blocurilor care au fost mutate dintr-o memorielocal în alta. Din aceste motive, arhitectura COMA este tot mai rar folosit .

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combin modul în care este construit spa iul unic de

adres la calculatoarele de tip NUMA i la cele de tip COMA. Fiecare element deprocesare al unui calculator de tip CC-NUMA dispune atât de o memorie local .cât i de o memorie cache asociat (vezi figura 2.11).

Fig. 2.11. Arhitectura CC-NUMA.

Alya
Highlight
Page 10: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL28

Ca i în cazul modelului NUMA, accesul la datele stocate în memoria localproprie este foarte rapid. Accesarea unor date aflate în memoria local a unui altprocesor implic aducerea acestora în memoria local proprie. Transferul de datefolosind re eaua de comunica ie atrage dup sine întârzieri, deoarece nu este la felde rapid precum accesarea memoriilor locale.

Existen a memoriilor cache are ca efect reducerea traficului prin re eaua decomunica ie. Datele solicitate de c tre un procesor sunt mai întâi c utate înmemoriile locale, dup care sunt aduse în memoria cache, în cazul în care acestease g sesc în memoria local a unui alt procesor. La acces rile ulterioare, se vafolosi copia datelor respective stocat în memoria cache, deci nu va mai fi nevoieca datele s fie din nou transferate prin re eaua de interconectare.

Utilizarea memoriile cache implic necesitatea implement rii unormecanisme software sau hardware care s asigure consisten a memoriilor cache. Lamodificarea unor date aflate în memoria local a unui procesor, este nevoie s seactualizeze toate copiile acestor date aflate în memoriile cache. Aceste mecanismecare asigur coeren a memoriilor cache contribuie la cre terea traficului efectuat încadrul re elei de interconectare.

Arhitectura CC-NUMA este utilizat de o serie de supercalculatoare foartecunoscute: Bull NovaScale, HP Superdome i SGI Altix.

Dezavantajele arhitecturilor DSMPrincipalul dezavantaj al arhitecturilor MIMD cu memorie distribuit i cu

spa iu individual de adresare (NUMA, COMA, CC-NUMA) îl reprezintîntârzierile care pot s apar atunci când un procesor dore te s acceseze date aflateîn memoria local a unui alt element de procesare. Aceste întârzieri se datoreazfaptului c procesorul respectiv va a tepta ca datele solicitate s fie transportate înmemoria sa local . Pentru minimizarea timpilor de inactivitate, procesorul în cauzpoate efectua o comutare de procese, atunci când procesul activ este blocat în

teptarea datelor solicitate. În general comutarea proceselor este o opera iunecomplex , implicând costuri importante, ce pot influen a performan ele sistemului.

Eficien a opera iei de comutare poate fi substan ial îmbun it prinutilizarea firelor de execu ie (thread-uri). Un proces poate fi împ it în mai multefire de execu ie, care comunic între ele prin accesul la spa iul de adres alocatprocesului, pe care îl partajeaz . Din acest motiv, firele de execu ie reprezint unmecanism eficient de exploatare a concuren ei programelor.

Un fir de execu ie reprezint cea mai mic entitate de planificare în sistemelebazate pe thread-uri. Comutarea între dou fire de execu ie care apar in aceluia iproces este o opera ie foarte rapid , care nu atrage dup sine costuri suplimentaresemnificative. Astfel, procesul activ este suspendat pân în momentul în care datelesolicitate au fost aduse în memoria local . În acest timp, este executat un alt fir deexecu ie al aceluia i proces. Aceast comutare între fire de execu ie apar inândaceluia i proces conduce la sc derea timpilor de inactivitate i, implicit, la cre tereaeficien ei cu care este utilizat sistemul paralel.

Calculatoarele MIMD cu memorie distribuit se numesc multicalculatoare ireprezint sisteme cu cuplaj slab, datorit gradului redus de partajare a resurselor.

Alya
Highlight
Page 11: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 29

Principalul avantaj al acestor sisteme îl reprezint scalabilitatea, adic ,posibilitatea extinderii prin conectarea unor noi procesoare. Cre terea num rului deprocesoare nu atrage dup sine probleme legate de accesul concurent la memorie,deoarece majoritatea apelurilor sunt c tre memoria local . Îns transferul de mesajepresupune schimburi de date care pot aglomera re eaua. Transferul de date întredou procesoare este o opera ie mare consumatoare de timp. Din acest motiv,performan ele re elei de interconectare pot influen a în mod hot râtor eficien a cucare este utilizat sistemul paralel. În plus, este foarte greu ca sarcina de calculdistribuit procesoarelor s fie echilibrat . Sistemul de operare ruleaz în fiecarenod i, din acest motiv, întregul sistem poate fi v zut ca fiind format din sta ii delucru care comunic prin transfer de mesaje. Complexitatea acestor sisteme estefoarte mare, datorit faptului c într-un nod de procesare individual se poate g siun simplu procesor sau un întreg sistem de tip UMA.

Exemple de arhitecturi MIMD cu memorie partajatDin perspectiv istoric , ma inile paralele cu memorie partajat sunt de trei

categorii: bazate pe magistral (Pentium SMP, nodul IBM SP), bazate pe directoarede tip CC-NUMA (Origin 2000) i cu spa iu de adresare global (Cray T3D, T3E).

Ma inile multiprocesor din anii '60 ai secolului trecut aveau structura dinfigura 2.12.a. Capacitatea de memorare sau posibilitatea de comunicare I/O seputeau ameliora prin ad ugarea de module de memorie i de dispozitive I/O.

Fig. 2.12. a. Arhitectura sistemelor multiprocesor. b. Arhitectura re elei crossbar (multistage).

Cre terea capacit ii de procesare se putea realiza prin ad ugarea deprocesoare. Ap rea deja necesitatea unei interconect ri a modulelor de memorie, aprocesoarelor i a leg turilor cu canalele I/O. Se foloseau re ele multietajate de tipcrossbar sau multistage (vezi figura 2.12.b). Memoriile cache, marea lovitur aanilor '70, au fost de natur a influen a puternic structurile de memorare. Sistemelede memorie scalate prin ad ugarea de module suplimentare aveau nevoie decapacitate, dar i de vitez ridicat . Memoria era o surs de strangul ri (bottleneck).Introducerea memoriilor cache a schimbat aproape radical datele problemei.

2.1.1.5. Sisteme f memorie partajat (shared nothing)În acest caz, fiecare procesor are propria lui memorie. Aceste ma ini sunt

practic calculatoare independente legate într-o re ea. Fiecare calculator se mainume te i nod (al re elei). Arhitectura shared nothing se mai nume te cumultiprocesare asimetric i este prezentat în figura 2.13.

Alya
Highlight
Alya
Highlight
Page 12: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL30

Fig. 2.13. Arhitectura sistemelor shared nothing.

Pentru ca aceste calculatoare s lucreze bine trebuie s existe un protocolbun de transmitere a mesajelor între ele. Acest protocol trebuie s fie foarte rapid i

erori. IBM folose te în acest scop protocolul Message Passing Interface (MPI)i mai multe c i redundante care formeaz un switch de mare vitez .

Aceste noduri sunt conectate i printr-o re ea conven ional Ethernet dinmotive de management al sistemului.

2.1.2. Clasificarea Wang

Criteriul de clasificare este în acest caz gradul de paralelism în procesareacuvintelor, respectiv bi ilor de date. Datele pot fi configurate într-o matrice (vezifigura 2.14).

Se noteaz cu n lungimea unui cuvânt i cu m num rul de cuvinte procesatela un moment dat.

Fig. 2.14. Organizarea datelor într-o matrice.

Conform acestei clasific ri, exist patru tipuri de arhitecturi:• WSBS (Word Serial – Bit Serial). Se lucreaz pe un singur cuvânt,

fiecare cuvânt fiind prelucrat bit cu bit: n = 1, m = 1;• WSBP (Word Serial – Bit Parallel): n > 1, m = 1;• WPBS (Word Parallel – Bit Serial): n = 1, m > 1;• WPBP (Word Parallel – Bit Parallel): n > 1, m > 1.În cazul tipului WPBP, structura paralel este complet , corespunz toare

prelucr rii pe matrice m × n.În cazul tipului WSBP, prelucrarea este pe orizontal , iar în cazul tipului

WPBS, prelucrarea este pe vertical .

Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 13: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 31

2.2. Structura fizic a unui calculator secven ial

Calculatorul numeric – sistem fizic, care prelucreaz automat informa iacodificat sub form de valori discrete, conform unui program, ce indic osuccesiune determinat de opera ii aritmetice i logice. Sistemul de calcul estecompus din dou subsisteme principale:

• subsistemul hardware (echipamente fizice componente);• subsistemul software (programele i structurile de date).Structura de baz a calculatorului secven ial, cu program memorat, stabilit

de von Neumann în 1945, este reprezentat în figura 2.15 i cuprinde cinci unit ifunc ionale: unitatea de intrare (UI), unitatea de memorare (M), unitatea de ie ire(UE), unitatea aritmetico-logic (UAL) i unitatea de comand (UCd).

Fig. 2.15. Ma ina von Neumann.

Linia continu reprezint fluxul de date i instruc iuni, iar linia întrerupt ,fluxul de comenzi i st ri.

Unitatea de comand (UCda) controleaz activitatea tuturor componentelordin sistem pe baza unei secven e de instruc iuni, reprezentând programul memorat.

Caracterul secven ial al calculatorului rezult din modul de execu ie alprogramului. Sunt necesare urm toarele etape majore (vezi figura 2.16):

• înc rcarea instruc iunii IF (instruction fetch);• decodificarea instruc iunii ID (instruction decoding);• înc rcarea (din memorie) a operanzilor OF (operand fetch);• execu ia opera iilor impuse de instruc iune EX (execution).Dup terminarea unei instruc iuni, se trece la urm toarea instruc iune. Astfel,

programul este executat secven ial, instruc iune cu instruc iune.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 14: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL32

Fig. 2.16. Etapele execu iei secven iale a unei instruc iuni.

Unitatea aritmetico-logic (ALU) realizeaz prelucrarea informa iei preluatedin memorie, iar rezultatele se depun din nou în memorie sau sunt furnizate înexterior. ALU realizeaz dou categorii de opera ii:

• aritmetice: adunare, sc dere, înmul ire, împ ire;• logice: I, SAU, SAU-EXCLUSIV, NEGA IE.Unitatea de comand , i cea aritmetico-logic , împreun cu memoria,

formeaz unitatea central (UC sau CPU) a calculatorului.Datele i programele sunt introduse în calculator prin intermediul unit ii de

intrare, fiind apoi depuse în memorie.

2.2.1. Structuri de calculatoare paralele

Calculatoarele paralele se clasific în trei configura ii arhitecturale:• calculatoare pipeline (CPL);• calculatoare (procesoare) matriceale (CM);• calculatoare (sisteme) multiprocesor (CMP).Un calculator pipeline utilizeaz paralelismul temporar. Procesoarele

matriceale se bazeaz pe mai multe unit i ALU sincronizate pentru a atingeparalelismul spa ial. Un sistem multiprocesor este caracterizat de paralelismasincron, în sensul c setul de procesoare din structura sa interac ioneaz i î iîmpart resursele (memorii, baze de date). În acela i timp, procesoarele matricealeapeleaz la paralelism sincron (blocuri comandate printr-un unic semnal de ceas).

Cele patru tipuri de paralelism enun ate nu se exclud reciproc. Cele maimulte dintre procesoarele actuale au structura intern bazat pe tehnologia pipelinei multe dintre acestea pot fi organizate în sisteme matriceale sau multiprocesor.

Diferen a de baz dintre un procesor matriceal i un sistem multiprocesor esteaceea c unit ile func ionale din procesorul matriceal opereaz sincron, în timp ceprocesoarele sistemului multiprocesor func ioneaz asincron. Tendin ele indicutilizarea calculatoarelor controlate prin flux de date cu procesoare algoritmiceVLSI. Aceste tipuri de calculatoare sunt caracterizate printr-o cre tere masiv ahardware-ului pentru a atinge paralelismul.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 15: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 33

2.2.1.1. Calculatoare pipelineExecu ia unei instruc iuni presupune patru faze majore: înc rcarea

instruc iunii – IF, decodarea instruc iunii – ID, înc rcarea operanzilor – OF iexecu ia efectiv – EX. În procesoarele non-pipeline, aceste faze se desf oarsecven ial, iar în procesoarele pipeline se desf oar cu paralelism temporal.

Pentru procesoare complexe, faza de execu ie a instruc iunii poate fipartajat în subopera ii organizate dup principiul pipeline. Problemele care apar încalculatoarele pipeline sunt datorate conflictelor de acces la memorie, salturilor iîntreruperilor.

Datorit suprapunerii opera iilor, calculatoarele pipeline (CPL) suntoptimizate pentru a efectua opera ii de acela i tip. Ori de câte ori se modific tipulopera iei (instruc iunii), registrele pipeline trebuie terse i reînc rcate i, caurmare, se consum timp suplimentar. Proiectarea CPL include: secven ializareasarcinilor (task-urilor), prevenirea conflictelor de acces (coliziunilor), controlulcongestiei i controlul salturilor în program.

O schem func ional a unui CPL este ilustrat în figura 2.17.

Fig. 2.17. Structura func ional a unui calculator pipeline.

În schema de mai sus, exist dou structuri pipeline: una pentru date scalarei una pentru date vectoriale. Faza de înc rcare a opera iilor este împ it în dou

subfaze independente, corespunz toare oper rii cu scalari sau cu vectori. Faza deexecu ie se desf oar în dou procesoare distincte, asociate scalarilor sauvectorilor.

Alya
Highlight
Page 16: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL34

Tehnica pipelineExecu ia unei instruc iuni este privit ca fiind alc tuit din mai multe faze

(sau stagii), care se succed una dup alta i care pot fi tratate de unit i specializate,într-un mod asem tor func ion rii unei linii de asamblare (de ex.: de automobile).

Exemplu. Fie un ir de procese care are loc la execu ia unei instruc iuni.

P1 1 2 3 4 5 6 7 P2 1 2 3 4 5 6 P3 1 2 3 4 5 P4 1 2 3 4 P5 1 2 3

t

Fig. 2.18. Exemplu de ir de procese la execu ia unei instruc iuni i desf urarea lor în timp.

Se presupune c de fiecare din aceste procese se ocup o unitate specializat .Când se atinge al cincilea impuls de ceas, la toate cele cinci procese se lucreaz înparalel; astfel se m re te de cinci ori viteza de execu ie. În faza încadrat ,instruc iunea 5 este în faza de înc rcare, instruc iunea 4 în faza de decodare etc.

Problema este c în faza P5 poate s apar fenomenul de strangulare, pentru una sau mai multe instruc iuni aflate între P1 i P5 pot s nu fie instruc iuni utile

(de ex.: salt). De i exist un paralelism în execu ia instruc iunilor, aceasta este oma in pipeline de tip SISD.

2.2.1.2. Calculatoare matricealeUn procesor matriceal tipic este prezentat în figura 2.19. Exist dou unit i

func ionale distincte: o unitate de control i sincronizare a elementelor de procesare(care are ca sarcin suplimentar efectuarea opera iilor cu scalari) i o unitate deprelucrare matriceal . Fiecare element de prelucrare (EP) reprezint un elementpasiv, adic , f posibilitatea de a decodifica instruc iuni.

Înc rcarea instruc iunilor i decodarea lor (fazele IF i ID) pentru unitatea deprelucrare matriceal este efectuat de c tre unitatea de control, prin intermediulunei re ele de interconectare între EP. Fiecare element de prelucrare este alc tuitdintr-o unitate ALU, registre i memorie local , iar conexiunea dintre elemente esterealizat într-o arhitectur de tip NUMA.

Pentru o sesiune de lucru specific , unitatea de control stabile te func iaALU pentru fiecare EP, dup care transfer operanzi din exterior c tre memoriilelocale ale EP i rezultatele de la un EP spre alt EP (utilizând re eaua deinterconectare). Programarea CM este mult mai dificil decât programarea CPL.

Alya
Highlight
Alya
Highlight
Page 17: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 35

Fig. 2.19. Structura func ional a unui calculator matriceal.

2.2.1.3. Calculatoare multiprocesorStructur de baz a unui CMP este prezentat în figura 2.20.

Fig. 2.20. Calculator multiprocesor.

Alya
Highlight
Page 18: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL36

Nota iile din figura 2.20 sunt urm toarele:• P1 … Pn – procesoare;• ML1 … MLn – memorii locale.Sistemul este alc tuit din mai multe procesoare care împart resurse comune

(memorie), dar posed i resurse proprii (private), într-o arhitectur de tip UMA cumemorii (cache) locale. Procesoarele func ioneaz independent (asincron), dartrebuie s comunice între ele.

Structura de interconectare între procesoare i între procesoare i resurselecomune determin organizarea sistemului multiprocesor. Exist trei mari categoriide interconect ri:

1. partajarea unei magistrale comune (bus);2. utilizarea unei re ele de interconectare total (crossbar);3. utilizarea unei memorii multiport (ca memorie comun , dual ).CMP pot fi centralizate sau distribuite. Sistemele centralizate con in toate

procesoarele în acela i sistem de calcul, spre deosebire de sistemele distribuite, încare procesoarele pot fi fizic plasate în subsisteme diferite. Pentru sistemeledistribuite este necesar o re ea de comunica ie rapid , flexibil (adaptabil ) ifiabil .

2.2.2. Mecanisme de prelucrare paralel

Aceste solu ii de implementare a prelucr rii paralele sunt corelate cuarhitecturile clasific rii Flynn în privin a solu iilor hardware, solu iile softwarefiind specifice sistemelor de operare care gestioneaz intervalele de timp alocatediferitelor aplica ii i speculând, astfel, posibilitatea prelucr rilor paralele.

2.2.2.1. Solu ii hardware de prelucrare paralelMultiplicarea i specializarea unit ilor aritmetico-logice (ALU)Procesoarele clasice aveau o singur unitate de tip ALU. În acest fel, nu se

efectua decât o singur opera ie la un moment dat. Prin multiplicarea ALU,majoritatea func iilor pot fi distribuite între unit ile specializate pe o anumitfunc ie aritmetic sau logic i pot func iona în paralel. În unele procesoare existdou ALU care pot lucra în paralel (o unitate pentru aritmetica în virgul fix ialta pentru aritmetica în virgul mobil ). Ideea specializ rii func ionale i adistribuirii i multiplic rii ALU (numite i unit i func ionale) poate fi extins atâtla sistemele multiprocesor, cât i la cele matriceale. Acest mecanism constituie, defapt, implementarea paralelismului la sistemele SISD.

În figura 2.21 se prezint un exemplu de schem pentru figurarea acesteisolu ii. Unitatea central con ine 5 unit i ALU specializate pe diferite opera ii,care pot lucra în paralel.

În timp ce o instruc iune este executat de o anumit unitate ALU, unitateade comand încarc i decodific o alt instruc iune pe care o încredin eaz uneialte unit i ALU .a.m.d.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 19: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 37

Fig. 2.21. Multiplicarea ALU prin specializarea pe opera ii.

Sistemul este eficient dac timpul de execu ie de c tre ALU a unei opera iieste mult mai mare decât timpul de înc rcare i decodificare a unei instruc iuni.Aceast condi ie este, în general, îndeplinit .

Exprimarea algebric a condi iei de eficien pentru multiplicarea ispecializarea ALU este:

tEX(ALU) >> tIF + tID.

Paralelism i structur pipeline în CPUPrimele genera ii de microprocesoare utilizau ALU (în special, sumatoare)

care operau cu flux de bi i (serial).Introducerea unui ALU care opereaz în paralel, pe flux de 8, 16, 32 sau 64

bi i simultan (cu sumatoare, cu transport anticipat sau multiplicatoare matriceale)duce la cre terea vitezei de prelucrare.

Arhitectura superscalarÎn arhitectura superscalar , iruri de instruc iuni diferite (de obicei dou ,

eventual mai multe), utilizeaz resurse diferite în acelea i stadii de execu ie ainstruc iunilor de pe fiecare ir.

Un exemplu particular de arhitectur superscalar este prezentat în figura 2.22.

Alya
Highlight
Alya
Highlight
Page 20: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL38

Fig. 2.22. Arhitectura superscalar .

Structura superscalar cu tehnic de burst (citire în rafale) este folositîncepând cu microprocesorul 80486 i este corelat cu momentul introducerii încapsula procesorului a memoriei cache de nivel 1.

Tehnica burst folose te aceast memorie pentru a citi blocuri de instruc iunidin memoria cache, instruc iuni care au fost înc rcate acolo din memoria principal(MP) în mod secven ial (vezi figura 2.23). În acest mod, se citesc dintr-o dat fiedou , fie patru cuvinte, în func ie de dimensiunea instruc iunii (pe 32 sau 16 bi i).S-a folosit ini ial o magistral intern între cache i decodificatorul de instruc iunide 64 bi i, ajungându-se în prezent la 128 de bi i.

Fig. 2.23. Arhitectura superscalar cu tehnic de burst (citire în rafale).

Alya
Highlight
Page 21: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 39

Exemplu. Schema din figura 2.24 reprezint o arhitectur superscalar cutrei iruri de instruc iuni diferite. Se execut în acela i timp o opera ie cu numerereale i dou opera ii cu numere întregi. Fiecare unitate este de tip pipeline i poateexecuta câteva opera ii în diferite stagii pipeline.

Fig. 2.24. Exemplu de arhitectur superscalar cu trei unit i pipeline în paralel.

Arhitectura superpipelineSe bazeaz pe divizarea stagiului pipeline în substagii i, deci, pe cre terea

num rul de instruc iuni care sunt procesate de pipeline la un moment dat. Divizândfiecare stagiu în dou substagii, perioada ciclului de ceas va fi redus la jum tate:/2.

La capacitate maxim , structura pipeline produce un rezultat la fiecare /2secunde. Pentru o arhitectur dat i setul de instruc iuni aferent ei, exist un num roptim de stagii pipeline. Dac num rul de stagii pipeline cre te peste aceast limit ,se va reduce performan a global . O solu ie pentru a cre te viteza f a facecompromisuri este arhitectura superscalar , prezentat anterior.

În figura 2.25, este prezentat un exemplu de execu ie pipeline (a),superpipeline (b) i superscalar (c) a unei instruc iuni.

Suprapunerea opera iilor CPU cu opera iile I/OUtilizarea unor controlere I/O separate permite efectuarea în paralel a

opera iilor interne ale CPU cu opera ii de transfer de date pe canalele I/O.Exemple de controlere I/O:• controlere DMA (Direct Memory Access), care permit transferul direct de

date: memorie – memorie sau memorie – canale I/O, bazat pe principiulcererii de magistral (aceasta reprezint una dintre tehnicile evoluate detransfer de date, vezi paragraful 3.4.4.2);

• procesoare specializate I/O, care lucreaz pe canale I/O cu sarcini specifice.

Alya
Highlight
Alya
Highlight
Page 22: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL40

a

b

c

Fig. 2.25. Modul de operare al tehnicilor pipeline (a), superpipeline (b) i superscalar (c).

Unitate ALU vectorial

Fig. 2.26. Arhitectur SIMD cu unitate ALU vectorial .

Este o solu ie de paralelism pentru sistemele SIMD, prezentat în figura 2.26.

Page 23: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 41

Utilizarea unui sistem ierarhizat de memorieMemoria unui sistem de calcul trebuie s satisfac mai multe cerin e, adesea

contradictorii: capacitate mare, timp de acces mic, cost rezonabil i dimensiunireduse. Aceste cerin e nu pot fi îndeplinite simultan de un singur tip de memorie.Cu tehnologia actual se pot realiza memorii de mare vitez , dar de capacitate mic(RAM static), memorii de capacitate mare, dar de vitez medie (variante dememorii DRAM) sau memorii de capacitate foarte mare, dar cu timp de accesridicat (memorii externe pe suport magnetic sau optic).

În sistemele de calcul performante, spa iul de memorare este ierarhizat pemai multe nivele, cu scopul de a beneficia de avantajele oferite de diverse tipuri dememorii. Un sistem de calcul cu memorie organizat ierarhizat poate echilibradiferen ele de vitez între componentele sistemului (CPU, memorie, discuri) .

Într-o astfel de arhitectur , memoria este organizat pe patru niveluri:• registrele CPU;• memoria cache (MC);• memoria principal sau operativ (MP);• memoria virtual (MV).Registrele CPU sunt direct adresabile de c tre ALU.Memoria cache (rapid ) este cea mai apropiat de CPU, ceea ce impune ca

timpul de acces s fie mic, capacitatea fiind limitat . Aici sunt p strate instruc iunilei datele cu probabilitatea cea mai mare de a fi utilizate într-o proximitate de timp.

Memoria cache reprezint un tampon între memoria principal i CPU.Memoria principal sau operativ p streaz programele i datele aferente

în curs de execu ie. Ea poate fi adresat în mod aleatoriu de un program utilizator.Are o capacitate medie-mare i un timp de acces mediu. Este un tampon întrememoria virtual i CPU.

Memoria virtual este un concept arhitectural prin care memoria operativeste extins peste spa iul de adresare al memoriei externe (hard disk, bandmagnetic ). Prin tehnicile de implementare, numite segmentare i paginare (vezicapitolul 6), se urm resc dou aspecte esen iale:

• cre terea resurselor de memorare disponibile pentru programele utilizator;• protejarea zonelor de memorie alocate modulelor de program.Memoria virtual este util în cazul sistemelor de operare multitasking i

multiuser (Windows, Unix).În general, tehnicile de implementare a MC i a MV sunt transparente pentru

programele utilizator. Aparent, programele de aplica ie lucreaz numai cu memoriaprincipal . Transferul de informa ii între diferitele nivele de memorie se realizeazîn mod automat, fie de c tre componente hardware specializate (unitatea de gestiunea memoriei, MMU), fie de c tre sistemul de operare. Procesoarele recente ofersuport hardware pentru implementarea memoriei cache i a memoriei virtuale.

Eficien a utiliz rii unei arhitecturi ierarhizate de memorie se bazeaz pecâteva principii legate de modul de utilizare a informa iilor con inute în memorie.

Astfel, conform principiului localiz rii referin ei, adresarea loca iilor dememorie se realizeaz într-o secven repetitiv . Exist o probabilitate mare ca o

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 24: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL42

loca ie adresat de curând s fie adresat i într-un timp imediat – localizaretemporar – i, similar, este previzibil ca i loca iile adiacente s fie accesate încurând – localizare spa ial . Principiile localiz rii temporale i spa iale sunt oconsecin a modului uzual de execu ie a secven elor de program.

Exemple:• un program con ine bucle care presupun execu ia repetitiv a aceleia i

secven e de instruc iuni;• execu ia instruc iunilor este, în majoritatea cazurilor, secven ial

(succesiunea în execu ie), excep ie f când instruc iunile de salt;• secven a de program (procedura) utilizeaz repetitiv aceea i variabil sau

adreseaz repetat elemente ale unei structuri de date (tablouri, înregistr ri).Concluzie. Statistic s-a constatat c pentru majoritatea programelor este

valabil urm toarea regul : 90% din timpul afectat unui program este utilizatpentru execu ia a numai 10% din codul acestuia. Pe baza acestor observa ii,informa iile pot fi amplasate în mod dinamic pe diferite niveluri ierarhice alememoriei, în func ie de probabilitatea de a fi utilizate.

2.2.2.2. Solu ii software de prelucrare paralelPrelucrarea pe loturiPrelucrarea pe loturi (batch processing) presupune formarea unui fi ier cu

extensia .bat i lansarea lui. Procesele au loc succesiv, iar CPU (care executopera iile de calcul) nu este folosit în mod eficient.

Fig. 2.19. a. Prelucrarea pe loturi. b. Multiprogramarea.

Alya
Highlight
Alya
Highlight
Page 25: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 43

Exemplu. Fie trei procese paralele, P1, P2 i P3, fiecare fiind v zut în timpca o succesiune de trei etape: intrare (i), calcul (c), ie ire (o) (vezi figura 2.27.a).

MultiprogramareaÎn acela i interval de timp pot exista mai multe programe (procese) active în

sistemul de calcul, concurând pentru memorie, I/O i CPU. Totu i, unele programesunt orientate c tre calcule (utilizând intens CPU), în timp ce altele sunt orientate

tre citirea/scrierea dispozitivelor I/O. Se pot astfel organiza (intercala) cele douclase de programe pentru a ob ine un timp de prelucrare global cât mai bun. Înfigura 2.27.b, câ tigul de timp este notat cu .

Intercalarea programelor permite utilizarea mai eficient a resurselorcalculatorului prin suprapunerea opera iilor I/O cu opera iile CPU. Acest mod deorganizare este gestionat de sistemul de operare (programul de supervizare). Astfel,multiprogramarea se poate defini ca intercalarea opera iilor CPU cu opera ii I/Opentru mai multe programe.

Observa ii.1. P1, P2 i P3 pot apar ine aceluia i program sau unor programe diferite.2. În cadrul multiprogram rii, se poate întâmpla ca un proces cu prioritate

mare s ocupe CPU un timp îndelungat i în acest fel se împiedicexecu ia altor procese. Neajunsul se poate înl tura folosind un sistem deoperare cu divizare în timp.

Diviziunea în timp (time sharing)Diviziunea în timp reprezint împ irea timpului de execu ie al CPU între

toate procesele (task-urile) active din sistemul de calcul. Cuantele de timp alocatefiec rui proces pot fi inegale de la un proces la altul. Viteza de prelucrare poatecre te astfel mai mult decât în cazul multiprogram rii (vezi cazul particular dinfigura 2.28).

Fig. 2.28. Repartizarea în timp a desf ur rii proceselor (time sharing).

Alya
Highlight
Alya
Highlight
Page 26: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL44

Procesul de calcul se împarte în mai multe etape. În func ie de divizarea înintervale de timp, se poate face ca procesele s se termine aproximativ în acela iinterval de timp (nu exist un proces dominant).

Diviziunea în timp constituie o atribu ie a sistemului de operare (numit, înacest caz, sistem de operare cu diviziune în timp). Utilizarea diviziunii în timp aprogramelor (sau a proceselor) în sistemele uniprocesor creeaz conceptul deprocesor virtual.

Exemplu: sisteme de calcul cu un singur procesor i mai multe terminale.Pentru subiectul uman, r spunsul unicului procesor este suficient de rapid astfelîncât s se considere c fiecare terminal opereaz independent, ca i cum ar posedael însu i procesor (utilizatorul are impresia c lucreaz singur pe calculator).

Conceptul de diviziune în timp poate fi extins în mod similar la sistemelemultiprocesor.

Observa ii.1. În cazul multiprogram rii, procesele î i termin faza de calcul (în CPU),

ap rând suprapunere doar între opera ii CPU i opera ii I/O.2. În cazul diviziunii în timp, procesele nu î i termin faza de calcul înainte

de a se executa alt proces; procesele pot fi intercalate, astfel încât s secâ tige timp de execu ie în raport cu multiprogramarea (suprapuneri întreopera ii CPU i opera ii I/O, respectiv între diferite opera ii I/O).

No iunea de multithreadingTermenul de multithreading reprezint un aspect important al proiect rii

software, care necesit aten ie special în construc ia sistemelor mari i, în deosebi,atunci când se pune problema eficien ei (exprimate în termeni de vitez asistemului) i a performan ei (exprimate în termeni de corectitudine în func ionarea sistemului). Folosind adecvat instruc iunile de multithreading, se pot realizaaplica ii optimizate.

Fiecare aplica ie sau program care ruleaz pe sistemul de operare este unproces alc tuit din unul sau mai multe fire (thread-uri). Un thread este un set deinstruc iuni sau o parte anume a aplica iei, care se execut independent în cadrulprogramului sau sistemului. Thread-urile sunt entit i responsabile cu multitasking-ul în cadrul unei singure aplica ii. De obicei, sistemul de operare (SO) se ocup cuprogramarea i executarea thread-urilor.

Multithreading-ul presupune execu ia în paralel a mai multor procese, pentrua îmbun i eficien a sistemului. Thread-urile sunt implementate în situa iile încare trebuie îndeplinite mai multe sarcini simultan.

Avantajele threading-ului sunt urm toarele:• sarcinile care cer mai mult timp de execu ie pot fi rulate în background;• interfa a aplica iei poate fi realizat mai atr tor i mai simplu de

utilizat (de ex.: dup ap sarea unui buton se afi eaz o bar de progres);• viteza aplica iei poate cre te;• thread-urile pot fi folositoare în situa iile în care exist decalaje între

anumite evenimente, putându-se astfel elibera anumite resurse care nusunt necesare la un moment dat.

Alya
Highlight
Alya
Highlight
Page 27: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 45

Modelele de threading suportate de sistemele win32 sunt:1. Modelul thread-ului unic (Single Thread Model). Acest tip de thread

presupune rularea unui singur thread la un moment dat. Restul thread-urilor trebuie a tepte. Principalul dezavantaj al acestui tip de thread îl reprezint timpii lungi

de execu ie pentru sarcini mici. Corespunde din punct de vedere conceptualprelucr rii pe loturi (batch processing).

2. Modelul Apartment Thread (Single Thread Apartment Model – STA). Înacest model, pot exista mai multe thread-uri care se execut în cadrul aplica iei. ÎnSTA, fiecare thread este izolat într-un „apartament” separat în cadrul procesului.Fiecare proces poate avea mai multe apartamente, care pot partaja date între ele. Înacest caz, aplica ia este r spunz toare pentru stabilirea duratei fiec rui thread dincadrul fiec rui apartament. Toate cererile sunt ordonate folosind Windows MessageQueue, astfel încât un singur apartament poate fi accesat la un moment dat.Avantajul acestui model fat de modelul thread-ului unic este c se pot procesasimultan mai multe cereri ale utilizatorului. Totu i, nu este atins înc eficien amaxim , deoarece sarcinile se vor executa una dup alta. Corespunde din punct devedere conceptual multiprogram rii.

3. Modelul Multithread Apartment (Free Thread Apartment Model – FTA).Modelul Multithread Apartment presupune existen a unui singur apartament. Nueste nevoie de ordonare, deoarece toate thread-urile apar in aceluia i apartament ipot partaje resursele. Aceste aplica ii se execut mai rapid decât cele careimplementeaz modelul unic sau STA, deoarece sistemul este mai pu in solicitat ipoate fi optimizat s elimine timpii mor i. Corespunde din punct de vedereconceptual diviziunii în timp (time sharing).Aceste tipuri de aplica ii sunt foartecomplexe, deoarece trebuie s se asigure c thread-urile nu acceseaz simultanacelea i resurse (principiul pipeline). Este, astfel, absolut necesar s se furnizeze unsistem de blocare a resurselor. Acesta trebuie implementat cu aten ie, deoarecepoate conduce la blocarea total a sistemului.

Prin natura i arhitectura sa, mediul de programare Microsoft .NETFramework este un mediu de tip multithreading.

Evaluarea performan elor. Utilizând de n ori mai multe resurse în paralel,un algoritm nu va rula de n ori mai repede, datorit fenomenului de timpsuplimentar (overhead), indus prin aplicarea paralelismului. Acest timpsuplimentar apare din urm toarele cauze:

• interac iunea între procese (transmiterea rezultatelor intermediare saupar iale) i sincronizarea proceselor;

• inactivitatea temporar (idling), care înseamn c exist procese inactivepe anumite perioade de timp, datorit înc rc rii inegale i a a tept riisincroniz rii;

• calculele suplimentare, care nu apar în formularea serial a algoritmului.Parametrii de intrare care contribuie la calculul performan elor sunt:• timpul de execu ie secven ial sau serial, TS (timpul m surat de la

începutul i pân la sfâr itul execu iei algoritmului pe un calculatorsecven ial);

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 28: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL46

• timpul de execu ie paralel, TP (timpul m surat de la începutul execu ieii pân la terminarea ultimului subtask paralel);

• num rul de procesoare, p.Cu ajutorul acestora, se pot calcula urm torii parametri de ie ire:• suprasarcina, TO (Total Parallel Overhead) = diferen a dintre timpul

total de lucru însumat al tuturor procesoarelor i timpul necesar celui mairapid algoritm secven ial;

• accelerarea, S (Speedup) = raportul dintre timpul necesar rezolv rii uneiprobleme pe un procesor i timpul necesar rezolv rii aceleia i problemeîn paralel pe p procesoare identice;

• eficien a utiliz rii calculatorului paralel, E = S / p;• costul, C = TP × p, care reflect timpul total de lucru însumat al

procesoarelor.

2.3. Categorii de calculatoare

Calculatoarele pot fi grupate în 5 categorii, în func ie de structur ,dimensiuni, vitez , putere de calcul i destina ie:

• microcalculatoare (ex.: computerele Apple i toate modelele de PC);• minicalculatoare (ex.: serverele IBM, SGI, Sun Microsystems etc.);• superminicalculatoare (ex.: Norsk Data Nord, Interdata, DEC VAX etc.);• mainframe-uri;• supercalculatoare.

2.3.1. Mainframe-uri

Un mainframe este un computer mare, folosit de institu ii guvernamentale icompanii pentru procesarea datelor importante în statistic , recens minte, cercetarei dezvoltare, proiectare, prognoz , planificarea produc iei, tranzac ii financiare etc.

Ca aspect exterior, primele mainframe-uri ar tau ca ni te dulapuri uria e de metal.Cu trecerea anilor, tehnologiile de fabrica ie s-au dezvoltat, m rimea fizic amainframe-urilor a sc zut, iar viteza lor de calcul a crescut foarte mult.

La nivelul anului 2008, prin mainframe se în elege un calculator compatibilcu modelele de tip IBM System/360 (1965). Actualmente, cel mai modern modelde la IBM este System z10. Sunt considerate mainframe-uri calculatoarele actualede tip: Nova (Fujitsu-Siemens), DPS (Groupe Bull), NonStop (Hewlett-Packard),ClearPath (Unisys) i cele compatibile IBM System z9 (Hitachi, Platform Solutions).

Un mainframe poate rula sau g zdui mai multe sisteme de operare simultan,func ionând ca mai multe ma ini virtuale. Un mainframe poate înlocui astfel chiari câteva sute de servere de dimensiuni mici (de exemplu, în aplica ii web),

reducând costurile de între inere, dar men inând un nivel ridicat de siguran .

Alya
Highlight
Alya
Highlight
Page 29: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 47

2.3.2. Supercalculatoare

Un supercalculator este un calculator complex cu destina ie special , compusdin mai multe procesoare care acceseaz aceea i memorie central i carefunc ioneaz concomitent i coordonat, în cooperare strâns , astfel încâtsupercalculatorul poate atinge o performan total de calcul foarte ridicat . Modulde operare al supercalculatoarelor este calculul paralel. Num rul de procesoareinterconectate ale unui supercalculator dep te la anumite modele chiar i100.000.

Pentru a men ine costul unui asemenea supercalculator la un nivel rezonabil,exist arhitecturi care fac uz de procesoare mai ieftine i mai lente, dar foartenumeroase, grupate în a a-numite cluster-e.

Printre primele firme care au produs supercalculatoare pentru pia s-anum rat firma Cray (modelul Cray-1 din 1976 a atins viteza de calcul de 130Mflops). În acest domeniu, exist o list (actualizat de dou ori de an) a celor mairapide 500 de supercalculatoare din lume (Top 500), care se bazeaz pe testulstandardizat numit Linpack. Pe lâng supercalculatoarele comerciale, exist i liniasupercalculatoarelor militare.

Exemplu: arhitectura supercalculatorului bazat pe IBM BlueGene/L.Modelele IBM BlueGene de in momentan (2008) primele dou locuri în Top

500. Calculatorul se bazeaz pe un nou concept, care renun la cre terea frecven eide ceas în favoarea mic or rii componentelor, cre terii densit ii acestora ireducerii consumului de putere. Reducerea frecven ei de ceas este compensat prin

rirea gradului de paralelism, folosind un num r mai ridicat de procesoare.Procesorul de baz este un PowerPC 440 la 700 MHz. Dou astfel de

procesoare sunt amplasate pe un cip împreun cu o memorie cache L3 de 4 MBpartajat i 2 KB memorie cache L2 pentru fiecare procesor. Fiecare procesor aredou porturi de înc rcare i unul de stocare c tre memoriile cache L2, func ionândcu 8 bi i/ciclu. Aceasta este jum tate din banda necesar celor dou unit i devirgul mobil (FPU). Procesoarele au o memorie cache L1 de 32 KB pentruinstruc iuni i date, în situa ii favorabile atingând performan e de 2,8 Gflops/2. Seobserv c memoria cache L1 este mai mare decât L2, un lucru neobi nuit, carepermite îns atingerea unor viteze de procesare mai mari.

Arhitectura modelului IBM BlueGene/L este reprezentat în figura 2.29.Sistemul este alc tuit astfel: sunt introduse dou cipuri pe o plac cu o

memorie de 512 MB, aisprezece asemenea pl ci sunt plasate pe o alt plac nod,iar 32 de pl ci nod sunt introduse într-un a a-numit cabinet. A adar, un cabinetcon ine 1024 cipuri (2048 CPU). Pentru configura ia maxim , se folosesc 64 decabinete cuplate, care formeaz un sistem cu 65.356 cipuri i 130.712 CPU.

În modul normal de operare, o unitate de procesare a unui cip este folositpentru calcule, iar cealalt , pentru sarcinile de comunicare. În acest fel,performan a de vârf teoretic a sistemului este de 183,5 Tflops. Dac necesit ilede comunicare sunt mici, se pot folosi ambele procesoare pentru calcule, dublândviteza de vârf, ajungând la 360 Tflops.

Alya
Highlight
Page 30: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL48

Fig. 2.29. Arhitectura IBM BlueGene/L.

Din punct de vedere al interconect rii, BlueGene/L posed mai multe re ele:dou re ele pentru conectarea procesoarelor, o re ea inel 3D i o re ea arbore.Re eaua inel este folosit pentru comunica ii generale, iar cea arbore pentrucomunica ii colective: broadcast, opera ii de reducere etc. L rgimea de band are elei arbore este de dou ori mai mare decât a re elei inel, ajungând la 350 MB/s(fa de 175 MB/s).

Performan ele sistemului ajung la 280,6 Tflops pentru testul Linpack. Înurma testului, s-a efectuat rezolvarea unui sistem liniar de N = 1.769.471 ecua ii.Eficien a rezultat a fost de 76%.

Supercalculatoarele care au la baz modelul IBM BlueGene/Limplementeaz arhitectura masiv paralel .

Aceasta const într-un num r de procesoare (de obicei, foarte mare – deordinul miilor) interconectate i controlate de un singur computer central. FiecareCPU are memoria sa i spa iul de date propriu, care con ine i o copie a sistemuluide operare. Toate blocurile CPU comunic între ele cu ajutorul unor interconect ride foarte mare vitez .

Page 31: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 49

2.4. Exemple de arhitecturi

2.4.1. Arhitecturi uniprocesor

Se bazeaz pe cele trei componente majore: UCP, memoria, subsistemul I/O.VAX 11/780 (superminicalculator)Sistemul a fost produs de firma DEC. Schema de arhitectur general este

prezentat în figura 2.30. Aceasta con ine:• CPU – unitatea central de prelucrare, care include:

o R0, ..., R15 = 16 registre generale a câte 32 bi i fiecare;o PC = contorul de program (program counter);o ALU = unitatea aritmetic i logic ;o ML = memoria local ;

• MD = memorie de diagnoz ;• CVM = coprocesor de virgul mobil ;• MP = memoria principal (maxim 232 cuvinte);• C = consol ;• F = floppy disk;• SBI = interfa a cu magistrala sincron (Synchronous Bus Interface);• AU = adaptor unibus, cu (U) = magistral unibus;• AMB = adaptor masterbus, cu (M) = magistral masterbus.

CPU mai con ine un registru de stare, care indic starea curent amicroprocesorului, a programului care se execut i a memoriei cache.

Fig. 2.30. Schema arhitecturii generale pentru VAX 11/780.

Alya
Highlight
Page 32: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL50

IBM 370/168

Fig. 2.31. Schema arhitecturii generale pentru IBM 370/168.

Schema de principiu (vezi figura 2.31) con ine:• MP = memoria principal ;• LSU = local storage unit (unitate de memorie local );• CM = controller memory (leg tur multiport CPU – memorie);• SS I/O = subsisteme de intrare-ie ire (mai multe canale asincrone).IBM RS/6000 model 250Arhitectura simplificat este prezentat în figura 2.32.

Fig. 2.32. Schema arhitecturii generale pentru IBM RS/6000-250.

Schema de principiu con ine:• PPC = PowerPC – Processor Optimized With Enhanced RISC

Performance Chip;• SIMM = Small In-line Memory Modules (module de memorie);• CTRL = controler;• MCA = magistral de control i adres ;• Ethernet = controler de re ea.

Page 33: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 51

2.4.2. Arhitecturi multiprocesor

Arhitecturile multiprocesor sunt cel mai bun exemplu al tentativei de aparaleliza un sistem de calcul. Acestea sunt de dou tipuri: cele care folosescprocesoare multiple, discrete, pe o plac de baz sau sisteme hardware speciale icele care folosesc mai multe nuclee în interiorul unui singur procesor fizic.

2.4.2.1. Arhitecturi cu procesoare multipleArhitecturile cu procesoare multiple pot fi de dou feluri:• cu multiprocesare simetric ;• cu multiprocesare asimetric .Multiprocesarea simetric utilizeaz mai multe procesoare fizice legate

printr-o magistral de memorie partajat i suportul magnetic aferent (veziparagrafele 2.1.1.4 i 2.2.1.3, referitoare la sisteme cu memorie partajat – sharedmemory i calculatoare multiprocesor).

În cazul sistemelor cu arhitecturi de multiprocesare asimetric , fiecareprocesor are alt task. Exemple: cipseturile 3D din pl cile grafice moderne icluster-ele de calculatoare personale (Beowulf), în care fiecare procesor are accesnumai la memoria calculatorului din care face parte (vezi paragraful 2.1.1.5,referitor la sisteme f memorie partajat – shared nothing).

IBM RS/6000 model F50Sistemul cuprinde între 1 i 4 procesoare Power PC cu cache extern i are o

magistral de 64 de bi i. Memoria cache se nume te 8-way (cu 8 c i) pentru c datelesunt grupate în seturi de câte 8 × 64 bi i. Memoria folose te date de 72 bi i: 64 pentrudate i 8 pentru codul corector de erori (ECC = Erorr Correction Code). Procesorulare o arhitectur de tip superscalar i poate executa pân la 4 instruc iuni pe ciclu.

Caracteristici (vezi figura 2.33):• frecven a de tact: 166–332 MHz, 87 MHz pentru magistrala de memorie;• 32 KB cache de date, 32 KB cache de instruc iuni;• magistral de date de 64 de bi i i magistral de adrese de 32 de bi i;• memorie de pân la 4 GB i memorie virtual de pân la 4 PB (1P = 252).Arhitectura Intel multiprocesorArhitectura multiprocesor propus de firma Intel este reprezentat prin

schema din figura 2.34.Nota iile din schem au urm toarele semnifica ii: BSP = Bootstrap Processor,

AP = Application Processor, APIC = Advanced Programmable Integrated Circuit,ICC Bus = Interrupt Controller Communications Bus.

2.4.2.2. Arhitecturi biprocesorUn sistem care suport dou procesoare trebuie s aib o plac de baz

adaptat pentru a servi dou CPU. În acest scop, placa de baz este dotat cu omagistral special , a c rei construc ii depinde de la produc tor la produc tor, darcare se conformeaz unor reguli generale.

Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Alya
Highlight
Page 34: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL52

Fig. 2.33. Schema arhitecturii generale pentru IBM RS/6000-F50.

Fig. 2.34. Schema arhitecturii Intel multiprocesor.

Astfel, cele dou CPU sunt servite de dou interfe e paralele cu magistralaprincipal a sistemului, iar arbitrarea traficului pe aceasta este efectuat de uncontroler specializat. Accesul la magistral este multiplexat, astfel c la un anumitmoment de timp i pentru o durat bine stabilit (fix sau adaptat sarcinii curente)accesul la magistral îl are doar un singur procesor. Aceste tipuri de scheme potcuprinde zone de memorie cache comune (integral sau par ial), iar magistrala poatefi cu l ime variabil sau cu adaptare dinamic la cereri.

Page 35: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 53

Pentium II biprocesor

Fig. 2.34. Arhitectura unui sistem biprocesor cu Pentium II.

AMD Athlon biprocesorEste un exemplu de arhitectur biprocesor construit pe baza cipsetului 760 al

firmei AMD (vezi figura 2.35).

Fig. 2.35. Arhitectura unui sistem biprocesor cu AMD Athlon.

Alya
Highlight
Page 36: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL54

Cre terea performan elor este realizat prin utilizarea magistralei punct-la-punct (Point-to-Point) i a modului snoop. Modul snoop permite citirea datelor de

tre un procesor din cel lalt procesor (prin intermediul Northbridge-ului),nemaifiind necesar accesarea memoriei. Acest mod elimin tehnica prin caredatele necesare unuia din cele dou procesoare erau înscrise în memorie de c treprimul procesor i apoi citite de c tre al doilea.

AMD K7 biprocesorMicroprocesorul AMD K7 lucreaz pe magistrala ultrarapid EV6 la

frecven a de 200 MHz. Astfel, K7 poate folosi memorii foarte rapide i cu l rgimede band mare, cum este Rambus DRAM. Datorit suportului multiprocesor alprotocolului de magistral EV6, sistemele AMD pot fi folosite în domeniul sta iilorde lucru i al serverelor. Arhitectura EV6 permite o flexibilitate ridicat , cufacilit i de tipul topologiei punct-la-punct i clock-forwarding. Magistralele dedate i de adrese sunt decuplate, procesorul putând s emit cereri în timp ceprime te date i comenzi de la logica de sistem. Tot aici sunt gestionatetransferurile cu sistemul, c tre memorie sau c tre magistralele AGP i PCI.

Schema bloc a acestei arhitecturi este prezentat în figura 2.36.

Fig. 2.36. Arhitectura unui sistem biprocesor cu AMD K7 pe magistrala EV6.

Sun SPARC IV biprocesorArhitectura biprocesor Sun SPARC IV este prezentat în figura 2.37.

Nota iile din schem au urm toarele semnifica ii: ECC = Error Checking/CorrectionCode (cod de verificare/corec ie de erori), DCSS = Dual Chip Data Switch (bloc dealegere a cipului), SIU = System Interface Unit (unitatea de interfa cu sistemul),MCU = Memory Control Unit (unitate de comand a memoriei).

Alya
Highlight
Alya
Highlight
Page 37: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 55

Fig. 2.37. Arhitectura Sun SPARC IV biprocesor.

Se observ c cele dou procesoare au atât memorie cache comun , cât iindividual . Accesul la memoria comun se realizeaz prin intermediul unuimultiplexor, care nu permite lucrul simultan celor dou CPU cu aceasta, pentru apreveni blocajele i erorile ce pot ap rea în urma unor acces ri simultane. Schemaeste capabil s ruleze dou fire de execu ie (thread-uri) cu laten e foarte mici descriere a cache-ului. De asemenea, accesul la magistrala principal este multiplexat,pentru a preveni congestiile i erorile de transmisie. Strategia de gestiune amemoriei cache este de tipul LRU (Least Recently Used – cel mai pu in recentutilizat), ceea ce duce la mai multe anse de a g si în cache informa ia necesar laurm toarea procesare (cache hit). Memoria acestui sistem este de tipul SDRAM.

Exist scheme care aduc îmbun iri suplimentare legate de administrareaeficient a magistralei (prin repartizarea dinamic a duratelor de acces bazat pepredic ii i pe comport ri anterioare ale proceselor care se repet la fiecare CPU etc.).

Intel Xeon biprocesorSistemul este echipat cu dou procesoare Intel Xeon instalate pe o plac de

baz de tipul Supermicro P4DC6+. Aceast plac de baz este dotat cu cipsetuli860, constituit din trei componente principale: Intel 82806AA PCI 64 Hub (IntelP64H din figura 2.38), Intel 82860 Memory Controller Hub (MCH din figura 2.38)i Intel 82801BA I/O Controller Hub (ICH2 din figura 2.38). Aceste blocuri

asigur un transfer foarte rapid de date atât între procesoare, cât i între acestea imemorie sau dispozitive periferice.

Alya
Highlight
Page 38: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL56

Fig. 2.38. Arhitectura sistemului Xeon biprocesor.

Pentru aceasta, arhitectura pune la dispozi ie componentelor sistemului(controlerul SCSI, sloturile PCI pe 32 sau 64 de bi i) magistrale distincte, careasigur separarea fluxurilor de date. Acest lucru este vital într-un server în careschimbul de date dintre componente este realizat în flux continuu. Tot pentru osporire a vitezei de lucru, s-a recurs la utilizarea memoriei de tip RDRAM.

AMD Opteron biprocesorSistemul cu dou procesoare AMD Opteron 250 la 2,4 GHz folose te o plac

de baz dotat cu cipsetul NVIDIA nForce Professional 2200. Noutatea acesteiconfigura ii este c procesoarele nu împart aceea i magistral pentru a accesamemoria, ca la sistemele tradi ionale. În acel caz, magistrala reprezenta „gâtulsticlei” (bottleneck) sistemului, fiind un obstacol în calea proces rii la poten ialulmaxim al CPU-urilor. Pentru a evita aceast limitare, AMD a recurs la o arhitecturcu memorie cache neuniform , de tip ccNUMA (vezi figura 2.39).

Fiecare procesor dispune de un controler de memorie, care poate accesa opor iune de memorie rezervat doar lui. Sunt evitate astfel suprapunerile de date ialterarea reciproc a datelor provenite de la procesoare diferite. În plus, cele douCPU sunt interconectate printr-o magistral de mare vitez , de tipul HyperTransport(tehnologie patentat de AMD), care nu are leg tur direct cu memoria (spredeosebire de un sistem clasic) i care asigur un dialog eficient între componente.

Cele dou procesoare pot accesa memoriile proprii cu laten e foarte mici (multmai mici decât la sisteme tradi ionale), precum i memoria care nu le apar ine direct,dar cu laten e mari. Aceasta nu constituie un dezavantaj, deoarece un CPU lucreazîn mod normal doar în zona de memorie care îi este repartizat . Totu i aceasttehnologie are i un punct slab: organizarea corect a memoriei este crucial . Astfel,arhitectura NUMA trebuie suportat atât de sistemul de operare, cât i de aplica ii.

Alya
Highlight
Page 39: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 57

Fig. 2.39. Arhitectura sistemului AMD Opteron biprocesor.

Sistemele de operare Windows XP i Windows server 2003 suport înîntregime aceast tehnologie, op iunea activându-se automat la detectarea unuisistem de acest tip.

Calculatoarele biprocesor se preteaz pentru diverse aplica ii complexe, carenecesit putere de calcul. Aici intr aplica iile grafice de modelare 3D, aplica iilede re ea (mai ales dac sistemul este unul de tip nod coordonator de trafic sauserver pentru subre ele de diverse dimensiuni) i aplica iile specifice de prelucrarea semnalelor în timp real. Tot ce au acestea în comun este faptul c sunt createastfel încât s lucreze cu mai multe fire de execu ie simultan, conform principiilorde calcul paralel. Aceste tipuri de algoritmi sunt create pentru a minimiza timpul deexecu ie foarte mare pe care îl implic acele aplica ii în situa ii normale.

În ultima vreme, câ tig popularitate un nou tip de aplica ii care pot folosiarhitectura biprcocesor, anume sistemele embedded. În esen , este vorba despreconectarea în paralel, pe aceea i plac , a dou (sau mai multe) procesoarespecializate, cu un scop bine definit, spre deosebire de calculatoarele personale,care au scopuri multiple. De exemplu: prelucrarea unui semnal audio (codare idecodare) i, eventual, transmiterea lui mai departe. Din aceast clas fac parteprocesoarele DSP de la firma Texas Instruments. Premisa acestor aplica ii este cprocesorul este adaptat s realizeze un num r restrâns de opera ii cu scopuri binedeterminate. În plus, DSP-ul este capabil s ruleze aplica ii de sine st toare, care

ofere interfa cu utilizatorul i suport pentru memorare i transmitere c tre altecomponente conectate la acesta. De exemplu: un subsistem care, conectat la un PC,

codeze/decodeze fi iere audio în format mp3.

Alya
Highlight
Page 40: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL58

2.4.2.3. Arhitecturi multinucleuUn procesor multinucleu combin dou sau mai multe nuclee într-un singur

cip fizic, care con ine fie un circuit integrat cu toate nucleele, fie mai multe circuiteintegrate interconectate. Un procesor cu mai multe nuclee implementeaz oarhitectur de multiprocesare într-un singur pachet fizic. Un procesor cu toatenucleele pe acela i circuit integrat se nume te procesor multinucleu monolitic.

Nucleele pot partaja un singur cache de nivel înalt (de ex.: cache-ul L2pentru procesoarele Core 2 de la Intel) sau pot avea câte un cache separat pentrufiecare nucleu (de ex.: linia de procesoare dual-core de la AMD). Fiecare nucleuimplementeaz separat optimiz ri hardware, cum sunt: sisteme pipeline, execu iesuperscalar , extensii SSE, multithreading etc.

Un sistem cu n nuclee este eficient atunci când pe acesta se ruleaz n procese(sau fire de execu ie) concurente i independente. Cele mai cunoscute procesoaremultinucleu sunt cele de pe pia a calculatoarelor personale (Intel i AMD), precumi cele folosite în consolele de jocuri pe televizor (de ex.: procesorul Cell folosit la

PlayStation 3 are 8 nuclee, iar Xenon folosit la Xbox360 are 3 nuclee).Avantajele sistemelor cu procesoare multinucleu sunt:• Nucleele sunt apropiate fizic, ceea ce înseamn c semnalele trebuie s

parcurg o distan mai mic . Acestea permit procesoarelor sinterac ioneze cu o frecven mai mare decât dac ele ar fi fost separate(dou procesoare pe o placa de baz ).

• Procesoarele multinucleu ofer designerilor posibilitatea de a face pl cilede baz mai mici decât pentru dou sau mai multe procesoare.

• Un procesor cu dou nuclee consum mai pu in decât dou procesoarecu câte un singur nucleu, deoarece acestea necesit mai mult putere stransmit acelea i semnale în afara cipului,

• Pre ul produsului este mai redus, pachetul fizic fiind de un singurprocesor în loc de mai multe.

Dezavantajele sistemelor cu procesoare multinucleu sunt:• De i, teoretic, dou procesoare pot dubla viteza de calcul, software-ul

trebuie optimizat pentru a beneficia de acest lucru, în func ie deposibilitatea aplica iilor i a sistemului de operare de a crea fire deexecu ie (thread-uri) paralele i independente.

• Integrarea a înc unui nucleu în acela i circuit integrat pune problemedeosebite din punct de vedere termic, deoarece, practic, acela i pachetfizic trebuie s disipeze de dou ori mai mult putere. Intel a rezolvataceast problem prin integrarea a dou nuclee dual-core i a unui cacheunificat în locul unui nucleu quad-core cu memorii cache separate. Astfel,se for eaz lucrul numai al unuia dintre cele dou nuclee, în loc de toatepatru deodat , mic orând puterea instantanee disipat de întregul procesor.

• Din punct de vedere al arhitecturii, procesoarele cu un singur nucleufolosesc mai eficient resursele de tranzistori de pe cip. Astfel, ocompanie care produce procesoare trebuie tot timpul s aib o linie deprocesoare cu un singur nucleu în paralel cu cele multinucleu.

Alya
Highlight
Page 41: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 59

• Exist mai mul i factori care limiteaz performan a real a unui sistemmultinucleu. În primul rând, magistralele de sistem i de memorie suntpartajate, astfel încât devin „gâtuiri” (bottlenecks) care limiteaz fluxulde date c tre nucleele multiple ale procesoarelor, în acela i mod în care oosea cu prea pu ine benzi de circula ie produce uneori blocaje.

Intel Core 2Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare

Intel pe 65 nm. Versiunea pentru desktop-uri a procesoarelor furnizeaz o cre terede 40% a performan ei i este cu peste 40% mai eficient din punct de vedere alconsumului de energie, în compara ie cu cel mai bun procesor Intel anterior.Potrivit anali tilor independen i, procesoarele câ tig 9 din cele 10 teste majore deperforman pentru desktop-uri, servere i calculatoare destinate jocurilor.

Familia de procesoare Intel Core 2 Duo este format din 5 procesoare pentruplatforme desktop destinate afacerilor, utiliz rii individuale i entuzia tilor pentrutehnologie, precum i din 5 procesoare pentru notebook-uri.

Familia de procesoare Intel Core 2 Duo este bazat pe micro-arhitectura IntelCore. Prin intermediul celor dou nuclee de execu ie, procesoarele pot executa cuvitez un num r mai mare de instruc iuni. De asemenea, procesoarele pot operamai rapid la lansarea simultan în execu ie a mai multor aplica ii, de exemplu,scrierea unui e-mail în acela i timp cu desc rcarea de muzic i scanarea antivirus.Procesoarele Dual-core contribuie la îmbun irea execu iei programelor, deexemplu, în cazul vizion rii unor clipuri high-definition sau al protej rii PC-ului întimpul tranzac iilor financiare pe Internet, crescând, de asemenea, autonomiabateriei în cazul notebook-urilor, care pot deveni astfel mai sub iri i mai u oare.

Inova iile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo iExteme) sunt urm toarele:

Intel Wide Dynamic Execution – îmbun te performan a i eficien a,întrucât fiecare nucleu de execu ie poate realiza pân la 4 instruc iuni simultan,folosind un pipeline eficient în 14 stagii.

Intel Smart Memory Access – îmbun te performan a sistemului,diminuând laten a cipurilor de memorie i optimizând astfel utilizarea l rgimii deband disponibile pentru furnizarea datelor c tre procesor când i unde este nevoie.

Intel Advanced Smart Cache – include o memorie cache L2 comun ,proiectat pentru a reduce consumul de energie prin mic orarea traficului dememorie, i m re te performan a, permi ând unui nucleu de execu ie s utilizezeîntreg cahe-ul atunci când cel lalt nucleu nu este folosit. Aceast func ie esteasigurat pentru toate segmentele de pia : server, desktop i notebook.

Intel Advanced Digital Media Boost – dubleaz efectiv viteza de execu ie ainstruc iunilor folosite cu prec dere în aplica iile grafice i multimedia.

Intel 64 Technology – aceast îmbun ire adus arhitecturii Intel pe 32 debi i ofer suport pentru procesarea pe 64 de bi i i permite procesorului s accesezeo cantitate mai mare de memorie.

Nucleul de execu ie al procesorului Intel Core este reprezentat în figura 2.40.Caracteristicile func ionale ale acestei arhitecturi sunt expuse în cele ce urmeaz .

Alya
Highlight
Page 42: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL60

Fig. 2.40. Nucleul de execu ie al procesorului Intel Core.

Unit ile de execu ie cu numere întregiIntel Core are trei asemenea unit i pe 64 bi i, fiecare dintre ele putând

realiza opera ii pe 64 bi i într-un singur ciclu. Exist i o unitate pe 64 bi i denumere complexe (CIU – Complex Integer Unit), care realizeaz în mare parteaceea i munc precum cea din P6, i dou unit i simple de numere întregi (SIU –Simple Integer Unit), pentru opera iile uzuale, cum ar fi adunarea. Una din unit ileSIU împarte portul 2 cu BEU (Branch Execution Unit), pe care Intel o nume teunitatea de salt în execu ie). Pe acest port, SIU este capabil s lucreze în tandem cuBEU pentru a executa instruc iuni macro (compara ii sau teste +jcc).

Posibilitatea de a realiza calcule pe 64 bi i într-un singur ciclu este opremier în arhitectura Intel ×86 i aceasta îl pune înaintea IBM, cu al s u PowerPC970, care are o laten de dou cicluri pentru opera ii cu numere întregi. În plus,datorit unit ilor ALU pe 64 bi i care sunt pe porturi separate, Intel Core poatemen ine un total de trei opera ii pe 64 bi i per ciclu.

Unit ile de execu ie în virgul mobilIntel Core are dou unit i de execu ie în virgul mobil , care se ocup de

ambele tipuri de opera ii aritmetice: scalare i vectoriale.Unitatea de execu ie de pe portul 1 se ocup cu adun ri sau cu alte opera ii

simple în virgul mobil , dup cum urmeaz :• scalar: simpl precizie (32 bi i) i dubl precizie (64 bi i);• vector: simpl precizie (4×) i dubl precizie (2×).

Alya
Highlight
Page 43: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 61

Unitatea de execu ie în virgul mobil de pe portul 2 se ocup cu înmul iri iîmp iri cu vectori i scalari în formatele listate mai sus.

Procesarea vectorial real pe 128 bi iArhitectura Intel Core asigur laten a de un ciclu pentru opera iile vectoriale

pe 128 bi i. Intel realizeaz acest lucru f când magistrala pentru virgul mobil icea intern de date cu l imea de 128 bi i, facilitate care înseamn c este necesardoar o singur micro-opera ie (care trebuie generat , trimis , programat irealizat ) pentru fiecare opera ie vectorial pe 128 bi i. De aceea, noul design nunumai c elimin dezavantajul generat de laten , dar în acela i timp îmbun tedecodarea i programarea l rgimii de band , pentru c jum tate din micro-opera iisunt generate pentru instruc iuni vectoriale de 128 bi i (vezi figura 2.41).

Fig. 2.41. Configura ia de procesare vectorial real pe 128 bi i.

Pipeline-ulIntel Core are un pipeline realizat în 14 stagii, la fel de lung ca la Power PC

970, aproximativ jum tate din cel de la Pentium 4 Prescott (~ 30 etape) i pu in mailung decât cel de la P6 (12 etape). Aceasta înseamn c Intel Core este proiectatpentru o cre tere lent a vitezei de ceas i nu scaleaz la fel de rapid ca Pentium 4.

Fereastra de instruc iuniDeoarece partea din spate este mult mai lat decât a predecesorilor, buffer-ul

de reorganizare (Reorder Buffer, ROB) a crescut la 96 de intr ri, de la 40 cât aveaPentium M, iar sta ia de rezervare (Reservation Station, RS) a fost m rit .

Fereastra de instruc iuni din Intel Core a fost m rit nu numai fizic (ROB +RS), ci i virtual. Macro-fuziunea i micro-opera iile (descrise anterior), permit luiIntel Core s re in mai multe instruc iuni cu un num r mai mic de resursehardware.

Alya
Highlight
Alya
Highlight
Page 44: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL62

Deoarece l imea execu iei a fost m rit considerabil, vechiul hardware dedecodare al lui P6 ar fi fost inadecvat pentru a ine restul procesorului ocupat cumicro-opera ii. Intel a trebuit s m reasc rata de decodare, în a a fel încât mai multemicro-opera ii/ciclu s ajung la final. Primul lucru pe care l-a f cut a fost s adaugeînc un decodor simplu i rapid, ceea ce înseamn c decodorul hardware poatetrimite pân la 7 instruc iuni pe ciclu în coada de a teptare ROB (vezi figura 2.42).

Fig. 2.42. Structura hardware pentru decodarea instruc iunilor din arhitectura Intel Core.

AMD Opteron Dual-coreÎn figura 2.43 este reprezentat arhitectura simplificat a procesorului

Opteron Dual-core.

Fig. 2.43. Arhitectura AMD Opteron Dual-core.

Alya
Highlight
Page 45: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 63

Tehnologic vorbind, AMD nu a realizat doar o simpl alipire a unei perechide nuclee K8 pe o bucat de siliciu, ci a efectuat o integrare la nivelul de baz ,astfel încât cele dou nuclee s poat ac iona împreun mai eficient. Fiecare dintrenucleele K8 are propriul s u cache L2, independent, încorporat, dar cele dounuclee împart o coad comun a cererilor de sistem, un controler de memorie DDRde tip dual-channel i un set de leg turi HyperTransport cu mediul exterior.

Accesul la resursele I/O este adjudecat printr-o re ea crossbar sau printr-unswitch, astfel încât fiecare CPU poate comunica direct i eficient cu memoria saucu dispozitivele I/O. În unele privin e, Opteron Dual-core se comport foarteasem tor unui sistem cu multiprocesare simetric on-chip, transferând date internîntre cele dou nuclee. Cu toate acestea, pentru restul infrastructurii I/O asistemului, Opteron Dual-core pare asemenea versiunii mononucleu.

Arhitectura de sistem pentru Opteron este foarte diferit de cea acompetitorului s u principal, Intel Xeon. Arhitectura AMD Direct Connect a fostsupra-dimensionat pentru procesorul Opteron mononucleu, anticipând viitoruldual-core. Fiecare procesor (mono- sau binucleu) are propriul s u controler dememorie DDR local de tip dual-channel, iar procesoarele comunic între ele i cucipurile I/O prin leg turi HyperTransport punct-la-punct, la frecven a de 1 GHz.

rgimea total de band posibil prin cei 940 de pini ai procesorului Opteron 875este de 30,4 GB/s. Cu o leg tur HyperTransport mai pu in, procesorul Opteron275 poate atinge, teoretic, viteza de 22,4 GB/s.

Prin contrast, procesoarele Xeon actuale au o magistral front-side (FSB)partajat , pe care lucreaz cipul Northbridge (cu controler de memorie) i ambeleprocesoare. La frecven a de 800 MHz, l rgimea total de band este de 6,4 GB/s,ceea ce poate fi un bottleneck în anumite situa ii.

AMD Phenom Triple-coreAMD are în produc ie un procesor cu trei motoare de procesare, proiectul

numindu-se AMD Phenom ×3 chip (vezi figura 2.44).

Fig. 2.44. Arhitectura AMD Phenom Triple-core.

Alya
Highlight
Page 46: ASC 2 Tipuri de Arhitecturi SUBLINIAT

ARHITECTURA SISTEMELOR DE CALCUL64

Noul microprocesor triple-core prezint propriul design i nu este un cipquad-core cu un core dezactivat. Totu i, cipurile includ 2 MB de cache L3 partajati beneficiaz de caracteristicile micro-arhitecturii K10, cum sunt setul de

instruc iuni SSE4A i unit ile de prelucrare în virgul mobil (FPU) de 128 bi i.Evident, cipurile dispun de posibilit i avansate de gestiune a puterii.

Potrivit unor estim ri ale laboratoarelor X-bit, fiecare motor al procesoarelorquad-core AMD Opteron/Phenom ocup aproximativ 13% din aria fizic acapsulei. Date fiind întreaga dimensiune de 285 mm² i num rul de aproximativ218 cipuri candidate ob inute din fiecare bucat de 300 mm, este neobi nuit faptul

AMD a decis dezvoltarea unui design triple-core cu aria fizic de 247 mm² i250 de cipuri candidate ob inute de pe o bucat de 300 mm. Tehnic, AMD poaterealiza u or microprocesoare cu un num r impar de motoare de procesare datoritarhitecturii sale Direct Connect. Cu versiunile sale Phenom i Athlon 64 ×2, AMDare de comb tut procesoarele Intel Core 2 (dual-core i quad-core).

Intel i AMD Quad-coreCa replic la lansarea CPU-urilor quad-core de la Intel, AMD a lansat

propria platform , Quad FX. Aceast platform este un sistem de multiprocesaresimetric , utilizând dou CPU-uri Athlon 64 FX dual-core. De aceea, un calculatorpersonal Quad FX are dou procesoare fizice dual-core care lucreaz în paralel,având în total, în sistem, patru nuclee CPU. Aceste dou CPU-uri suntinterconectate printr-o magistral coerent dedicat tehnologiei HyperTransport.

În CPU-urile quad-core de la Intel, nucleele sunt organizate în perechi.Nucleele fiec rei perechi pot interschimba informa ii direct (la fel se întâmpl laAMD dual-core i la Intel Core 2 Duo), dar pentru a schimba informa ii cu unuldintre nucleele localizate în cealalt pereche trebuie s acceseze magistrala externa CPU, ceea ce se întâmpl pe platforma Quad FX, unde CPU-urile comunic întreele folosind magistrala extern coerent HyperTransport.

Diferen a dintre platforma Quad FX i arhitectura utilizat de c treprocesoarele Intel quad-core se poate remarca în figurile 2.45 i 2.46.

Comparând cele dou arhitecturi, se poate observa c platforma Quad FXde ine un avantaj în ceea ce prive te accesul la memorie. Magistrala extern aCPU-ului Intel quad-core (Front Side Bus, FSB) este utilizat pentru a accesamemoria RAM i alte dispozitive prezente pe PC, precum i pentru comunicareaîntre perechile de nuclee, cu viteze de pân la 8 GB/s.

Pe platforma Quad FX, CPU-urile folosesc un canal de comunica ie dedicat(magistrala coerent HyperTransport), care transfer date cu pân la 4 GB/s înfiecare direc ie. Magistrala HyperTransport ofer dou canale de comunica ie, câteunul pentru fiecare direc ie. În procesoarele AMD, controlerul de memorie esteîncorporat în CPU i, ca urmare, memoria este accesat utilizând o magistraldedicat , separat de canalul folosit de c tre CPU pentru a accesa restul PC-ului.

Datorit faptului c platforma Quad FX folose te o arhitectur demultiprocesare simetric , fiecare CPU î i acceseaz propria memorie RAM.Procesoarele utilizate pe platforma Quad FX pot accesa, de asemenea, memoriacontrolat de un alt CPU.

Alya
Highlight
Page 47: ASC 2 Tipuri de Arhitecturi SUBLINIAT

Tipuri de arhitecturi 65

Fig. 2.45. Arhitectura Intel quad-core

Fig. 2.46. Arhitectura AMD Quad FX.

În ultima vreme, câ tig popularitate sistemele de tip embedded. Este vorbadespre conectarea în paralel a mai multor procesoare specializate, pe aceea i plac ,cu un scop bine definit. De exemplu, prelucrarea unui semnal audio (codare idecodare) în format mp3. Procesorul este adaptat s realizeze un num r restrâns deopera ii specifice, iar DSP-urile sunt capabile s ruleze aplica ii de sine st toare,care s ofere interfa cu utilizatorul, suport pentru memorare i transmitere.