Documente Academic
Documente Profesional
Documente Cultură
TIPURI DE ARHITECTURI
Caracteristici:
• instruc iunile sunt executate serial, îns pot exista suprapuneri în
execu ie (pipeline). Majoritatea structurilor SISD r mase ast zi în uz
folosesc structuri pipeline.
20 ARHITECTURA SISTEMELOR DE CALCUL
Caracteristici:
• fiecare UC lucreaz cu irul de instruc iuni propriu SI1, ..., SIn;
• fiecare UP lucreaz cu acela i ir de date, care suport mai multe prelucr ri;
• partajare pe orizontal (un singur ir de date, mai multe iruri de instruc iuni);
22 ARHITECTURA SISTEMELOR DE CALCUL
Observa ie. Sistemele NUMA sunt foarte asem toare sistemelor distribuite,
din moment ce fiecare procesor dispune de o memorie local , iar toate aceste
module locale formeaz un spa iu unic de adresare.
O caracteristic important pentru ma inile NUMA este factorul NUMA.
Acest factor arat diferen ele de laten pentru accesarea datelor din memoria
local comparativ cu accesarea dintr-o zon care nu este local . În func ie de
conexiunile sistemului, factorul NUMA poate diferi pentru diverse p i ale
ma inii: accesarea datelor dintr-un nod vecin este mai rapid decât accesarea
datelor dintr-un nod mai îndep rtat pentru care este necesar traversarea unui
num r mai mare de etaje crossbar. A adar, atunci când este men ionat, factorul
NUMA se refer de obicei la cele mai îndep rtate dou procesoare ale unei re ele.
Arhitectura COMA (Cache-Only Memory Access)
În cazul modelului COMA, spa iul global de adrese este format din memorii
cache locale fiec rui procesor. Atunci când un procesor are nevoie de anumite date,
acestea sunt mai întâi aduse în memoria cache de c tre controlerul de memorie,
dup care acestea vor fi accesate foarte rapid (vezi figura 2.10).
Linia continu reprezint fluxul de date i instruc iuni, iar linia întrerupt ,
fluxul de comenzi i st ri.
Unitatea de comand (UCda) controleaz activitatea tuturor componentelor
din sistem pe baza unei secven e de instruc iuni, reprezentând programul memorat.
Caracterul secven ial al calculatorului rezult din modul de execu ie al
programului. Sunt necesare urm toarele etape majore (vezi figura 2.16):
• înc rcarea instruc iunii IF (instruction fetch);
• decodificarea instruc iunii ID (instruction decoding);
• înc rcarea (din memorie) a operanzilor OF (operand fetch);
• execu ia opera iilor impuse de instruc iune EX (execution).
Dup terminarea unei instruc iuni, se trece la urm toarea instruc iune. Astfel,
programul este executat secven ial, instruc iune cu instruc iune.
32 ARHITECTURA SISTEMELOR DE CALCUL
Fig. 2.16. Etapele execu iei secven iale a unei instruc iuni.
În schema de mai sus, exist dou structuri pipeline: una pentru date scalare
i una pentru date vectoriale. Faza de înc rcare a opera iilor este împ it în dou
subfaze independente, corespunz toare oper rii cu scalari sau cu vectori. Faza de
execu ie se desf oar în dou procesoare distincte, asociate scalarilor sau
vectorilor.
34 ARHITECTURA SISTEMELOR DE CALCUL
Tehnica pipeline
Execu ia unei instruc iuni este privit ca fiind alc tuit din mai multe faze
(sau stagii), care se succed una dup alta i care pot fi tratate de unit i specializate,
într-un mod asem tor func ion rii unei linii de asamblare (de ex.: de automobile).
Exemplu. Fie un ir de procese care are loc la execu ia unei instruc iuni.
P1 1 2 3 4 5 6 7
P2 1 2 3 4 5 6
P3 1 2 3 4 5
P4 1 2 3 4
P5 1 2 3
t
Fig. 2.18. Exemplu de ir de procese la execu ia unei instruc iuni i desf urarea lor în timp.
Sistemul este eficient dac timpul de execu ie de c tre ALU a unei opera ii
este mult mai mare decât timpul de înc rcare i decodificare a unei instruc iuni.
Aceast condi ie este, în general, îndeplinit .
Exprimarea algebric a condi iei de eficien pentru multiplicarea i
specializarea ALU este:
Arhitectura superpipeline
Se bazeaz pe divizarea stagiului pipeline în substagii i, deci, pe cre terea
num rul de instruc iuni care sunt procesate de pipeline la un moment dat. Divizând
fiecare stagiu în dou substagii, perioada ciclului de ceas va fi redus la jum tate:
/2.
La capacitate maxim , structura pipeline produce un rezultat la fiecare /2
secunde. Pentru o arhitectur dat i setul de instruc iuni aferent ei, exist un num r
optim de stagii pipeline. Dac num rul de stagii pipeline cre te peste aceast limit ,
se va reduce performan a global . O solu ie pentru a cre te viteza f a face
compromisuri este arhitectura superscalar , prezentat anterior.
În figura 2.25, este prezentat un exemplu de execu ie pipeline (a),
superpipeline (b) i superscalar (c) a unei instruc iuni.
Suprapunerea opera iilor CPU cu opera iile I/O
Utilizarea unor controlere I/O separate permite efectuarea în paralel a
opera iilor interne ale CPU cu opera ii de transfer de date pe canalele I/O.
Exemple de controlere I/O:
• controlere DMA (Direct Memory Access), care permit transferul direct de
date: memorie – memorie sau memorie – canale I/O, bazat pe principiul
cererii de magistral (aceasta reprezint una dintre tehnicile evoluate de
transfer de date, vezi paragraful 3.4.4.2);
• procesoare specializate I/O, care lucreaz pe canale I/O cu sarcini specifice.
40 ARHITECTURA SISTEMELOR DE CALCUL
Fig. 2.25. Modul de operare al tehnicilor pipeline (a), superpipeline (b) i superscalar (c).
Exemplu. Fie trei procese paralele, P1, P2 i P3, fiecare fiind v zut în timp
ca o succesiune de trei etape: intrare (i), calcul (c), ie ire (o) (vezi figura 2.27.a).
Multiprogramarea
În acela i interval de timp pot exista mai multe programe (procese) active în
sistemul de calcul, concurând pentru memorie, I/O i CPU. Totu i, unele programe
sunt orientate c tre calcule (utilizând intens CPU), în timp ce altele sunt orientate
tre citirea/scrierea dispozitivelor I/O. Se pot astfel organiza (intercala) cele dou
clase de programe pentru a ob ine un timp de prelucrare global cât mai bun. În
figura 2.27.b, câ tigul de timp este notat cu .
Intercalarea programelor permite utilizarea mai eficient a resurselor
calculatorului prin suprapunerea opera iilor I/O cu opera iile CPU. Acest mod de
organizare este gestionat de sistemul de operare (programul de supervizare). Astfel,
multiprogramarea se poate defini ca intercalarea opera iilor CPU cu opera ii I/O
pentru mai multe programe.
Observa ii.
1. P1, P2 i P3 pot apar ine aceluia i program sau unor programe diferite.
2. În cadrul multiprogram rii, se poate întâmpla ca un proces cu prioritate
mare s ocupe CPU un timp îndelungat i în acest fel se împiedic
execu ia altor procese. Neajunsul se poate înl tura folosind un sistem de
operare cu divizare în timp.
Diviziunea în timp (time sharing)
Diviziunea în timp reprezint împ irea timpului de execu ie al CPU între
toate procesele (task-urile) active din sistemul de calcul. Cuantele de timp alocate
fiec rui proces pot fi inegale de la un proces la altul. Viteza de prelucrare poate
cre te astfel mai mult decât în cazul multiprogram rii (vezi cazul particular din
figura 2.28).
2.3.1. Mainframe-uri
2.3.2. Supercalculatoare
Din punct de vedere al interconect rii, BlueGene/L posed mai multe re ele:
dou re ele pentru conectarea procesoarelor, o re ea inel 3D i o re ea arbore.
Re eaua inel este folosit pentru comunica ii generale, iar cea arbore pentru
comunica ii colective: broadcast, opera ii de reducere etc. L rgimea de band a
re elei arbore este de dou ori mai mare decât a re elei inel, ajungând la 350 MB/s
(fa de 175 MB/s).
Performan ele sistemului ajung la 280,6 Tflops pentru testul Linpack. În
urma testului, s-a efectuat rezolvarea unui sistem liniar de N = 1.769.471 ecua ii.
Eficien a rezultat a fost de 76%.
Supercalculatoarele care au la baz modelul IBM BlueGene/L
implementeaz arhitectura masiv paralel .
Aceasta const într-un num r de procesoare (de obicei, foarte mare – de
ordinul miilor) interconectate i controlate de un singur computer central. Fiecare
CPU are memoria sa i spa iul de date propriu, care con ine i o copie a sistemului
de operare. Toate blocurile CPU comunic între ele cu ajutorul unor interconect ri
de foarte mare vitez .
Tipuri de arhitecturi 49
IBM 370/168
Astfel, cele dou CPU sunt servite de dou interfe e paralele cu magistrala
principal a sistemului, iar arbitrarea traficului pe aceasta este efectuat de un
controler specializat. Accesul la magistral este multiplexat, astfel c la un anumit
moment de timp i pentru o durat bine stabilit (fix sau adaptat sarcinii curente)
accesul la magistral îl are doar un singur procesor. Aceste tipuri de scheme pot
cuprinde zone de memorie cache comune (integral sau par ial), iar magistrala poate
fi cu l ime variabil sau cu adaptare dinamic la cereri.
Tipuri de arhitecturi 53
Pentium II biprocesor
Cre terea performan elor este realizat prin utilizarea magistralei punct-la-
punct (Point-to-Point) i a modului snoop. Modul snoop permite citirea datelor de
tre un procesor din cel lalt procesor (prin intermediul Northbridge-ului),
nemaifiind necesar accesarea memoriei. Acest mod elimin tehnica prin care
datele necesare unuia din cele dou procesoare erau înscrise în memorie de c tre
primul procesor i apoi citite de c tre al doilea.
AMD K7 biprocesor
Microprocesorul AMD K7 lucreaz pe magistrala ultrarapid EV6 la
frecven a de 200 MHz. Astfel, K7 poate folosi memorii foarte rapide i cu l rgime
de band mare, cum este Rambus DRAM. Datorit suportului multiprocesor al
protocolului de magistral EV6, sistemele AMD pot fi folosite în domeniul sta iilor
de lucru i al serverelor. Arhitectura EV6 permite o flexibilitate ridicat , cu
facilit i de tipul topologiei punct-la-punct i clock-forwarding. Magistralele de
date i de adrese sunt decuplate, procesorul putând s emit cereri în timp ce
prime te date i comenzi de la logica de sistem. Tot aici sunt gestionate
transferurile cu sistemul, c tre memorie sau c tre magistralele AGP i PCI.
Schema bloc a acestei arhitecturi este prezentat în figura 2.36.
• Exist mai mul i factori care limiteaz performan a real a unui sistem
multinucleu. În primul rând, magistralele de sistem i de memorie sunt
partajate, astfel încât devin „gâtuiri” (bottlenecks) care limiteaz fluxul
de date c tre nucleele multiple ale procesoarelor, în acela i mod în care o
osea cu prea pu ine benzi de circula ie produce uneori blocaje.
Intel Core 2
Procesoarele Intel Core 2 Duo sunt produse folosind tehnologia de fabricare
Intel pe 65 nm. Versiunea pentru desktop-uri a procesoarelor furnizeaz o cre tere
de 40% a performan ei i este cu peste 40% mai eficient din punct de vedere al
consumului de energie, în compara ie cu cel mai bun procesor Intel anterior.
Potrivit anali tilor independen i, procesoarele câ tig 9 din cele 10 teste majore de
performan pentru desktop-uri, servere i calculatoare destinate jocurilor.
Familia de procesoare Intel Core 2 Duo este format din 5 procesoare pentru
platforme desktop destinate afacerilor, utiliz rii individuale i entuzia tilor pentru
tehnologie, precum i din 5 procesoare pentru notebook-uri.
Familia de procesoare Intel Core 2 Duo este bazat pe micro-arhitectura Intel
Core. Prin intermediul celor dou nuclee de execu ie, procesoarele pot executa cu
vitez un num r mai mare de instruc iuni. De asemenea, procesoarele pot opera
mai rapid la lansarea simultan în execu ie a mai multor aplica ii, de exemplu,
scrierea unui e-mail în acela i timp cu desc rcarea de muzic i scanarea antivirus.
Procesoarele Dual-core contribuie la îmbun irea execu iei programelor, de
exemplu, în cazul vizion rii unor clipuri high-definition sau al protej rii PC-ului în
timpul tranzac iilor financiare pe Internet, crescând, de asemenea, autonomia
bateriei în cazul notebook-urilor, care pot deveni astfel mai sub iri i mai u oare.
Inova iile aduse de Intel prin introducerea arhitecturii Intel Core 2 (Duo i
Exteme) sunt urm toarele:
Intel Wide Dynamic Execution – îmbun te performan a i eficien a,
întrucât fiecare nucleu de execu ie poate realiza pân la 4 instruc iuni simultan,
folosind un pipeline eficient în 14 stagii.
Intel Smart Memory Access – îmbun te performan a sistemului,
diminuând laten a cipurilor de memorie i optimizând astfel utilizarea l rgimii de
band disponibile pentru furnizarea datelor c tre procesor când i unde este nevoie.
Intel Advanced Smart Cache – include o memorie cache L2 comun ,
proiectat pentru a reduce consumul de energie prin mic orarea traficului de
memorie, i m re te performan a, permi ând unui nucleu de execu ie s utilizeze
întreg cahe-ul atunci când cel lalt nucleu nu este folosit. Aceast func ie este
asigurat pentru toate segmentele de pia : server, desktop i notebook.
Intel Advanced Digital Media Boost – dubleaz efectiv viteza de execu ie a
instruc iunilor folosite cu prec dere în aplica iile grafice i multimedia.
Intel 64 Technology – aceast îmbun ire adus arhitecturii Intel pe 32 de
bi i ofer suport pentru procesarea pe 64 de bi i i permite procesorului s acceseze
o cantitate mai mare de memorie.
Nucleul de execu ie al procesorului Intel Core este reprezentat în figura 2.40.
Caracteristicile func ionale ale acestei arhitecturi sunt expuse în cele ce urmeaz .
60 ARHITECTURA SISTEMELOR DE CALCUL
Pipeline-ul
Intel Core are un pipeline realizat în 14 stagii, la fel de lung ca la Power PC
970, aproximativ jum tate din cel de la Pentium 4 Prescott (~ 30 etape) i pu in mai
lung decât cel de la P6 (12 etape). Aceasta înseamn c Intel Core este proiectat
pentru o cre tere lent a vitezei de ceas i nu scaleaz la fel de rapid ca Pentium 4.
Fereastra de instruc iuni
Deoarece partea din spate este mult mai lat decât a predecesorilor, buffer-ul
de reorganizare (Reorder Buffer, ROB) a crescut la 96 de intr ri, de la 40 cât avea
Pentium M, iar sta ia de rezervare (Reservation Station, RS) a fost m rit .
Fereastra de instruc iuni din Intel Core a fost m rit nu numai fizic (ROB +
RS), ci i virtual. Macro-fuziunea i micro-opera iile (descrise anterior), permit lui
Intel Core s re in mai multe instruc iuni cu un num r mai mic de resurse
hardware.
62 ARHITECTURA SISTEMELOR DE CALCUL
Fig. 2.42. Structura hardware pentru decodarea instruc iunilor din arhitectura Intel Core.