Sunteți pe pagina 1din 9

53

Cap.5. Arhitecturi de sisteme cu P



Evoluia n timp a arhitecturii sistemelor cu microprocesoare este util
pentru a ntelege mai bine modul dedicat al sistemelor actuale i n principal
sistemele numite generic calculatoare de proces sau sisteme de calcul
industriale.

>>n anul 1979 este realizat, de firma Intel, primul P de 16 bii (8086).
Acesta a pstrat resursele procesoarelor anterioare, pentru a pstra compatibilitatea
cu softul deja scris pentru ele, dar arhitectura sa intern conine 2 uniti ce
lucreaz n paralel:
-unitatea de executie EU (Execution Unit), care realizeaz prelucrarea
efectiv a datelor
-unitatea de interfa cu magistrala BIU (Bus Interface Unit) care realizeaz
comunicaia cu lumea extern.
Odat cu acest procesor este produs i procesorul 8088, cu aceeai structur
cu 8086, dar care comunic n exterior printr-o magistral de 8 bii, i nu de 16 bii
ca la 8086. Aparent, acesta ar trebui s lucreze cu o vitez de 2 ori mai mic dect
8086, deoarece trebuie s execute 2 accese la memorie, fa de 8086 care va
executa un singur acces. Lucrurile nu se ntmpl astfel deorece unitatea BIU
gestioneaz o memorie de tip coad n care se gsesc, aproape n permanen,
urmtorii 6 octei ai instruciunilor ce urmez s se execute. Singurele momente n
care coada trebuie iniializat, i deci EU trebuie s atepte efectiv citirea unei
instruciuni, sunt cele ce urmeaz dup execuia unei instruciuni de salt. n acest
mod, diferena de vitez dintre 8086 i 8088 este doar de 20%.
Aceste procesoare au introdus noiunea de segmentare a memoriei (doar n
modul real), adic registrele de 16 biti sunt folosite ca indici de adres ntr-un
segment fizic de memorie cu marimea de 64K. Procesorul putea realiza 330.000
op/s la o frecven de 4,77 MHz, si putea avea acces la 1M de memorie.

Odat cu acest procesor apare i conceptul de coprocesor, care este un
procesor dedicat, legat direct pe magistrala microprocesorului i care extinde
domeniul funciilor realizate. Cel mai important coprocesor realizat de Intel este
8087 care realizeaz calcule in virgul mobil.
n anul 1981, firma IBM produce primul calculator IBM PC (personal
computer) bazat pe procesoarele 8086.
Impactul mare al acestui calculator s-a datorat faptului c firma a publicat
schemele acestui calculator i un listing al BIOS-ului. n acest mod, multe firme au
realizat echipamente compatibile IBM.

>>n 1982 sunt realizate procesoarele 80186 i 80286. Primul este de fapt un
8086 mai rapid, prevzut cu o serie de circuite auxiliare pentru a realiza
calculatoare compatibile IBM PC/XT (External Technology). ncepnd din anii
`80, termenul de microprocessor a fost substituit cu cel de procesor datorit
complexittii din ce in ce mai mari a acestor cipuri.
54
n schimb, procesorul 80286 reprezint o etapa nou n arhitectura
procesoarelor, deoarece o serie de concepte clasice din domeniul calculatoarelor
mari au fost transferate la acesta: multiprelucrare i multiacces, care utilizeaz
mecanisme pentru gestiunea memoriei virtuale i pentru protecia memoriei
atribuite unui proces(task). Spaiul de memorie fizic este i el mrit de la 1M la
16 M.
Odat cu procesorul 80286 a aprut termenul de mod protejat . Acest mod
nou de lucru, utilizeaz coninutul registrului segment (nu ca adresa de baz a
segmentului, ca in modul real) ci ca un selector(index) ntr-o tabel a
descriptorilor de segment. Un descriptor de segment conine adresa fizic de baz
a segmentului (pe 24 de biti, oferind deci un spatiu de memorie de 16M).
Mecanismele de protecie a memoriei cuprind:
- verificarea limitei adresabile a unui segment;
- segmente ce pot fi doar citite;
- segmente ce pot fi doar executate;
- opiuni drepturi de acces intr-un segment;
- 4 niveluri de protecie a codului sistemului de operare fa de programele
de aplicaie i cele utilizator;
- mecanisme de comutare de task-uri i tabele descriptori locali, care
permit sistemului de operare s protejeze aplicaiile sau programele unele
fa de altele;

n 1983 este realizat si primul mediu de programare, constituit dintr-un
editor si compilator aflate n interaciune, adic Turbo Pascal, de ctre firma
Borland.

>>Primul procesor pe 32 de bii al firmei Intel apare n 1986 i este numit
80386. Acesta poate accesa un spaiu de adrese de 4G pentru un singur segment,
ajungnd pn la 64T de memorie virtual. Procesorul posed aceleai faciliti
ca 80286, dar dispune suplimentar, de memorii interne rapide, fiind totui
compatibil cu predecesorii si. Toti urmaii si, de la 80486 pn la Pentium 4, se
bazeaz n principiu pe aceeai arhitectur. Procesorul 80386 a introdus registre pe
32 de bii pentru folosirea lor att la operanzi, ct i pentru adrese. De fapt ultimii
16 bii din registrele pe 32 reprezint registrele de 16 biti, corespunztoare
procesoarelor precedente, pentru a asigura o compatibiltate total cu acestea. Setul
de instruciuni de baz a fost mbogait cu noi instruciuni. La acest procesor apare
conceptul de paginare, pentru adresarea memoriei, cu pagini de dimensiune fizic
de 4 K, care ofer o metod de implementare a memoriei virtuale mai bun dect
segmentarea.
n plus, posibilitatea de a defini segmente de lungime egal cu spaiul de
adresare, mpreun cu mecanismul de paginare, permit crearea unui spaiu de
adrese liniar protejat, mod folosit de sistemele de operare UNIX.
Pe lang acestea, s-au dezvoltat n arhitectura procesoarelor, tehnici de
procesare (prelucrare) paralel. Astfel, dac la 8086 erau doar 2 uniti
55
funcionale care lucrau n paralel, 80286 4 uniti funcionale, iar 386 conine 6
uniti funcionale ce lucreaz n paralel.
Cele 6 uniti sunt:
- Unitatea de interfaa cu magistrala BIU(Bus Interface Unit);
- Unitatea de citire n avans a intstruciunii (Code Prefetch Unit), care ia
codul obiect al instruciunii din memorie i l depune ntr-o coad de 16
bii;
- Unitatea de decodificare a instruciunii, care decodific codul obiect din
coad de instruciuni n microcod;
- Unitatea de execuie;
- Unitatea de translatare a adreselor (Segment Unit), care translateaz
adresele logice, n adrese liniare i realizeaz verificrile de protecie;
- Unitatea de paginare (Paging Unit), care translateaz adresele liniare n
adrese fizice i realizeaz verificrile de protecie legate de pagini.
Aceasta unitate mai conine o memorie cache cu informaii de lucru
pentru cel mult 32 de pagini, cele mai recent accesate.
Coprocesorul asociat, 80387 este i el mbuntit, adugndu-se noi operaii
cum ar fi funciile trigonometrice.

>>O variant mbuntit a acestui procesor este 80486, produs n 1989,
care este la fel cu 386, dar include n aceeai capsul (chip) i coprocesorul
matematic, fiind de cel putin 2 ori mai rapid dect 386 la aceeai frecven. La
acest procesor s-a dezvoltat paralelismul execuiei prin expandarea unitilor de
decodificare a instruciunilor i de execuie ntr-o band de asamblare(pipeline) cu
5 nivele, n care unitatea fiecarui nivel opereaz n paralel fa de celelalte,
putndu-se executa, n acest mod, 5 operaii n paralel. Fiecare nivel din banda de
asamblare i realizeaz sarcina corespunztoare pentru execuia unei instruciuni
pe durata unui impuls de ceas. n plus fa de 386, procesorul 486 are o memorie
cache intern de date i de instruciuni de 8K, pentru a mari procentul
instruciunilor care se pot executa la vitez maxim.
Tot la nivelul acestui procesor ncep s se ncorporeze caracteristici pentru
reducerea consumului sau pentru controlul sistemului, care sunt specializate
pentru sistemele portabile, alimentate la baterii.
Dac la primele procesoare din familia Intel X86 s-a utilizat o arhitectur
complex denumita arhitectur CISC (Complex Instruction Set Computer),
ulterior, ncepnd cu procesorul 486, prin utilizarea conceptului de banda de
asamblare(pipeline), arhitectura acestor procesoare se apropie de o arhitectur
RISC (Reduced Instruction Set Computer).
Cercetrile i testele au artat c o suit de instruciuni simple se poate
executa mai rapid dect o instruciune complex, iar diminuarea numrului de
comenzi i a complexitii lor permite reducerea spaiului utilizat de acestea n
procesor, avnd ca i consecin creterea vitezei de lucru. Arhitectura RISC a fost
dezvoltat ncepnd cu anii `70, iar setul de instruciuni ntr-o variant RISC,
const doar n instruciuni simple, cu moduri de adresare limitate. Ideea de baz a
fost ca, n locul unei sumedenii de operaii, procesorul s ofere un set restrns de
56
operaii, pe care le poate executa foarte rapid. Cele mai multe instruciuni se
execut ntr-un singur ciclu. Arhitectura hardware a unui procesor Pentium este de
tip RISC. Pe lang setul redus de instruciuni, procesoarele RISC mai ofer
urmtoarele avantaje:
- operaii cu registre, minimiznd astfel necesarul de acces la memorie;
- memorie cache integrata pe chip, evitndu-se lucrul cu memoria;
- un modul pipeline, pentru a permite procesarea mai multor instruciuni
ntr-un ciclu.

Dezavantajele procesoarelor RISC este c, procesnd un set mai mare de
registre, operaiile de multitasking (eventual multiprelucrare) necesit comutri de
multe registre.

>>Ulterior, firma Intel a produs, n anul 1994, i un procesor pe 64 bii,
denumit Pentium, tocmai pentru a-l deosebi de procesoarele cu aceeai structur
produse de alte firme. La acest procesor s-a adugat o a 2-a band de asamblare
pentru a se obine performane superioare (cele 2 benzi de asamblare, numite U i
V, pot lucra n paralel, executnd 2 instruciuni pe un impuls de ceas). De
asemenea, a fost dublat i memoria cache intern, avnd cte un cache pentru date
i unul pentru cod, fiecare de cte 8K.
Pentru a se mbuntaii performana execuiei ramificaiilor din programe s-a
implementat conceptul de predicie a salturilor(branch prediction), introducndu-
se o tabel pentru memorarea adreselor cele mai probabile la care se fac salturile
(BTB Branch Target Buffer). Registrele principale au ramas tot de 32 de bii, dar
cile interne de date au fost fcute pe 128 sau 256 bii, cu o magistral extern de
64 de bii. Procesorul Pentium are ncorporat un controller de ntreruperi
programabil avansat (APIC Advanced Programable Intrerupt Controller) folosit
n sistemele multiprocesor. Dac prima versiune de Pentium necesita 5V pentru
alimentare, cea de-a doua era alimentat cu 2,9 - 3,5V i coninea o tehnologie de
tip Power Management, care permitea procesorului s intre n starea de stand-by
n momentele cnd nu era folosit, consumnd astfel mai puina putere.
Ulterior, n 1995, a aprut o variant mbuntit (prin mrirea
paralelismului) a procesorului Pentium: Pentium Pro, care are o arhitectur
superscalar pe 3 ci, adic poate executa 3 instruciuni n paralel, deci ntr-un
impuls de tact. Acest procesor suporta o execuie dinamic a codului: analiza
fluxului de microcod, execuia out of order a instruciunii, predicia salturilor,
execuia speculativ; 3 uniti de decodificare a instruciunilor lucreaz n paralel
la decodificarea codului obiect ntr-o secven de micro-operaii. Aceste micro-
operaii sunt depuse (dac nu apar dependene ntre ele) ntr-un tampon de
instruciuni (instruction pool) de unde pot fi executate n paralel, n orice ordine,
de ctre cele 5 uniti de executie (2 ntregi, 2 FPU, i una de interfat cu
memoria. Unitatea de retragere/extragere (retirement unit) extrage apoi micro-
operaiile finalizate, n ordinea lor specificat de program, innd cont i de salturi.
Puterea procesorului Pentium Pro este marit i de memoria cache: are cele
2 memorii cache interne de nivel L
1
de cte 8K, dar n plus are un cache de nivel
57
2 L
2
de 256 K, tot intern, cuplat la CPU printr-o magistral dedicat de 64 bii.
Dac cache-urile L
1
sunt dual port, cache-ul L
2
suport pn la 4 accese
concurente. Magistrala extern de date este orientat pe tranzacie, adic fiecare
acces este tratat ca o cerere i un rspuns, distinct, permind un numr mare de
cereri n timpul n care se ateapt un rspuns. Acest paralelism n accesul datelor,
mpreun cu paralelismul execuiei, ofer o arhitectur fr blocare, n care
procesorul este folosit la capacitatea lui maxim i performanele sunt mult
mbuntaite. Magistrala de adrese este pe 36 de bii, oferind un spaiu de adrese de
64 G.

>>O alt variant a fost Pentium MMX, aprut n 1997, care cuprinde un set
de 57 de noi instruciuni, 4 noi tipuri de date i un nou set de registre, pentru a
extinde performanele multimedia i de comunicaie. Tehnologia MMX (Multi
Media-Extension) are la baz o arhitectur SIMD (Single Instruction Multiple
Data) care permite extinderea aplicaiilor multimedia: grafic 2D, 3D, video,
procesare de imagini-sunet, care folosesc algoritmi de calcul intensivi asupra unor
siruri de date simple.
Elementele noi care au aprut fa de vechiul Pentium (fr MMX) sunt:
memorie tampon L
1
dublat la 32 K, algoritm de predicie pentru salturi (
execuie speculativ mbuntait), structura pipeline mbuntit i evident
suportul MMX.
Mediile de lucru grafice i aplicaiile multimedia complexe impun cerine
deosebit de severe n privina puterii de calcul a procesorului. Una din cile de
mbuntire a performanei procesorului, este realizarea unor mbuntiri ale
arhitecurii interne. n acest scop au fost identificate rutinele cele mai costisitoare,
din punct de vedere al timpului de execuie, i s-au identificat o serie de asemnri
ntre aplicaii: algoritmii sunt deosebit de compleci, cer o putere de calcul ridicat
i se aplic repetitiv pentru zone de date diferite; majoritatea operaiilor sunt de tip
aritmetic i logic; ele se execut n paralel i manipuleaz n bucl date relativ mici
(tipic 16 bii audio si 8 bii grafic). Din acest motiv s-au introdus noi registre,
asemantoare cu cele de la DSP-uri (Digital Signal Procesor procesor de semnale
numerice (digitale)), s-au definit tipuri de date specifice i instruciuni
suplimentare aferente, care s manipuleze aceste date.
Unele aplicaii, scrise special pentru aceste procesoare puteau s-si mreasca
viteza de lucru cu pn la 200%, dar numrul acestora era destul de mic la vremea
respectiva, astfel c n realitate, cresterea performanei globale pentru Pentium
MMX a fost doar 20%, indiferent dac erau sau nu folosite facilitaile respective.
n principal, creterea de performan s-a datorat mririi cache-ului intern, creterii
eficienei algoritmului de predicie a salturilor, precum i a benzii de asamblare. In
ciuda afirmatiilor fcute de Intel, instruciunile MMX nu au reprezentat un salt
important din punct de vedere tehnologic, ci doar comercial.

>>Urmtorul procesor, Pentium II, motenete benzile de asamblare de la
Pentium Pro i cele 2 magistrale independente (cea cu meorie principal i cea cu
nivelul L
2
de cache). Modificrile importante aduse n logica intern sunt: memoria
58
cache de nivel L
1
care are o capacitate dubl i instruciunile MMX pe care le
poate prelucra procesorul. Deci, Pentium II este un Pentium Pro caruia i s-a ataat
o unitate MMX. Spre deosebire de procesoarele anterioare care aveau forma
patrat care se inserau ntr-un soclu (socket), Pentium II este n form slot, fiind
inserat ntr-un cartu, numit SECC Single Edge Contact Cartridge. Dac Pentium
I a adus vitez i performan sub mediul Windows 95, Pentium II a extins
facilitile i posibilitile calculatorului pentru aplicaii cum ar fi: jocuri 3D,
recunoatere vocal, prelucrri audio-video.

>>n 1999 este lansat un nou membru al familiei P6, procesorul Pentium III
care se bazeaz pe arhitecturile procesoarelor Pentium Pro i Pentium II. El adaug
setului de instruciuni existent nca 70 de noi instruciuni, care se adreseaz
unitilor funcional existente i noi uniti n virgul mobil SIMD (Single
Instruction, Multiple Data), care permitea realizri de operaii aritmetice i logice
asupra unor valori n virgul mobil, simpl precizie (32 de biti), mpachetate n
cuvinte de 128 bii, denumit SSE (Streaming SIMD Extension). Aceste
instruciuni sporesc viteza aplicaiilor multimedia, dac exist o colaborare cu
suportul software. O versiune a acestui procesor a fost Celeron, care avea cache L
1

de 64 K, iar cache L
2
de 128 K, care era destinat calculatoarelor ieftine, avnd
performane cu 20-40 % mai slabe dect Pentium III.

>>Procesorul Pentium 4, aprut n 2001, extinde modelul de calcul SIMD
pentru a prelucra i date n virgul mobil de dubl precizie, precum i ntregi,
mpachetate n cuvinte de 128 de biti. n acest scop sunt adaugate i 144 de noi
instruciuni pentru noile tipuri de date. Pe lang aceasta, Pentium 4 este prima
implementare a unei noi microarhitecturi: Intel Netburst, care include suport
Multiprocesor i tehnologie Hyper Threading, precum i tehnologie super banda
de asamblare, pentru a putea opera pana la viteze de 10 GHz. Arhitectura poate
executa instruciunile dinamic, n orice oridine. Pentium 4 are destul de puine
elemente comune cu Pentium II, deci se poate spune c s-a ajuns la generaia a
aptea. Dac pna la acest procesor toi membrii generaiei sale P6 aveau memoria
cache L
1
de 32 K (16 pentru date i 16 pentru instruciuni) acum cele 2
componente sunt separate, cache-ul pentru date are numai 8 K iar cel pentru
instruciuni a fost schimbat complet, devenind aa numitul trace cache cu 12
K de micro operaii. Banda de asamblare a fost extinsa pana 20 de etape
(stagii), fa de Pentium II, III, care avea 12.

>>Procesorul Intel Itanium, aprut tot n 2001, este primul dintr-o noua
familie bazat pe arhitectura Itanium, ISA (Itanium Instruction Set Arhitecture),
care este proiectat pentru a satisface cerinele staiilor de lucru i a serverelor de
mare performan. Aceasta arhitectur se bazeaza pe RISC si CISC (mai precis este
o arhitectur CISC peste RISC), prin combinarea pe scar larg a resurselor
microprocesorului i compilatoarele inteligente care permit explicit execuie
paralel, predictiv si speculativ.
59
Altfel spus, procesorul utilizeaz conceptele de proiectare EPIC (Explicty
Parallel Instruction Computing) pentru o cuplare mai strnsa ntre hardware i
software. Resursele sale mari se combin cu predicia i speculaia pentru a valida
optimizarea pentru aplicaii de mare performan ce ruleaza pe Windows XP
(editia de 64 de bii) sau Linux. Procesorul a fost conceput pentru a suporta sisteme
foarte mari, inclusiv cele care utilizeaz cteva mii de procesoare. Fa de
procesoarele anterioare, posed i nivelul L
3
cache, care poate avea 2 sau 4 M, i
care este asociativ, cu o dimensiune a liniei de 64 K.
Resursele sale constau din 4 uniti ntregi , 4 uniti multimedia, 2 uniti de
ncrcare/msurare, 3 uniti de ramificare, 2 uniti n virgul mobil de precizie
extins i 2 uniti suplimentare n virgul mobil de simpl precizie. Unitile n
virgul mobil pot opera la de 3 Gflops (pentru precizie extins) i 6 Gflops
(pentru dubl precizie). Procesorul poate citi, transmite, executa i extrage 6
instruciuni la fiecare ciclu de ceas procesor.
Arhitectura Itanium este cea mai seminificativ i avansat, de la procesorul
Intel 386, i pn n prezent. n 2002 a a aprut urmaul acestui procesor Itanium 2
care marete performana procesorului anterior de 1,5 2 ori, prin extinderea
semnificativ a performanei peste sisteme bazate pe RISC, pentru aplicaii foarte
mari.
Creterea frecvenei procesoarelor este principalul mijloc de extindere a
performanelor alturi de mbuntirea arhitecturii. Astfel, dac primul PC avea
frecvena de 4,77 MHz, n continuare acesta a evoluat rapid: 33 MHz(1991), 400
MHz(1998), peste 3GHz(2002).
Procesoarele urmtoare se caracterizeaz i prin imbuntirea i extinderea
arhitecturii RISC, completat corespunzator cu partea sofware.

Arhitectura calculatoarelor
Termenul de arhitectura calculatoarelor este de cele mai multe ori
utilizat cu semnificaia simpl de organizarea i proiectarea calculatoarelor. n
practic, ntr-un sistem de calcul (sistem cu P) exist mai multe arhitecturi
distincte, fiecare fiind definit de o legtur ntre diferitele niveluri ale aplicaiei.
n figura de mai jos este prezentat o schem abstract a unui sistem de
calcul, unde cele mai simple operaii sau funcii sunt plasate n partea inferioar,
iar cele mai complexe operaii, dependente de utilizatori, ocup nivelurile
superioare. Fiecare nivel folosete funciile furnizate de nivelul anterior.
60

Practic, o arhitectur este legtura sau interfaa ntre 2 module funcionale.
Ea poate fi definit ca o vedere funcional a sistemului printr-o interfa pentru
utilizator care se situeaz deasupra nivelului respectiv. n principiu, un utilizator
care se plaseaz pe un anumit nivel este interesat numai de detaliile de
implementare de la nivelul imediat inferior.
Arhitectura global este interfaa ntre ntregul sistem de calcul i lumea
exterioar care este numit arhitectura sistemului. Undeva, mai jos, este interfaa
ntre procesorul de aplicaie i limbajul de programare de nivel nalt. Aceast
denumire definete arhitectura limbajului de programare. De obicei, programatorul
se plaseaz pe acest nivel. n continuare, este interfaa ntre limbajul de programare
i diferite funcii de administrare a resurselor, n timpul execuiei, care sunt
furnizate de ctre sistemul de operare. Acest nivel este definit ca arhitectura
sistemelor de operare.
Urmtoarea interfa este deosebit de important, deoarece ea definete
limita dintre hardware i software. Acesta este nivelul elementar, la care
instruciunile recunoscute de calculator sunt decodificate i executate.
Celelalte 2 niveluri inferioare de arhitecturi (microcod i la nivel de porti)
definesc n detaliu alte funcii primitive, dar care nu sunt interesante pentru cei mai
muli dintre programatori dect n cadrul unor aplicaii de timp real.
n general, termenul de arhitectura calculatoarelor definete grania dinte
hardware si software. Arhitectura este nivelul sistemelor cu microprocesor ce este
vzut de un programator n limbaj de asamblare sau de unul care scrie un
compilator.
O separare pe orizontala a componentelor permite definirea de sisteme
multiprocesor sau distribuite.

61
















Sisteme distribuite

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