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.
22 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);
24 ARHITECTURA SISTEMELOR DE CALCUL
Î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ărţ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.
36 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ănă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.
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ără 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.
42 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
că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ărţ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. Dacă există proces dominant,
viteza de prelucrare poate creşte astfel mai mult decât în cazul multiprogramării,
pentru procesele care urmează celui dominant (vezi cazul particular din figura 2.28).
2.3.1. Mainframe-uri
2.3.2. Supercalculatoare
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 55
Pentium II biprocesor
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ătăţ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ătăţeş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ătăţeş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ătăţ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.41.
Caracteristicile funcţionale ale acestei arhitecturi sunt expuse în cele ce urmează.
62 ARHITECTURA SISTEMELOR DE CALCUL
Fig. 2.43. Structura hardware pentru decodarea instrucţiunilor din arhitectura Intel Core.
Intel Core i7
Seria Intel Core a continuat să evolueze, cu variantele i3, i5, i7, acestea fiind
microprocesoarele multinucleu pentru calculatoare de performanţă redusă, medie
şi, respectiv, înaltă. Fără îndoială că vor urma mai multe alte variante superioare. O
imagine a variantei i7 (2011) este prezentată în figura 2.48. De fapt, aici există
integrate opt nuclee, dar – cu excepţia versiunii Xeon –, doar şase dintre acestea
sunt activate, ceea ce înseamnă că un cip cu unul sau două nuclee defecte din
fabricaţie poate fi vândut prin dezactivarea celui/celor defect(e). Fiecare nucleu are
propriile sale memorii cache de nivel 1 şi 2, dar există, de asemenea, o memorie
cache comună de nivel 3 (L3), utilizată de toate nucleele.
Fig. 2.48. Arhitectura Intel Core i7-3960X, de 21×21 mm, cu 2,27 miliarde tranzistori.