37
Partial ASC – A - 798434_110154209165037_1630555905_o 2. Realizati o comparatie intre modelul arhitecturii matriceale de procesoare si modelul arhitecturii pipeline, construind schemele bloc corespunzatoare ale unor exemple particulare cu parametri la alegere. Modelul arhitecturii matriceale: Un procesor matriceal tipic - exista doua unitati functionale distincte: o unitate de control si sincronizare a elementelor de procesare (care are ca sarcina suplimentara efectuarea operatiilor cu scalari) si o unitate de prelucrare matriceala. Fiecare element de prelucrare (EP) reprezinta un element pasiv, adica, fara posibilitatea de a decodifica instructiuni. Încarcarea instructiunilor si decodarea lor (fazele IF si ID) pentru unitatea de prelucrare matriceala este efectuata de catre unitatea de control, prin intermediul unei retele de interconectare între EP. Fiecare element de prelucrare este alcatuit dintr-o unitate ALU, registre si memorie locala, iar conexiunea dintre elemente este realizata într-o arhitectura de tip NUMA. Pentru o sesiune de lucru specifica, unitatea de control stabileste functia ALU pentru fiecare EP, dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizând reteaua de interconectare). Programarea CM este mult mai dificila decât programarea CPL.

Partial ASC

Embed Size (px)

Citation preview

Page 1: Partial ASC

Partial ASC ndash A - 798434_110154209165037_1630555905_o

2 Realizati o comparatie intre modelul arhitecturii matriceale de procesoare si modelul arhitecturii pipeline construind schemele bloc corespunzatoare ale unor exemple particulare cu parametri la alegere

Modelul arhitecturii matricealeUn procesor matriceal tipic - exista doua unitati functionale distincte o unitate de control si

sincronizare a elementelor de procesare (care are ca sarcina suplimentara efectuarea operatiilor cu scalari) si o unitate de prelucrare matriceala Fiecare element de prelucrare (EP) reprezinta un element pasiv adica fara posibilitatea de a decodifica instructiuni

Icircncarcarea instructiunilor si decodarea lor (fazele IF si ID) pentru unitatea de prelucrare matriceala este efectuata de catre unitatea de control prin intermediul unei retele de interconectare icircntre EP Fiecare element de prelucrare este alcatuit dintr-o unitate ALU registre si memorie locala iar conexiunea dintre elemente este realizata icircntr-o arhitectura de tip NUMA

Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare) Programarea CM este mult mai dificila decacirct programarea CPL

Modelul arhitecturii pipelineUn calculator pipeline utilizeaza paralelismul temporar Cele mai multe dintre procesoarele

actuale au structura interna bazata pe tehnologia pipeline si multe dintre acestea pot fi organizate icircn sisteme matriceale sau multiprocesor

Executia unei instructiuni presupune patru faze majore icircncarcarea instructiunii ndash IF decodarea instructiunii ndash ID icircncarcarea operanzilor ndash OF si executia efectiva ndash EX Icircn procesoarele non-pipeline aceste faze se desfasoara secvential iar icircn procesoarele pipeline se desfasoara cu paralelism temporalPentru procesoare complexe faza de executie a instructiunii poate fi partajata icircn suboperatii organizate dupa principiul pipeline Problemele care apar icircn calculatoarele pipeline sunt datorate conflictelor de acces la memorie salturilor si icircntreruperilor

Datorita suprapunerii operatiilor calculatoarele pipeline (CPL) sunt optimizate pentru a efectua operatii de acelasi tip Ori de cacircte ori se modifica tipul operatiei (instructiunii) registrele pipeline trebuie sterse si reicircncarcate si ca urmare se consuma timp suplimentar Proiectarea CPL include secventializarea sarcinilor (task-urilor) prevenirea conflictelor de acces (coliziunilor) controlul congestiei si controlul salturilor icircn program

Icircn schema de mai sus exista doua structuri pipeline una pentru date scalare si una pentru date vectoriale Faza de icircncarcare a operatiilor este icircmpartita icircn doua subfaze independente corespunzatoare operarii cu scalari sau cu vectori Faza de executie se desfasoara icircn doua procesoare distincte asociate scalarilor sau vectorilor

3 Explicati in ce consta structura superscalara a unui microprocesor folosind drept studiu de caz una dintre schemele de arhitecturi prezentate in manual sau orice alt caz de proiectare care se incadreaza in cerinte

Arhitectura superscalar a Icircn arhitectura superscalara siruri de instructiuni diferite (de obicei doua eventual mai multe)

utilizeaza resurse diferite icircn aceleasi stadii de executie a instructiunilor de pe fiecare sirUn exemplu particular de arhitectura superscalara este prezentat icircn figura 222

Structura superscalara cu tehnica de burst (citire icircn rafale) este folosita icircncepacircnd cu microprocesorul 80486 si este corelata cu momentul introducerii icircn capsula procesorului a memoriei cache de nivel 1

Tehnica burst foloseste aceasta memorie pentru a citi blocuri de instructiuni din memoria cache instructiuni care au fost icircncarcate acolo din memoria principala (MP) icircn mod secvential (vezi figura 223) Icircn acest mod se citesc dintr-o data fie doua fie patru cuvinte icircn functie de dimensiunea instructiunii (pe 32 sau 16 biti)

S-a folosit initial o magistrala interna icircntre cache si decodificatorul de instructiuni de 64 biti ajungacircndu-se icircn prezent la 128 de biti

Exemplu Schema din figura 224 reprezinta o arhitectura superscalara cu trei siruri de instructiuni diferite Se executa icircn acelasi timp o operatie cu numere reale si doua operatii cu numere icircntregi Fiecare unitate este de tip pipeline si poate executa cacircteva operatii icircn diferite stagii pipeline

4 Care sunt asemanarile si deosebirile dintre formatele fizice DIMM si RIMM ale memoriilor RAM Cum se determina performantele de lucru pentru fiecare in parte

DIMM (Double In-line Memory Modules)Sunt module de memorie cu latimea magistralei de 64 de biti folosite la implementarea

memoriilor SDRAM si DDR SDRAM (vezi figura 322) DIMMurile SDRAM folosesc 168 de pini pe cacircnd cele DDR SDRAM au 184 de pini Ele mai difera si prin numarul fantelor de pe partea inferioara cele SDRAM avacircnd doua iar cele DDR numai una Din punct de vedere al designului si al tensiunii de alimentare exista 4 variante de DIMM-uri de 33V sau 5V si cu buffer (buffered) sau fara buffer (unbuffered) Cele mai des icircntacirclnite sunt de tipul 33V fara buffer

RIMM (Rambus In-line Memory Modules)Este tipul de icircncapsulare folosit la memorii Rambus Este foarte asemanator DIMM-ului dar

foloseste setari diferite ale pinilor Se remarca prin prezenta de radiatoare pe ambele fete ale modulului de memorie pentru a preveni icircncalzirea excesiva a acestuia Se prezinta si icircn varianta XDIMM

5 Care sunt caracteristicile memoriei de tip S-DRAM care se constituie in avantaje ale acesteia fata de alte formate de memorie Exemplificati prin diagrama de timp a unei operatii de citire cu parametrii la alegere

Ca si microprocesoarele superscalare cipurile SDRAM sunt realizate cu stagii de operare multiple si independente astfel icircncacirct cipul poate sa acceseze o a doua adresa icircnainte de a icircncheia procesarea primei adrese Cipurile SDRAM au rata de transfer foarte ridicata Interfata si pipeline-ul determina timpi de transfer de ordinul nanosecundelor ceea ce le permite utilizarea pentru magistrale de memorie de 100 MHz Cipurile actuale au anumite limite care reduc viteza la aproape 66 MHz SDRAM-urile nu pot opera la viteze mai mari de 100 MHz pentru ca sloturile SIMM-urilor devin nesigure la frecvente mai mari Structura favorizeaza operatiile icircn regim burst Se poate programa numarul de locatii dintr-un burst la valorile de 1 2 4 8 octeti sau o pagina de memorie

Accesul icircncepe la o adresa specificata si continua cu adresele succesive pacircna la numarul de locatii programate Circuitul de memorie accepta mai multe tipuri de comenzi fiecare fiind specificata printr-o combinatie a semnalelor de intrare

ASC partea I ndash C - DSC00496

2 Dati 2 exemple de arhitecturi (cu parametri la alegere) care combina(la nivele diferite) structuri de paralelism spatial si sincron

Procesoarele matriceale se bazeaza pe mai multe unitati ALU sincronizate pentru a atinge un paralelism spatial In acelasi timp ele apeleaza si la un paralelism sincron (blocuri comandate printr-un unice semnal de ceas)

Procesoarele matriceale sunt alcatuite dintr-o unitate de control si sincronizare a elementelor de procesare si o unitate de prelucrare matriceala

Ex De arhitecturi NUMA si CC-NUMA

3 Specificati diferentele de structura functionare si performanta dintre procesorul Intel Pentium 4 si procesorul AMD Opteron Dati pentru fiecare din cele 2 procesoare un exemplu de aplicatie in care rezultatele sunt optime

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 2: Partial ASC

Modelul arhitecturii pipelineUn calculator pipeline utilizeaza paralelismul temporar Cele mai multe dintre procesoarele

actuale au structura interna bazata pe tehnologia pipeline si multe dintre acestea pot fi organizate icircn sisteme matriceale sau multiprocesor

Executia unei instructiuni presupune patru faze majore icircncarcarea instructiunii ndash IF decodarea instructiunii ndash ID icircncarcarea operanzilor ndash OF si executia efectiva ndash EX Icircn procesoarele non-pipeline aceste faze se desfasoara secvential iar icircn procesoarele pipeline se desfasoara cu paralelism temporalPentru procesoare complexe faza de executie a instructiunii poate fi partajata icircn suboperatii organizate dupa principiul pipeline Problemele care apar icircn calculatoarele pipeline sunt datorate conflictelor de acces la memorie salturilor si icircntreruperilor

Datorita suprapunerii operatiilor calculatoarele pipeline (CPL) sunt optimizate pentru a efectua operatii de acelasi tip Ori de cacircte ori se modifica tipul operatiei (instructiunii) registrele pipeline trebuie sterse si reicircncarcate si ca urmare se consuma timp suplimentar Proiectarea CPL include secventializarea sarcinilor (task-urilor) prevenirea conflictelor de acces (coliziunilor) controlul congestiei si controlul salturilor icircn program

Icircn schema de mai sus exista doua structuri pipeline una pentru date scalare si una pentru date vectoriale Faza de icircncarcare a operatiilor este icircmpartita icircn doua subfaze independente corespunzatoare operarii cu scalari sau cu vectori Faza de executie se desfasoara icircn doua procesoare distincte asociate scalarilor sau vectorilor

3 Explicati in ce consta structura superscalara a unui microprocesor folosind drept studiu de caz una dintre schemele de arhitecturi prezentate in manual sau orice alt caz de proiectare care se incadreaza in cerinte

Arhitectura superscalar a Icircn arhitectura superscalara siruri de instructiuni diferite (de obicei doua eventual mai multe)

utilizeaza resurse diferite icircn aceleasi stadii de executie a instructiunilor de pe fiecare sirUn exemplu particular de arhitectura superscalara este prezentat icircn figura 222

Structura superscalara cu tehnica de burst (citire icircn rafale) este folosita icircncepacircnd cu microprocesorul 80486 si este corelata cu momentul introducerii icircn capsula procesorului a memoriei cache de nivel 1

Tehnica burst foloseste aceasta memorie pentru a citi blocuri de instructiuni din memoria cache instructiuni care au fost icircncarcate acolo din memoria principala (MP) icircn mod secvential (vezi figura 223) Icircn acest mod se citesc dintr-o data fie doua fie patru cuvinte icircn functie de dimensiunea instructiunii (pe 32 sau 16 biti)

S-a folosit initial o magistrala interna icircntre cache si decodificatorul de instructiuni de 64 biti ajungacircndu-se icircn prezent la 128 de biti

Exemplu Schema din figura 224 reprezinta o arhitectura superscalara cu trei siruri de instructiuni diferite Se executa icircn acelasi timp o operatie cu numere reale si doua operatii cu numere icircntregi Fiecare unitate este de tip pipeline si poate executa cacircteva operatii icircn diferite stagii pipeline

4 Care sunt asemanarile si deosebirile dintre formatele fizice DIMM si RIMM ale memoriilor RAM Cum se determina performantele de lucru pentru fiecare in parte

DIMM (Double In-line Memory Modules)Sunt module de memorie cu latimea magistralei de 64 de biti folosite la implementarea

memoriilor SDRAM si DDR SDRAM (vezi figura 322) DIMMurile SDRAM folosesc 168 de pini pe cacircnd cele DDR SDRAM au 184 de pini Ele mai difera si prin numarul fantelor de pe partea inferioara cele SDRAM avacircnd doua iar cele DDR numai una Din punct de vedere al designului si al tensiunii de alimentare exista 4 variante de DIMM-uri de 33V sau 5V si cu buffer (buffered) sau fara buffer (unbuffered) Cele mai des icircntacirclnite sunt de tipul 33V fara buffer

RIMM (Rambus In-line Memory Modules)Este tipul de icircncapsulare folosit la memorii Rambus Este foarte asemanator DIMM-ului dar

foloseste setari diferite ale pinilor Se remarca prin prezenta de radiatoare pe ambele fete ale modulului de memorie pentru a preveni icircncalzirea excesiva a acestuia Se prezinta si icircn varianta XDIMM

5 Care sunt caracteristicile memoriei de tip S-DRAM care se constituie in avantaje ale acesteia fata de alte formate de memorie Exemplificati prin diagrama de timp a unei operatii de citire cu parametrii la alegere

Ca si microprocesoarele superscalare cipurile SDRAM sunt realizate cu stagii de operare multiple si independente astfel icircncacirct cipul poate sa acceseze o a doua adresa icircnainte de a icircncheia procesarea primei adrese Cipurile SDRAM au rata de transfer foarte ridicata Interfata si pipeline-ul determina timpi de transfer de ordinul nanosecundelor ceea ce le permite utilizarea pentru magistrale de memorie de 100 MHz Cipurile actuale au anumite limite care reduc viteza la aproape 66 MHz SDRAM-urile nu pot opera la viteze mai mari de 100 MHz pentru ca sloturile SIMM-urilor devin nesigure la frecvente mai mari Structura favorizeaza operatiile icircn regim burst Se poate programa numarul de locatii dintr-un burst la valorile de 1 2 4 8 octeti sau o pagina de memorie

Accesul icircncepe la o adresa specificata si continua cu adresele succesive pacircna la numarul de locatii programate Circuitul de memorie accepta mai multe tipuri de comenzi fiecare fiind specificata printr-o combinatie a semnalelor de intrare

ASC partea I ndash C - DSC00496

2 Dati 2 exemple de arhitecturi (cu parametri la alegere) care combina(la nivele diferite) structuri de paralelism spatial si sincron

Procesoarele matriceale se bazeaza pe mai multe unitati ALU sincronizate pentru a atinge un paralelism spatial In acelasi timp ele apeleaza si la un paralelism sincron (blocuri comandate printr-un unice semnal de ceas)

Procesoarele matriceale sunt alcatuite dintr-o unitate de control si sincronizare a elementelor de procesare si o unitate de prelucrare matriceala

Ex De arhitecturi NUMA si CC-NUMA

3 Specificati diferentele de structura functionare si performanta dintre procesorul Intel Pentium 4 si procesorul AMD Opteron Dati pentru fiecare din cele 2 procesoare un exemplu de aplicatie in care rezultatele sunt optime

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 3: Partial ASC

3 Explicati in ce consta structura superscalara a unui microprocesor folosind drept studiu de caz una dintre schemele de arhitecturi prezentate in manual sau orice alt caz de proiectare care se incadreaza in cerinte

Arhitectura superscalar a Icircn arhitectura superscalara siruri de instructiuni diferite (de obicei doua eventual mai multe)

utilizeaza resurse diferite icircn aceleasi stadii de executie a instructiunilor de pe fiecare sirUn exemplu particular de arhitectura superscalara este prezentat icircn figura 222

Structura superscalara cu tehnica de burst (citire icircn rafale) este folosita icircncepacircnd cu microprocesorul 80486 si este corelata cu momentul introducerii icircn capsula procesorului a memoriei cache de nivel 1

Tehnica burst foloseste aceasta memorie pentru a citi blocuri de instructiuni din memoria cache instructiuni care au fost icircncarcate acolo din memoria principala (MP) icircn mod secvential (vezi figura 223) Icircn acest mod se citesc dintr-o data fie doua fie patru cuvinte icircn functie de dimensiunea instructiunii (pe 32 sau 16 biti)

S-a folosit initial o magistrala interna icircntre cache si decodificatorul de instructiuni de 64 biti ajungacircndu-se icircn prezent la 128 de biti

Exemplu Schema din figura 224 reprezinta o arhitectura superscalara cu trei siruri de instructiuni diferite Se executa icircn acelasi timp o operatie cu numere reale si doua operatii cu numere icircntregi Fiecare unitate este de tip pipeline si poate executa cacircteva operatii icircn diferite stagii pipeline

4 Care sunt asemanarile si deosebirile dintre formatele fizice DIMM si RIMM ale memoriilor RAM Cum se determina performantele de lucru pentru fiecare in parte

DIMM (Double In-line Memory Modules)Sunt module de memorie cu latimea magistralei de 64 de biti folosite la implementarea

memoriilor SDRAM si DDR SDRAM (vezi figura 322) DIMMurile SDRAM folosesc 168 de pini pe cacircnd cele DDR SDRAM au 184 de pini Ele mai difera si prin numarul fantelor de pe partea inferioara cele SDRAM avacircnd doua iar cele DDR numai una Din punct de vedere al designului si al tensiunii de alimentare exista 4 variante de DIMM-uri de 33V sau 5V si cu buffer (buffered) sau fara buffer (unbuffered) Cele mai des icircntacirclnite sunt de tipul 33V fara buffer

RIMM (Rambus In-line Memory Modules)Este tipul de icircncapsulare folosit la memorii Rambus Este foarte asemanator DIMM-ului dar

foloseste setari diferite ale pinilor Se remarca prin prezenta de radiatoare pe ambele fete ale modulului de memorie pentru a preveni icircncalzirea excesiva a acestuia Se prezinta si icircn varianta XDIMM

5 Care sunt caracteristicile memoriei de tip S-DRAM care se constituie in avantaje ale acesteia fata de alte formate de memorie Exemplificati prin diagrama de timp a unei operatii de citire cu parametrii la alegere

Ca si microprocesoarele superscalare cipurile SDRAM sunt realizate cu stagii de operare multiple si independente astfel icircncacirct cipul poate sa acceseze o a doua adresa icircnainte de a icircncheia procesarea primei adrese Cipurile SDRAM au rata de transfer foarte ridicata Interfata si pipeline-ul determina timpi de transfer de ordinul nanosecundelor ceea ce le permite utilizarea pentru magistrale de memorie de 100 MHz Cipurile actuale au anumite limite care reduc viteza la aproape 66 MHz SDRAM-urile nu pot opera la viteze mai mari de 100 MHz pentru ca sloturile SIMM-urilor devin nesigure la frecvente mai mari Structura favorizeaza operatiile icircn regim burst Se poate programa numarul de locatii dintr-un burst la valorile de 1 2 4 8 octeti sau o pagina de memorie

Accesul icircncepe la o adresa specificata si continua cu adresele succesive pacircna la numarul de locatii programate Circuitul de memorie accepta mai multe tipuri de comenzi fiecare fiind specificata printr-o combinatie a semnalelor de intrare

ASC partea I ndash C - DSC00496

2 Dati 2 exemple de arhitecturi (cu parametri la alegere) care combina(la nivele diferite) structuri de paralelism spatial si sincron

Procesoarele matriceale se bazeaza pe mai multe unitati ALU sincronizate pentru a atinge un paralelism spatial In acelasi timp ele apeleaza si la un paralelism sincron (blocuri comandate printr-un unice semnal de ceas)

Procesoarele matriceale sunt alcatuite dintr-o unitate de control si sincronizare a elementelor de procesare si o unitate de prelucrare matriceala

Ex De arhitecturi NUMA si CC-NUMA

3 Specificati diferentele de structura functionare si performanta dintre procesorul Intel Pentium 4 si procesorul AMD Opteron Dati pentru fiecare din cele 2 procesoare un exemplu de aplicatie in care rezultatele sunt optime

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 4: Partial ASC

Exemplu Schema din figura 224 reprezinta o arhitectura superscalara cu trei siruri de instructiuni diferite Se executa icircn acelasi timp o operatie cu numere reale si doua operatii cu numere icircntregi Fiecare unitate este de tip pipeline si poate executa cacircteva operatii icircn diferite stagii pipeline

4 Care sunt asemanarile si deosebirile dintre formatele fizice DIMM si RIMM ale memoriilor RAM Cum se determina performantele de lucru pentru fiecare in parte

DIMM (Double In-line Memory Modules)Sunt module de memorie cu latimea magistralei de 64 de biti folosite la implementarea

memoriilor SDRAM si DDR SDRAM (vezi figura 322) DIMMurile SDRAM folosesc 168 de pini pe cacircnd cele DDR SDRAM au 184 de pini Ele mai difera si prin numarul fantelor de pe partea inferioara cele SDRAM avacircnd doua iar cele DDR numai una Din punct de vedere al designului si al tensiunii de alimentare exista 4 variante de DIMM-uri de 33V sau 5V si cu buffer (buffered) sau fara buffer (unbuffered) Cele mai des icircntacirclnite sunt de tipul 33V fara buffer

RIMM (Rambus In-line Memory Modules)Este tipul de icircncapsulare folosit la memorii Rambus Este foarte asemanator DIMM-ului dar

foloseste setari diferite ale pinilor Se remarca prin prezenta de radiatoare pe ambele fete ale modulului de memorie pentru a preveni icircncalzirea excesiva a acestuia Se prezinta si icircn varianta XDIMM

5 Care sunt caracteristicile memoriei de tip S-DRAM care se constituie in avantaje ale acesteia fata de alte formate de memorie Exemplificati prin diagrama de timp a unei operatii de citire cu parametrii la alegere

Ca si microprocesoarele superscalare cipurile SDRAM sunt realizate cu stagii de operare multiple si independente astfel icircncacirct cipul poate sa acceseze o a doua adresa icircnainte de a icircncheia procesarea primei adrese Cipurile SDRAM au rata de transfer foarte ridicata Interfata si pipeline-ul determina timpi de transfer de ordinul nanosecundelor ceea ce le permite utilizarea pentru magistrale de memorie de 100 MHz Cipurile actuale au anumite limite care reduc viteza la aproape 66 MHz SDRAM-urile nu pot opera la viteze mai mari de 100 MHz pentru ca sloturile SIMM-urilor devin nesigure la frecvente mai mari Structura favorizeaza operatiile icircn regim burst Se poate programa numarul de locatii dintr-un burst la valorile de 1 2 4 8 octeti sau o pagina de memorie

Accesul icircncepe la o adresa specificata si continua cu adresele succesive pacircna la numarul de locatii programate Circuitul de memorie accepta mai multe tipuri de comenzi fiecare fiind specificata printr-o combinatie a semnalelor de intrare

ASC partea I ndash C - DSC00496

2 Dati 2 exemple de arhitecturi (cu parametri la alegere) care combina(la nivele diferite) structuri de paralelism spatial si sincron

Procesoarele matriceale se bazeaza pe mai multe unitati ALU sincronizate pentru a atinge un paralelism spatial In acelasi timp ele apeleaza si la un paralelism sincron (blocuri comandate printr-un unice semnal de ceas)

Procesoarele matriceale sunt alcatuite dintr-o unitate de control si sincronizare a elementelor de procesare si o unitate de prelucrare matriceala

Ex De arhitecturi NUMA si CC-NUMA

3 Specificati diferentele de structura functionare si performanta dintre procesorul Intel Pentium 4 si procesorul AMD Opteron Dati pentru fiecare din cele 2 procesoare un exemplu de aplicatie in care rezultatele sunt optime

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 5: Partial ASC

Accesul icircncepe la o adresa specificata si continua cu adresele succesive pacircna la numarul de locatii programate Circuitul de memorie accepta mai multe tipuri de comenzi fiecare fiind specificata printr-o combinatie a semnalelor de intrare

ASC partea I ndash C - DSC00496

2 Dati 2 exemple de arhitecturi (cu parametri la alegere) care combina(la nivele diferite) structuri de paralelism spatial si sincron

Procesoarele matriceale se bazeaza pe mai multe unitati ALU sincronizate pentru a atinge un paralelism spatial In acelasi timp ele apeleaza si la un paralelism sincron (blocuri comandate printr-un unice semnal de ceas)

Procesoarele matriceale sunt alcatuite dintr-o unitate de control si sincronizare a elementelor de procesare si o unitate de prelucrare matriceala

Ex De arhitecturi NUMA si CC-NUMA

3 Specificati diferentele de structura functionare si performanta dintre procesorul Intel Pentium 4 si procesorul AMD Opteron Dati pentru fiecare din cele 2 procesoare un exemplu de aplicatie in care rezultatele sunt optime

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 6: Partial ASC

ASC partea I ndash C - DSC00748

2 Dati exemple de mecanisme de prelucrare paralela care recurg la solutii hardware cu paralelism spatial

Procesoarele clasice aveau o singura unitate de tip ALU Icircn acest fel nu se efectua decacirct o singura operatie la un moment dat Prin multiplicarea ALU majoritatea functiilor pot fi distribuite icircntre unitatile specializate pe o anumita functie aritmetica sau logica si pot functiona icircn paralel Icircn unele procesoare exista doua ALU care pot lucra icircn paralel (o unitate pentru aritmetica icircn virgula fixa si alta pentru aritmetica icircn virgula mobila) Ideea specializarii funcaionale si a distribuirii si multiplicarii ALU (numite si unitati functionale) poate fi extinsa atacirct la sistemele multiprocesor cacirct si la cele matriceale Acest mecanism constituie de fapt implementarea paralelismului la sistemele SISD

Icircn timp ce o instructiune este executata de o anumita unitate ALU unitatea de comanda icircncarca si decodifica o alta instructiune pe care o icircncredinteaza unei alte unitati ALU

3 Explicati modul de alocare a memoriei partajate la sistemele de tip SIMD

4 Aratati in ce consta arhitectura magistralei de sistem pentru microprocesorul AMD Athlon Model 4 (Thunderbird)

5 Explicati in ce consta arhitectura superscalara a microprocesorului Intel IA-64 Itanium

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 7: Partial ASC

6 Care sunt diferentele intre formatele logice de memorie EDO si BEDO DRAM

EDO DRAMMemoria EDO lucreaza cel mai bine icircn combinatie cu o memorie cache Icircn esenta EDO este o

varianta a memorie Fast Page Mode (care permite accesul repetat la bitii din cadrul unei pagini de memorie fara a genera icircntacircrzieri)

Icircn timp ce memoria conventionala se descarca dupa fiecare operatie de citire si necesita timp de reicircncarcare icircnainte de a fi citita din nou EDO pastreaza datele pacircna cacircnd primeste un alt semnal Memoria EDO modifica cuanta de timp alocata pentru semnalul CAS Linia de date mai ramacircne activa un interval scurt de timp dupa ce linia CAS este dezactivata Se elimina astfel timpul de asteptare necesar pentru un ciclu separat de citirescriere deci se pot citi sau scrie date la viteza cu care cipul poate sa selecteze adresele

La cele mai multe cipuri este ceruta icircn mod normal o asteptare de 10 ns icircntre emiterea adreselor de coloana Modelul EDO elimina aceasta icircntacircrziere permitacircnd memoriei sa furnizeze mai repede datele solicitate Teoretic EDO poate sa creasca performantele cu 50ndash60 dar la modelele mai recente de calculatoare cele mai bune implementari au condus la o crestere a performantelor cu 10ndash20

Fizic cipurile EDO si SIMM par identice dar pentru a implementa EDO este necesar un sistem complet diferit de gestiune (management) a memoriei care sa se potriveasca cu tehnologia memoriei (BIOS-ul icircn special) Astfel se pot instala SIMM-uri EDO icircn majoritatea calculatoarelor dar vor functiona ca memorie obisnuita si nu vor contribui la o crestere a performantei

Icircn aplicatiile multimedia diferenta icircntre memoria cache si EDO nu este notabila astfel ca EDO poate fi considerat ca o alternativa la memoria cache secundara La sfacircrsitul anului 1995 icircnlocuirea memoriei FPM cu EDO devenise cea mai comuna forma de reducere a timpului de acces la memorie Diferenta dintre cele doua memorii este mica astfel icircncacirct multe calculatoare create pentru memoria FPM accepta si memoria EDO desi nu cacircstiga icircn performanta Cu toate ca FPM nu poate imita EDO calculatoarele actuale pot determina ce fel de memorie s-a instalat lucracircnd cu ea icircn mod adecvat Pentru o rata de transfer data memoria EDO va fi cu 30 mai rapida decacirct memoria FPM

Exemplu Acolo unde un cip page mode de 70 ns are starea de asteptare zero la o frecventa a magistralei de 25 MHz un cip EDO poate opera la stare de asteptare zero pentru o frecventa a magistralei de 33 MHz

BEDO DRAMPentru a cacircstiga mai multa viteza cu EDO Micron Technology a adaugat circuite cipului pentru

a-l face compatibil cu modul burst folosit de microprocesoarele Intel icircncepacircnd cu 486 Noul cip numit Burst EDO DRAM realizeaza toate operatiile de citire si scriere icircn serii de cacircte patru cicluri numite burst

Aceeasi tehnologie este regasita sub numele generic de pipeline nibble mode DRAM pentru ca transferul datelor se realizeaza icircn serii de cacircte patru cicluri pe pipeline Cipul functioneaza ca un EDO sau ca un page mode DRAM atunci cacircnd linia CAS devine activa dar icircn loc sa transfere un octet de date un numarator binar transmite un semnal de patru ori icircn interiorul cipului fiecare semnal transferacircnd un octet de date

BEDO este relativ usor de fabricat pentru ca necesita un minim de schimbari fata de memoria EDO sau page mode DRAM Cipul de siliciu contine un fuzibil care determina daca cipul functioneaza ca EDO sau BEDO Cipul isi poate schimba starea icircn mod ireversibil prin arderea fuzibilului Tehnologia BEDO este capabila sa opereze la o viteza a magistralei de 66 MHz cu stari de asteptare zero la un timp de transfer de 52 ns

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 8: Partial ASC

7 In ce constau avantajul si dezavantajul conectarii seriale a memoriei cache cu microprocesorul si RAM-ul

Conectarea seriala (look through) ndash presupune ca dialogul microprocesorndashRAM sa se desfasoare prin intermediul cache-ului Acest sistem are dezavantajul ca cererile procesorului sunt icircntacircrziate de intermediarul cache dar are avantajul ca magistrala memoriei nu este ocupata la fiecare cerere a procesorului Daca datele solicitate se afla icircn cache (cache hit) interogarea memoriei RAM nu se mai efectueaza iar magistrala memoriei ramacircne libera

Conectarea paralela (look aside) ndash presupune ca microprocesorul sa se adreseze icircn paralel atacirct memoriei cache cacirct si memoriei RAM Icircn cazul icircn care ecoul din partea cache-ului este pozitiv adresarea catre RAM este abandonata De aici rezulta fata de metoda anterioara avantajul vitezei evitacircndu-se cautarea secventiala icircntacirci icircn cache apoi icircn RAM Dezavantajul apare prin faptul ca magistrala memoriei este tot timpul folosita si astfel nu mai este disponibila ndash icircn momentele de scanare a memoriei ndash altor accesari din partea perifericelor Mai ales icircn modul multitasking acest lucru se reflecta icircn icircntacircrzieri semnificative ale vitezei de executie a diferitelor sarcini

Partial ASC ndash C - Partial ASC Radescu CD

2 Care sunt tipurile de magistrale prezente in arhitectura IBM RS6000-F50 si care este rolul fiecareia Care sunt caracteristicile procesoarelor folosite

IBM RS6000-F50 cuprinde intre 1 si 4 procesoare PowerPC cu cache extern are o magistrala de 64 de biti si procesorul de arhitectura superscalara ce poate executa pana la 4 instructiuni

3 Detaliati categoriile de interconectari din schema arhitecturii unui calculator multiprocesor si comparati-le cu cele de la arhitectura matriceala

Structura de interconectare icircntre procesoare si icircntre procesoare si resursele comune determina organizarea sistemului multiprocesor Exista trei mari categorii de interconectari

1 partajarea unei magistrale comune (bus)2 utilizarea unei retele de interconectare totala (crossbar)3 utilizarea unei memorii multiport (ca memorie comuna duala)

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 9: Partial ASC

In cazul arhitecturii matriceale exista o singura retea de interconectare a elementelor de prelucrare care se ocupa cu rularea datelor Pentru o sesiune de lucru specifica unitatea de control stabileste functia ALU pentru fiecare EP dupa care transfera operanzi din exterior catre memoriile locale ale EP si rezultatele de la un EP spre alt EP (utilizacircnd reteaua de interconectare)

4 Explicati conceptul de executie out-of-order si analizati aplicarea acestuia la micro-arhitectura Intel NetBurst pentru Pentium 4 Exemplu concret

5 Care sunt avantajele folosirii arhitecturii Direct Connect in cazul procesorului AMD Opteron Cum se regaseste acest concept la AMD Athlon XP

Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cu cipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

6 Descrieti modul de operare al memoriei RDRAM atat la scriere cat si la citire Dati cate un exemplu pentru fiecare din cele 2 operatii

Accesul la memorie se face icircn mod inteligent incluzacircnd functia de preicircncarcare a datelor iar citirea acestora se face icircn pachete mici la viteze ridicate ale semnalului de ceas Viteza Rambus este izolata de microprocesor si ramacircne constanta indiferent de viteza microprocesorului

Figura prezinta doua operatii una de citire si cealalta de scriere dinicircn memorie pentru a ilustra lucrul simultan cu doar jumatate din bancurile disponibile Modul de functionare este urmatorul Atunci cacircnd procesorul citeste un dualoct de 16 octeti dintr-un banc datele respective parasesc bancul si patrund icircn amplificatoarele de semnal (numerotate) care sunt plasate de o parte si de alta a bancurilor de memorie Data A si Data B reprezinta doua jumatati ale unui dualoct (cu 8 octeti fiecare) care parasesc bancul de memorie pe cai separate asa cum se observa icircn figura Cele doua magistrale care icircncadreaza bancurile de memorie au fiecare o latime de 8 octeti deci jumatatea dualoctului reprezentata de Data A se va transfera pe magistrala din dreapta iar cea reprezentata de Data B pe magistrala din stacircnga

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 10: Partial ASC

7 Explicati functiile blocului TAG RAM din structura unei memorii cache Care este rolul sau in procesul de rescriere a continutului cache-ului

TAG RAM este un chip de marcare a zonelor de memorie cache El joaca rol de contor al frecventei de apelare a datelor din cache determinandu-se datele care vor fi rescrise

Partial ASC ndash D - Partial ASC Radescu CD

2 Comparati arhitectura MIMD si arhitectura SIMD cu ALU vectoriala Analizati comportarea lor in cazul unei aplicatii de compresie de imagini

Arhitectura SIMDCaracteristicimiddot exista mai multe UP datorita sirului de date multiplu preluat din memoria partajata (memoria

icircmpartita icircn mai multe memorii)middot corespunde matricelor de microprocesoare UP identice si supervizate de o singura UCmiddot toate UP primesc instructiunile (setul unic de instructiuni) care actioneaza asupra unor seturi

de date diferite provenite din siruri diferite de date SD1 SDnmiddot masinile SIMD pot efectua doua tipuri de prelucrari pe cuvacircnt (wordslice) si pe bit (bit-slice)

Aceste tipuri de masini lucreaza foarte bine pe seturi de date formate de matrice de dimensiuni foarte mari atunci cacircnd este necesar sa se execute asupra lor aceeasi operatie Masinile SIMD sunt eficiente si icircn cazul procesarii retelelor neurale

Limitarile arhitecturii SIMD

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 11: Partial ASC

Aceste tipuri de masini sunt destul de scumpe icircn ceea ce priveste costurile de productie deoarece bancurile de procesoare nu sunt componente standard Chiar daca numarul celor care au nevoie de astfel de masini este icircn continua crestere acestia nu sunt destul de numerosi pentru a justifica existenta unor fabrici dedicate exclusiv productiei de SIMD-uri Icircn consecinta aceste masini sunt icircn general facute la comanda si costa foarte mult

Datorita acestor caracteristici aceste masini lucreaza foarte bine pe seturi de date formate din matrici de dimensiuni foarte mari atunci cand este necesar sa se execute asupra lor aceleasi operatii =gt este recomandata la prelucrarea imaginilor multirezolutie

Arhitectura MIMDAceste tipuri de calculatoare sunt cunoscute sub denumirea de multiprocesoare chiar daca si

masinile SIMD sunt tot multiprocesor Icircn calculatoarele MIMD paralelismul este realizat prin lansarea icircn executie a mai multor instructiuni icircn acelasi timp pe diferite seturi de date Este evident ca sunt necesare elemente aditionale de control pentru a trimite instructiunea corecta si data care trebuie la procesorul ales toate icircn acelasi timp Cele mai multe sisteme multiprocesor intra icircn aceasta clasa

Avantajele arhitecturii MIMD suntmiddot viteza mare de prelucrare daca prelucrarea poate fi descompusa icircn fire paralele toate

procesoarele prelucracircnd simultanmiddot icircntrucacirct procesoarele si blocurile de memorie sunt resurse de tip general defectarea unei

unitati se poate compensa prin alocarea sarcinii de prelucrare altei unitati (grad ridicat de toleranta la defectari)

middot se poate utiliza reconfigurarea dinamica pentru a face fata gradelor variabile de icircncarcare a procesoarelor

Sistemele MIMD se mai numesc intrinseci (propriu-zise) daca au UP interactive toate sirurile de date provin din acelasi spatiu de memorie adresat de cele n procesoare (daca nu se icircntacircmpla acest lucru ndash spatii disjuncte ale memoriei ndash se spune ca exista un set de n sisteme SISD independente

Datorita acestor avantaje MIMD se poate folosi la multimedia streaming

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 12: Partial ASC

3 Care sunt modalitatile de evaluare a performantei unei unitati centrale Dati cate un exemplu din fiecare categorie Cum se poate creste performanta

Performanta UC se refera icircntotdeauna la o aplicatie data existacircnd mai multe moduri de evaluare a performantei

middot mips (mega instructions per second) milioane de instructiuni pe secundamiddot flops (floating point operations per second) operatii icircn virgula mobila executate pe secunda

(exprimat uzual icircn Mflops sau Gflops)middot timpul icircn care un anumit procesor poate sa rezolve o anumita secventa de program (o sarcina

particulara)Performanta este produsul a trei factorimiddot numarul de instructiuni executate icircn cazul unei aplicatii date (Ni)middot numarul mediu de perioade de ceas necesare pentru executia unei instructiuni (Np)middot durata unei perioade de ceas (Tc)Valoarea Np se exprima icircn cicluri de ceasinstructiune iar Tc se exprima icircn timpciclu de ceas

Rezulta caP(t) = Ni Np Tc (sec)Reducerea numarului de instructiuni Ni se face optimizacircnd compilatorul si utilizacircnd o arhitectura

adecvata acestui compilatorNp se reduce fie optimizacircnd compilatorul aceasta icircnsemnacircnd utilizarea unor instructiuni de

durata mai scurta fie utilizacircnd o arhitectura paralela deci utilizarea mai multor instructiuni simultan La optimizarea Np apar limitari tehnologice legate de implementarea procesorului

Durata Tc tine exclusiv de o tehnologie avansata

5 Explicati semnificatia si modul de operare al blocului SSE-2 din arhitectura procesoarelor Intel Cum rezolva procesoarele AMD acest aspect

6 Explicati formarea bancurilor de memorie in functie de numarul sloturilor si de tipul placutelor Dati 2 exemple de confirguatii diferite

Privitor la modul icircn care microprocesorul opereaza fizic cu memoria instalata aceasta se plaseaza pe placa de baza icircn doua sau mai multe segmente fizice numite bancuri de memorie Acestea sunt segmentele minime de memorie care pot fi accesate de microprocesor numerotate icircncepacircnd cu 0 fiecare banc avacircnd unul sau mai multe sloturi pentru placutele de memorie Toate aceste bancuri sunt v1048835zute ca niste porti spre memoria fizica instalata si au dimensiuni date de latimea magistralei microprocesorului (inclusiv bitii de paritate) de exemplu de 72 de biti pentru Pentium

Icircn sloturile aceluiasi banc se introduc icircntotdeauna memorii de acelasi tip (avacircnd icircn special timpi de acces identici) si aceeasi dimensiune pentru a nu provoca accesari gresite de memorie sau chiar blocarea sistemului de calcul

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 13: Partial ASC

Exemplu Pentru un banc cu doua sloturi 2 placi 1 MB sau 2 placi 2 MBIcircn bancuri diferite se pot monta (teoretic) memorii diferite (ex 2 1 MB icircn bancul 0 si 2 4 MB

icircn bancul 1) dar practic este bine sa se utilizeze valori pareExemplu Icircn loc de 2 4 MB + o placuta de 1 MB ar trebui montate 2 4MB + o placuta de 2

MB) pentru a evita unele neplaceri

Icircn cazul icircn care pe o placa de baza exista doua perechi de socket-uri DIMM din bancuri diferite (icircn general culoarea socket-ului identifica bancul caruia acesta apartine) se poate instala o pereche de dou1048835 module icircn bancul 0 si o pereche de alta capacitate icircn bancul 1 atacirct timp cacirct acestea functioneaza la aceeasi viteza Icircn acest mod sistemul va folosi arhitectura dual-channel

7 Care sunt diferentele constructive si functionale dintre memoria cache interna (L1) si cea externa (L2) Care dintre ele este mai mare si de ce

Memoria cache intern a Primul nivel de memorie cache (L1) se afla integrat icircn microprocesor si are o portiune destinata

datelor si instructiunilor (codului) si o alta destinata comenzilor Cele doua module de cacircte sunt complet separate si lucreaza independent Dimensiunea memoriei cache interne create la procesoarele moderne

Acest tip de memorie icircmbunatateste mult performantele deoarece ndash fiind icircn interiorul procesorului ndash transmisia de date este foarte rapida nefolosindu-se icircn acest caz magistralele externe foarte lente Icircn plus fiind o memorie de tip SRAM nu necesita reicircmprospatare si dispune de un timp de acces extrem de scurt Mai mult la unele microprocesoare cache-ul de date este icircmpartit icircn blocuri iar controlerul de cache va gasi foarte rapid datele necesare folosind o tabela index alegacircnd exact blocul de memorie care le contine

Memoria cache externaDatorita dimensiunilor mici ale memoriei cache interne (limitele fiind impuse din considerente

tehnice de constructie a microprocesoarelor) si pentru a mari si mai mult performantele sistemelor de calcul mai ales pentru a create sansele ca procesorul sa gaseasca datele necesare icircn cache (cache hit) si nu icircn RAM sau mai rau pe hard disk (cache miss) a fost introdus icircnca un nivel de memorie cache (L2 sau L3) de data aceasta icircn exteriorul microprocesorului memorie care este ca dimensiuni cu mult mai mare decacirct memoria cache interna (de ordinul megaoctetilor)

Memoria cache externa este implementata pe placa de baza a sistemului Este formata din cipuri de memorie de tip SRAM foarte rapide cu timpi de acces extrem de mici (4ndash15 ns)

Exemplu Pentru un procesor cu frecventa interna de 166 MHz va fi nevoie de o memorie cache cache cu timp de acces de 100166 = 602 ns

ASC Partial - Subiecte tip A - sub Partial A

1 Realizati o comparatie intre arhitecturile sistemelor MIMD de tip UMA si UMA cu memorii cache locale

Arhitectura UMA (Uniform Memory Access)Memoria fizica a calculatoarelor de tip UMA este compusa din mai multe blocuri care formeaza

un spatiu unic de adresare Procesoarele acceseaza blocurile de memorie prin intermediul retelei de interconectare care poate fi statica (formata din conexiuni fixe punct-la-punct icircntre nodurile retelei) sau dinamica (formata din conexiuni variabile icircn timp de tip crossbar)

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 14: Partial ASC

Principala caracteristica a calculatoarelor UMA este ca toate procesoarele au timp de acces egal la memoria partajata Icircnsa tocmai de aceea numarul procesoarelor utilizate icircn cadrul sistemului paralel nu poate fi foarte mare deoarece cresterea numarului de procesoare din sistem atrage dupa sine o probabilitate mai mare de conflict icircn ceea ce priveste accesarea concurenta a aceleiasi zone dememorie Icircntr-un astfel de caz se vor icircnregistra timpi de a1048835teptare care vor conduce la o utilizare ineficienta a procesoarelor si la o icircncarcare neechilibrata a acestora

Icircn plus pentru obtinerea unor performante deosebite reteaua de comunicatie va trebui sa ofere o largime de banda suficient de mare deoarece fiecare procesor poate necesita accesul la memoria partajata ceea ce presupune transportul datelor solicitate din memoria comuna catre procesorul care a formulat cererea

Arhitectura UMA cu memorii cache localeO icircmbunatatire adusa modelului UMA o reprezinta utilizarea memoriilor cache la nivelul

elementelor de procesare (vezi figura 28) Fiecare procesor va avea asociata o astfel de memorie Atunci cacircnd un procesor solicita date mai icircntacirci se verifica daca aceste date se gasesc deja icircn memoria cache locala Icircn caz afirmativ acestea se transfera foarte rapid procesorului fara a accesa memoria partajata Astfel problema conflictelor de acces concurent la spatiul unic de memorie se rezolva cel putin partial Mult mai putine cereri vor ajunge sa acceseze memoria partajata si din acest motiv probabilitatea de aparitie a conflictelor devine mult mai mica

Utilizarea memoriilor cache presupune icircnsa si asigurarea consistentei acestora Icircn momentul icircn care anumite date stocate icircn memoria globala se modifica aceste modificari trebuie sa fie semnalate tuturor memoriilor cache care stocheaza coacutepii ale datelor respective Mai mult chiar atunci cacircnd se schimba continutul datelor de la nivelul unei memorii cache este nevoie ca modificarile sa fie efectuateicircn toate memoriile cache care contin coacutepii ale datelor actualizate Mentinerea coerentei memoriei cache se poate realiza atacirct prin mecanisme software cacirct si prin mecanisme hardware Modelele cu acces neuniform la memorie icircncearca sa evite dezavantajele icircntacirclnite la calculatoarele de tip UMA

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 15: Partial ASC

2 Descrieti parametrii de intrare care contribuie la evaluarea performantelor sistemelor de multithreading

Parametrii de intrare care contribuie la calculul performantelor suntmiddot timpul de executie secvential sau serial TS (timpul masurat de la icircnceputul si pacircna la sfacircrsitul

executiei algoritmului pe un calculator secvential)middot timpul de executie paralel TP (timpul masurat de la icircnceputul executiei si pacircna la terminarea

ultimului subtask paralel)middot numarul de procesoare p

3 Prezentati o paralela intre solutiile de proiectare pentru arhitecturile de procesor binucleu si multinucleu ale firmei AMD

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior

Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO

Procesor multinucleu - Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetrica fiecare CPU icircsi acceseaza propria memorie RAMProcesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

4 Desenati diagrama de timp pentru modelul general al unui ciclu de citire din memorie si explicati intervalele care apar

middot timpul de acces la citire (tAR) ndash intervalul de timp icircntre momentul aparitiei adresei valide si momentul icircn care data citita este prezenta pe liniile de date Uneori timpul de acces se masoara icircn raport

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 16: Partial ASC

cu momentul aparitiei semnalului de comanda MEMR Daca timpul de acces al circuitului de memorie folosit este mai mare decacirct timpul permis pe magistrala atunci interfata modulului de memorie trebuie sa prelungeasca ciclul de transfer prin dezactivarea pe un timp limitat a semnalului READY catre procesor

middot timpul de mentinere a semnalului de comanda MEMR activ (tMEMR)middot durata unui ciclu complet de citire sau scriere (tC)

5 Aratati asemanarile si deosebirile intre formatele logice de memorie 1T SRAM si QDR II SRAM Comentariu

1T-SRAM (1 Transistor Static RAM)Tehnologia de fabricare a memoriilor 1T-SRAM introdusa de catre MoSys ofera o alternativa la

memoriile SRAM traditionale permitacircnd o capacitate mai mare Principala utilizare a memoriilor 1T-SRAM este icircn cazul sistemelor embedded (sisteme dedicate) MoSys a implementat o celula de memorare cu un singur tranzistor ca icircn cazul DRAM dar aceasta celula este sustinuta de o retea de circuite care fac functionarea memoriei sa fie echivalenta celei a memoriilor SRAM (controlerul ascunde toate operatiile specifice memoriilor DRAM cum ar fi preicircncarcarea sau reactualizarea) Icircn consecinta memoriile 1T-SRAM au o interfata standard SRAM de un ciclu si sunt percepute de restul logicii sistemului exact ca orice alta memorie SRAM

Datorita celulei de memorare cu un tranzistor varianta 1T-SRAM este mai mica decacirct SRAM-ul clasic bazat pe celule de 6 tranzistori fiind mai apropiata de eDRAM (embedded DRAM) icircn ceea ce priveste dimensiunea si densitatea (vezifigura 332)

Icircn acelasi timp 1T-SRAM ofera performante comparabile cu SRAM consuma mai putin decacirct eDRAM si este realizata icircn tehnologie CMOS ca SRAM-ul clasic

MoSys prezinta 1T-SRAM ca fiind solutia ideala pentru aplicatiile bazate pe SOC-uri (System-On-a-Chip ndash se icircncearca integrarea tuturor componentelor unui computer sau a unui sistem electronic icircntr-un singur circuit integrat) cum ar fi microcontrolere DSP-uri blocuri de memorie timer-e regulatoare de tensiune etc

Memoriile 1T-SRAM sunt organizate sub forma unei matrice de mici bancuri de memorie (icircn general 128 linii a cacircte 256 de biti fiecare rezultacircnd un total de 32 Kb) conectate la o memorie cache de dimensiunea unui banc si la un controler de memorie

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 17: Partial ASC

Chiar daca icircn comparatie cu DRAM 1T-SRAM este ineficient icircn ceea ce priveste spatiul lungimea mai mica a cuvintelor permite atingerea unor viteze mult ai mari reusindu-se astfel realizarea unui ciclu RAS la fiecare acces Fiecare acces se face la cacircte un banc permitacircnd astfel bancurilor nefolosite sa fie reactualizate icircn acelasi timp Icircn plus fiecare linie citita este copiata si icircn memoriacache Icircn eventualitatea unor accesari repetate la acelasi banc exista doua variante fie sunt accesate linii diferite caz icircn care toate liniile vor fi reactualizate automat fie aceeasi linie este accesata de mai multe ori Icircn cazul celei de-a doua variante urmatoarele citiri se vor face din memoria cache acordacircndu-se astfel timpul necesar pentru realizarea reicircmprospatarii

Memoriile 1T-SRAM functioneaza la viteze comparabile cu 6T-SRAM si sunt semnificativ mai rapide decacirct eDRAM modelul quad-density fiind cu doar 10ndash15 mai mare Icircn majoritatea proceselor de fabricare a memoriei eDRAM este necesara parcurgerea unor pasi suplimentari si costisitori depasind astfel destul de mult costul de productie al memoriei 1T-SRAM

Memoriile 1T-SRAM sunt disponibile 1048835i sub form1048835 de circuite integrate Nintendo GameCube a fost prima platforma care a folosit 1T-SRAM ca sistem principal de stocare a datelor De asemenea memoria 1T-SRAM a fost folosita icircn urmasul lui GameCube consola Nintendorsquos Wii

QDR II SRAM (Quad Data Rate II Static Random Access Memory)QDR este o memorie SRAM echipata cu un pin pentru intrarea datelor si un pin separat pentru

iesirea datelor spre deosebire de SRAM standard icircn care cei doi pini sunt comuni QDR permite introducerea si extragerea datelor pe ambele fronturi (DDR ndash Double Data Rate) ducacircnd astfel la ob1048835inerea unor viteze foarte mari pentru operatiile de scriere si de citire care se pot desfasura simultan Icircn felul acesta se poate realiza un transfer de pacircna la patru cuvinte la fiecare ciclu de ceas cu o latenta foarte mica Acest tip de memorie este ideal pentru sistemele de comunicatii si retelistica cum ar fi router-e sau switch-uri Pentru a veni icircn icircntacircmpinarea tendintelor din acest domeniu QDRII SRAM utilizeaza porturi IO la o viteza foarte ridicata prin tehnologia HSTL (High Speed Transceiver Logic)suportata de toate sistemele de networking de noua generatie (vezi figura 333)

Din punct de vedere al consumului de energie memoriile QDR se situeaza foarte bine necesitacircnd doar 18 V pentru nucleul memoriei si 14 V pentru pinii de intrareiesire Acest aspect este extrem de important icircn domeniul pentru care sunt concepute sa functioneze aceste memorii

Memoriile QDR II sunt prevazute cu doua generatoare de semnale de ceas unul pentru intrare celalalt pentru iesire Astfel intrarea si iesirea pot fi foarte usor defazate Memoriile QDR II vin sub forma unor FPGA-uri de 13 15 1 mm

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 18: Partial ASC

O memorie QDR II hotaraste daca va efectua o operatie de scriere sau de citire icircn functie de starea icircn care se afla pinii de citire (R) si de scriere (W) la momentul icircn care ceasul se afla pe front crescator Pentru a da o comanda de citire R trebuie sa fie la nivelul 0 (vezi figura 334) iar pentru a da o comanda de scriere R trebuie sa fie la nivelul 1 si W la nivelul 0 (vezi figura 335)

Partial ASC ndash A ndash subiecte ASC 2262010

1 Pe un set de cazuri particulare realizati o comparatie intre arhitecturile sistemelor MIMD de tip GSM (Global Shared Memo) dupa principii structura functionare performanta aplicatii

Calculatoarele MIMD cu spatiu unic de memorie au un cost relativ scazut si din acest motiv se bucura de o popularitate ridicata Acestea sunt considerate a fi sisteme cu cuplaj stracircns datorita gradului ridicat de partajare a resurselor Functionarea icircntregului sistem paralel este coordonata de catre un singur sistem de operare care se ocupa de planificarea icircn executie a proceselor pe procesoarele disponibile icircn sistem icircn conditiile icircn care se doreste o icircncarcare cacirct mai echilibrata a acestora

In continuare ndash analog subiectul 1 ASC Partial - Subiecte tip A - sub Partial A

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 19: Partial ASC

2 Descrieti modelele de (multi)threading suportate de sistemele win32 si dati doua exemple de aplicatii practice

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 sa astepte Principalul dezavantaj al acestui tip de thread icircl reprezinta timpii lungi de executie pentru sarcini mici Corespunde din punct de vedere conceptual prelucrarii pe loturi (batch processing)

2 Modelul Apartment Thread (Single Thread Apartment Model ndash STA) Icircn acest model pot exista mai multe thread-uri care se executa icircn cadrul aplicatiei Icircn STA fiecare thread este izolat icircntr-un bdquoapartamentrdquo separat icircn cadrul procesului Fiecare proces poate avea mai multe apartamente care pot partaja date icircntre ele Icircn acest caz aplicatia este raspunzatoare pentru stabilirea duratei fiecarui thread din cadrul fiecarui apartament Toate cererile sunt ordonate folosind Windows Message Queue astfel icircncacirct un singur apartament poate fi accesat la un moment dat Avantajul acestui model fata de modelul thread-ului unic este ca se pot procesa simultan mai multe cereri ale utilizatorului Totusi nu este atinsa icircnca eficienta maxima deoarece sarcinile se vor executa una dupa alta Corespunde din punct de vedere conceptual multiprogramarii

3 Modelul Multithread Apartment (Free Thread Apartment Model ndash FTA) Modelul Multithread Apartment presupune existenta unui singur apartament Nu este nevoie de ordonare deoarece toate thread-urile apartin aceluiasi apartament si pot partaje resursele Aceste aplicatii se executa mai rapid decacirct cele care implementeaza modelul unic sau STA deoarece sistemul este mai putin solicitat si poate fi optimizat sa elimine timpii morti Corespunde din punct de vedere conceptual diviziunii icircn timp (time sharing)Aceste tipuri de aplicatii sunt foarte complexe deoarece trebuie sa se asigure ca thread-urile nu acceseaza simultan aceleasi resurse (principiul pipeline) Este astfel absolut necesar sa se furnizeze un sistem de blocare a resurselor Acesta trebuie implementat cu atentie deoarece poate conduce la blocarea totala a sistemului

Prin natura si arhitectura sa mediul de programare Microsoft NET Framework este un mediu de tip multithreading

3 Pe baza exemplului de arhitectura superscalara cu 3 siruri de instructiuni imahinati o schema similara cu 4 siruri de instructiuni cu functii diferite pe care le definiti in prealabil la alegere

4 Creati o paralela intre solutiile de proiectare pentru arhitecturile biprocesor la AMD si Intel

AMD a dezvoltat mai multe tipuri de arhitecturi biprocesor Athlon biprocesor K7 biprocesor si Opteron biprocesor iar Intel a dezvoltat arhitectura Xeon biprocesor

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 20: Partial ASC

Sistemul este echipat cu doua procesoare Intel Xeon instalate pe o placa de baza de tipul Supermicro P4DC6+ Aceasta placa de baza este dotata cu cipsetul i860 constituit din trei componente principale Intel 82806AA PCI 64 Hub Intel 82860 Memory Controller Hub si Intel 82801BA IO Controller Hub Aceste blocuri asigura un transfer foarte rapid de date atacirct icircntre procesoare cacirct si icircntre acestea si memorie sau dispozitive periferice

Sistemul cu doua procesoare AMD Opteron 250 la 24 GHz foloseste o placa de baza dotata cu cipsetul NVIDIA nForce Professional 2200 Noutatea acestei configuratii este ca procesoarele nu icircmpart aceeasi magistrala pentru a accesa memoria ca la sistemele traditionale Icircn acel caz magistrala reprezenta bdquogacirctul sticleirdquo (bottleneck) sistemului fiind un obstacol icircn calea procesarii la potentialul maxim al CPU-urilor Pentru a evita aceasta limitare AMD a recurs la o arhitectura cu memorie cache neuniforma de tip ccNUMA

Fiecare procesor dispune de un controler de memorie care poate accesa o portiune de memorie rezervata doar lui Sunt evitate astfel suprapunerile de date si alterarea reciproca a datelor provenite de la procesoare diferite Icircn plus cele doua CPU sunt interconectate printr-o magistrala de mare viteza de tipul HyperTransport (tehnologie patentata de AMD) care nu are legatura directa cu memoria (spre deosebire de un sistem clasic) si care asigura un dialog eficient icircntre componente

Cele doua procesoare pot accesa memoriile proprii cu latente foarte mici (mult mai mici decacirct la sisteme traditionale) precum si memoria care nu le apartine direct dar cu latente mari Aceasta nu constituie un dezavantaj deoarece un CPU lucreaza icircn mod normal doar icircn zona de memorie care icirci este repartizata Totusi aceasta tehnologie are si un punct slab organizarea corecta a memoriei este cruciala Astfel arhitectura NUMA trebuie suportata atacirct de sistemul de operare cacirct si de aplicatii

5 Care sunt optimizarile aduse de DDR3 fata de DDR2 Formulati o prognoza

Memoriile DDR3 sunt o icircmbunatatire a modelului precedent de memorii DDR2 Principala diferenta icircntre cele doua consta icircn faptul ca magistrala IO DDR3 functioneaza la o frecventa de patru ori mai mare decacirct celulele de memorie Icircn plus DDR3 permite cipuri de capacitate de la 512 Mb pacircna la 8 Gb ceea ce duce la posibilitatea obtinerii de module de pacircna la 16 GB Memoriile DDR3 promit o reducere a consumului de energie cu 17 tehnologia de 90 nm folosita icircn fabricarea cipurilor DDR3 avacircnd nevoie de o tensiune de 15 V (fata de 18V pentru DDR2 sau 25 V pentru DDR)

Principalul avantaj al memoriilor DDR3 este dat de largimea de banda Cre1048835terea acesteia a fost posibilitati datorita buffer-ului de preicircncarcare a carui adacircncime a fost marita de la 4 biti cacirct era icircn cazul DDR2 la 8 biti Aceasta dublare a dimensiunii buffer-ului este spectaculoasa icircn comparatie cu celelalte mici incrementari ale dimensiunii care au avut loc anterior Redimensionarea buffer-ului are un cuvacircnt greu de spus icircn ceea ce priveste icircntacircrzierea semnalului CAS

DIMM-urile DDR3 au acelasi numar de pini ca modulele DDR2 (240) avacircnd si aceleasi dimensiuni dar cu toate acestea sunt incompatibile din punct de vedere electric iar cheia de securitate este situata icircn alta pozitie O tehnologie complet noua folosita pentru prima data icircn cazul DDR3 este topologia Fly-By Generatiile anterioare de SDRAM inclusiv DDR2 utilizau o topologie stea pentru a icircmparti datele spre mai multe cai de semnal Topologia Fly- By utilizeaza o singura legatura directa catre toate componentele DRAM ceea ce permite un raspuns mult mai rapid din partea sistemului Motivul pentru care DDR2 nu s-a putut dezvolta mai mult decacirct a facut-o nu se datoreaza atacirct procesului de fabricatie care ar fi trebuit rafinat mai mult cacirct unor limitari mecanice Icircn esenta DDR2 nu este pregatit sa atinga viteze mai mari Teoretic acest lucru ar fi posibil dar practic tehnologia mecanica dezvoltata pacircna azi nu permite acest lucru La frecvente mai mari DIMM-ul icircncepe sa icircntacircmpine probleme icircn ceea ce priveste integritatea semnalului Icircn cazul topologiei stea folosite de DDR2 aceasta problema s-ar rezolva daca s-ar reusi echilibrarea tuturor ramurilor Din pacate efortul necesar pentru a face acest lucru este peste limitele fizice din ziua de azi

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 21: Partial ASC

Pentru DDR3 integritatea semnalului este rezolvata la nivelul fiecarui modul DRAM icircn locul icircncercarii unei echilibrari la nivelul icircntregii platforme de memorie Acum atacirct adresele cacirct si semnalele de control sunt transmise pe aceeasi cale Practic topologia Fly-By elimina limitarile cauzate de echilibrarea mecanica folosita icircn DDR2 icircnlocuind-o cu un semnal automat de icircntacircrziere generat de catre controlerul de memorie O alta inovatie prezenta la DDR3 consta icircn aparitia unui pin de reset Acest pin permite resetarea unui modul de memorie fara resetarea icircntregului sistem ceea ce duce la o scadere a timpului si a energiei pierdute

Partial ASC - subiecte asc 2010

1 Schema comparativa pipeline supepipelin superscalaraCare e mai eficienta

2 Metodele pentru evaluare a performantei asociate sistemelor multithreading Doua exemple concrete

3 Cand apar situatiile de cache miss Exemple practic

Cache miss se refera la icircncercarea nereusita de a citi sau scrie o parte din date icircn memoria cache ceea ce rezulta icircn scriereacitirea icircn memoria principala cu latente mai mari Explicatiile pentru cauzele situatiilor de cache miss conform literaturii de specialitate sunt de trei tipuri

middot la citirea instructiunilormiddot la citirea datelormiddot la scrierea datelorUn cache miss la citirea instructiunilor cauzeaza icircn general icircntacircrzieri deoarece procesorul sau

ultimul fir de executie trebuie sa astepte pacircna cacircnd instructiunile sunt aduse din memorie Un cache miss la citirea datelor cauzeaza icircntacircrzieri mai mici deoarece instructiunile nu depind de citirea cache-

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 22: Partial ASC

ului putacircnd fi evitate pacircna cacircnd datele sunt preluate din memoria principala si instructiunile care depind de acestea icircsi continua executia

Un cache miss la scrierea datelor cauzeaza icircntacircrzieri mici deoarece scrierea poate fi pusa icircntr-o coada de aateptare si sunt cacircteva limitari icircn executia instructiunilor Procesul poate continua pacircna cacircnd coada este plina Secvente de referinte din memorie trecute prin benchmark-uri sunt salvate ca urme de adrese Ulterior analizele simulate au aratat posibile diferente icircntre lungimile urmelor de adrese icircn functie de designul memoriei cache Cercetatorul Mark Hill a separat situatiile de cache miss icircn trei categorii

middotRatari obligatorii (compulsory misses) ndash sunt acele pierderi cauzate de primele referiri la date Marimea si asociativitatea memoriei cache nu fac nicio diferenta icircntre numarul de ratari obligatorii Aducerea timpurile a operanzilor din memorie nu este utila icircn acest cazmiddot Ratari de capacitate (capacity misses) ndash sunt acele pierderi care privesc asociativitatea sau m1048835rimea blocurilor facute numai de blocurile finite din cache Curba ratei pentru ratarile de capacitate icircn functie de capacitatea memoriei cache de masura localizarii temporale a unui sirtemporar de referinte Informatiile care indica daca memoria cache este plina goala sau aproape plina nu sunt utile icircn acest cazObservatie Cache-ul procesorului are aproape mereu fiecare linie umpluta cu o copie a unei linii din memoria principala si de fiecare data alocarea unei noi linii necesita stergerea uneia vechimiddot Ratarile de conflict (conflict misses) ndash sunt acele pierderi care ar putea fi evitate daca cache-ul n-ar elimina o intrare mai tacircrziu Ratarile de conflict pot fi puse icircntr-o harta de ratari (miss map) care este inevitabila si care ofera un detaliu particular asociativitatii si politicii de icircnlocuire

4 Comparatie intre arhitecturile quad core de la Intel si AMD

Ca replica la lansarea CPU-urilor quad-core de la Intel AMD a lansat propria platforma Quad FX Aceasta platforma este un sistem de multiprocesare simetrica utilizacircnd doua CPU-uri Athlon 64 FX dual-core De aceea un calculator personal Quad FX are doua procesoare fizice dual-core care lucreaza icircn paralel avacircnd icircn total icircn sistem patru nuclee CPU Aceste doua CPU-uri sunt interconectate printr-o magistrala coerenta dedicata tehnologiei HyperTransport

Icircn CPU-urile quad-core de la Intel nucleele sunt organizate icircn perechi Nucleele fiecarei perechipot interschimba informatii direct (la fel se icircntacircmpla la AMD dual-core si la Intel Core 2 Duo) dar pentru a schimba informatii cu unul dintre nucleele localizate icircn cealalta pereche trebuie sa acceseze magistrala externa a CPU ceea ce se icircntacircmpla pe platforma Quad FX unde CPU-urile comunica icircntre ele folosind magistrala externa coerenta HyperTransport

Comparacircnd cele doua arhitecturi se poate observa ca platforma Quad FX detine un avantaj icircn ceea ce priveste accesul la memorie Magistrala externa a CPU-ului Intel quad-core (Front Side Bus FSB) este utilizata pentru a accesa memoria RAM si alte dispozitive prezente pe PC precum si pentru comunicarea icircntre perechile de nuclee cu viteze de pacircna la 8 GBs Pe platforma Quad FX CPU-urile folosesc un canal de comunicatie dedicat (magistrala coerenta HyperTransport) care transfera date cu pacircna la 4 GBs icircn fiecare directie Magistrala HyperTransport ofera doua canale de comunicatie cacircte unul pentru fiecare directie Icircn procesoarele AMD controlerul de memorie este icircncorporat icircn CPU si ca urmare memoria este accesata utilizacircnd o magistrala dedicata separat de canalul folosit de catre CPU pentru a accesa restul PC-ului

Datorita faptului ca platforma Quad FX foloseste o arhitectura de multiprocesare simetricafiecare CPU icircsi acceseaza propria memorie RAM Procesoarele utilizate pe platforma Quad FX pot accesa de asemenea memoria controlata de un alt CPU

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 23: Partial ASC

5 Comparatie intre doua sisteme bazate pe arhitecutura MIMD cu DMS (Distributed Shared Memory) dupa criteriile principiu performanta structura aplicatii

Partial ASC ndash scan0001

1 Comparati nivelurile 123 din structura stratificata a unui sistem de calcul precum si operatiile care au loc

Nivelul 1 ndash nivelul microprogramat El este nivelul limbajului intern al masinii Aici exista un microprogram care interpreteaza instructiunile de nivel 2 si care este realizat cu un set restracircns de instructiuni simple (icircn medie cam 20 de instructiuni) de transfersi teste simple ale unor conditii Estescris icircntr-o memorie ROM interns la ea avacircnd acces numai producatorul

Nivelul 2 ndash nivelul masinii traditionale Fiecare procesor defineste icircn mod implicit un limbaj de nivel 2 si o masina virtuala al carei limbaj masina este interpretat de un microprogram Denumirea de nivel al masinii traditionale este data deoarece componentele au caracteristici comune

Nivelul 3 ndash nivelul sistemului de operare Este un nivel hibrid icircn sensul ca cea mai mare parte ainstructiunilor care definesc limbajul 3 sunt de tip masina Se gasesc aici sarcini specifice privind gestionarea memoriei si capacitatea de executare a mai multor programe icircn paralel

De remarcat ca nivelele 1 si 2 nu sunt accesibile programatorului mediu Ele sunt necesare pentru interpretarea nivelului inferior si sunt scrise de catre specialiati Limbajele de nivel 1 2 si 3 sunt orientate catre modul numeric

2 Paralela intre MIMD NUMA si CC-NUMA

Arhitectura NUMA (Non-Uniform Memory Access)Icircn cazul acestui model memoria partajata este distribuita fizic procesoarelor din sistem (vezi

figura 29) Astfel fiecare element de procesare are asociata o memorie locala Toate aceste memorii locale formeaza un spatiu unic de adresa Din acest motiv timpul de acces la memorie este neuniform deoarece accesul la datele aflate icircn memoria locala este foarte rapid icircn timp ce accesul la datele aflateicircn memoria locala a altor elemente de procesare va fi mult mai lent datorita faptului ca datele respective vor fi transportate prin reteaua de comunicatie

Observatie Sistemele NUMA sunt foarte asemanatoare sistemelor distribuite din moment ce fiecare procesor dispune de o memorie locala iar toate aceste module locale formeaza un spatiu unic de adresare O caracteristica importanta pentru masinile NUMA este factorul NUMA Acest factor arata diferentele de latena pentru accesarea datelor din memoria locala comparativ cu accesarea dintr-o zona

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 24: Partial ASC

care nu este locala Icircn functie de conexiunile sistemului factorul NUMA poate diferi pentru diverse parti ale masinii accesarea datelor dintr-un nod vecin este mai rapida decacirct accesarea datelor dintr-un nod mai icircndepartat pentru care este necesara traversarea unui numar mai mare de etaje crossbar Asadar atunci cacircnd este mentionat factorul NUMA se refera de obicei la cele mai icircndepartate doua procesoare ale unei retele

Arhitectura CC-NUMA (Coherent Cache NUMA)Modelul CC-NUMA combina modul icircn care este construit spatiul unic de adresa la calculatoarele

de tip NUMA si la cele de tip COMA Fiecare element de procesare al unui calculator de tip CC-NUMA dispune atacirct de o memorie locala cacirct si de o memorie cache asociata (vezi figura 211)

Ca si icircn cazul modelului NUMA accesul la datele stocate icircn memoria locala proprie este foarte rapid Accesarea unor date aflate icircn memoria locala a unui alt procesor implica aducerea acestora icircn memoria locala proprie Transferul de date folosind reteaua de comunicatie atrage dupa sine icircntacircrzieri deoarece nu este la fel de rapid precum accesarea memoriilor locale Existenta memoriilor cache are ca efect reducerea traficului prin reteaua de comunicatie Datele solicitate de catre un procesor sunt mai icircntacirci cautate icircn memoriile locale dupa care sunt aduse icircn memoria cache icircn cazul icircn care acestease gasesc icircn memoria locala a unui alt procesor La accesarile ulterioare se va folosi copia datelor respective stocata icircn memoria cache deci nu va mai fi nevoie ca datele sa fie din nou transferate prin reteaua de interconectare

Utilizarea memoriile cache implica necesitatea implementarii unor mecanisme software sau hardware care sa asigure consistenta memoriilor cache La modificarea unor date aflate icircn memoria locala a unui procesor este nevoie sa se actualizeze toate copiile acestor date aflate icircn memoriile cache Aceste mecanisme care asigura coerenta memoriilor cache contribuie la cresterea traficului efectuat icircncadrul retelei de interconectare Arhitectura CC-NUMA este utilizata de o serie de supercalculatoare foarte cunoscute Bull NovaScale HP Superdome 1048835i SGI Altix

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 25: Partial ASC

3 Arhitectura Intel Core 2 si AMD Opteron Dual Core

Tehnologic vorbind AMD nu a realizat doar o simpla alipire a unei perechi de nuclee K8 pe o bucata de siliciu ci a efectuat o integrare la nivelul de baza astfel icircncacirct cele doua nuclee sa poata actiona icircmpreuna mai eficient Fiecare dintre nucleele K8 are propriul sau cache L2 independent icircncorporat dar cele doua nuclee icircmpart o coada comuna a cererilor de sistem un controler de memorie DDR de tip dual-channel si un set de legaturi HyperTransport cu mediul exterior Accesul la resursele IO este adjudecat printr-o retea crossbar sau printr-un switch astfel icircncacirct fiecare CPU poate comunica direct si eficient cu memoria sau cu dispozitivele IO Icircn unele privinte Opteron Dual-core se comporta foarte asemanator unui sistem cu multiprocesare simetrica on-chip transferacircnd date intern icircntre cele doua nuclee Cu toate acestea pentru restul infrastructurii IO a sistemului Opteron Dual-core pare asemenea versiunii mononucleu

Arhitectura de sistem pentru Opteron este foarte diferita de cea a competitorului sau principal Intel Xeon Arhitectura AMD Direct Connect a fost supra-dimensionata pentru procesorul Opteron mononucleu anticipacircnd viitorul dual-core Fiecare procesor (mono- sau binucleu) are propriul sau controler de memorie DDR local de tip dual-channel iar procesoarele comunica icircntre ele si cucipurile IO prin legaturi HyperTransport punct-la-punct la frecventa de 1 GHz Largimea totala de banda posibila prin cei 940 de pini ai procesorului Opteron 875 este de 304 GBs Cu o legatura HyperTransport mai putin procesorul Opteron 275 poate atinge teoretic viteza de 224 GBs

Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare Intel pe 65 nm Versiunea pentru desktop-uri a procesoarelor furnizeaza o crestere de 40 a performantei si este cu peste 40 mai eficienta din punct de vedere al consumului de energie icircn comparatie cu cel mai bun procesor Intel anterior

Potrivit analistilor independenti procesoarele cacircstiga 9 din cele 10 teste majore de performanta pentru desktop-uri servere si calculatoare destinate jocurilor Familia de procesoare Intel Core 2 Duo este formata din 5 procesoare pentru platforme desktop destinate afacerilor utilizarii individuale si entuziastilor pentru tehnologie precum si din 5 procesoare pentru notebook-uri Familia de procesoare Intel Core 2 Duo este bazata pe micro-arhitectura Intel Core Prin intermediul celor doua nuclee de executie procesoarele pot executa cu viteza un numar mai mare de instructiuni De asemenea procesoarele pot opera mai rapid la lansarea simultana icircn executie a mai multor aplicatii de exempluscrierea unui e-mail icircn acelasi timp cu descarcarea de muzica si scanarea antivirus Procesoarele Dual-core contribuie la icircmbunatatirea executiei programelor de exemplu icircn cazul vizionarii unor clipuri high-definition sau al protejarii PC-ului icircn timpul tranzactiilor financiare pe Internet crescacircnd de asemenea autonomia bateriei icircn cazul notebook-urilor care pot deveni astfel mai subtiri si mai usoare

Inovatiile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo si Exteme) sunt urmatoarele

Intel Wide Dynamic Execution ndash icircmbunatateste performanta si eficienta icircntrucacirct fiecare nucleu de executie poate realiza pacircna la 4 instructiuni simultan folosind un pipeline eficient icircn 14 stagii

Intel Smart Memory Access ndash icircmbunatateste performanta sistemului diminuacircnd latenta cipurilor de memorie si optimizacircnd astfel utilizarea largimii de banda disponibile pentru furnizarea datelor catre procesor cacircnd si unde este nevoie

Intel Advanced Smart Cache ndash include o memorie cache L2 comuna proiectata pentru a reduce consumul de energie prin micsorarea traficului de memorie si mareste performanta permitacircnd unui nucleu de executie sa utilizeze icircntreg cahe-ul atunci cacircnd celalalt nucleu nu este folosit Aceasta functie este asigurata pentru toate segmentele de piata server desktop si notebook

Intel Advanced Digital Media Boost ndash dubleaza efectiv viteza de executie a instructiunilor folosite cu precadere icircn aplicatiile grafice si multimedia

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare

Page 26: Partial ASC

Intel 64 Technology ndash aceasta icircmbunatatire adusa arhitecturii Intel pe 32 de biti ofera suport pentru procesarea pe 64 de biti si permite procesorului sa acceseze o cantitate mai mare de memorie

Altele

326 Tipuri de retele de interconectare utilizate in arhitectura IBM BlueGeneL

BlueGeneL detin de cativa ani primele locuri in topul celor mai bune supercalculatoare Din punct de vedere al interconectarii poseda mai multe retele

- doua retele pentru conectarea procesoarelor - o retea inel 3D pentru comunicatii generale- o retea arbore pentru comunicatii colective broadcast operatii de reducere Largimea de

banda este dubla fata de largimea de banda a retelei inel ajungand la 350MBs

334 Explicati pe baza sistemului BlueGeneL in ce consta arhitectura masiv paralela

Supercalculatoarele care au la baza modelul IBM BlueGeneL implementeaza arhitectura masiv paralela Aceasta consta icircntr-un numar de procesoare (de obicei foarte mare ndash de ordinul miilor) interconectate si controlate de un singur computer central Fiecare CPU are memoria sa si spatiul de date propriu care contine si o copie a sistemului de operare Toate blocurile CPU comunica icircntre ele cu ajutorul unor interconectari de foarte mare viteza

357 Actiunile pe care le executa rutinele inscrise in ROM

Sistemul cu program starter sau ROM-ul de start adica microcodul cu rol de asistare si control al pornirii sistemului Aici se afla icircnscrise mici rutine care realizeaza urmatoarele actiuni

middot executa testele de functionalitate ale tuturor componentelor atasate hardwaremiddot initializeaza toate componentele atasate calculatoruluimiddot initializeaza tabela vectorilor de icircntreruperemiddot verifica alte extensii sau periferice atasate sistemului de calculmiddot icircncarca icircn memorie de pe disc sistemul de operare