Sunteți pe pagina 1din 9

Cap.4.

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 p stra 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.
77

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 totu i 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
78

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
79

operaii, pe care le poate executa foarte rapid. Cele mai multe instruc iuni 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), introducnduse 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 microoperaii 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 microoperaiile 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 L1 de cte 8K, dar n plus are un cache de nivel
80

2 L2 de 256 K, tot intern, cuplat la CPU printr-o magistral dedicat de 64 bii. Dac cache-urile L1 sunt dual port, cache-ul L2 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 L1 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 L2 de cache). Modificrile importante aduse n logica intern sunt: memoria
81

cache de nivel L1 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 L1 de 64 K, iar cache L2 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 L1 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.
82

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 L3 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, p rin 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.

83

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.
84

Sisteme distribuite

85

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