Componentele Si Function Area Microprocesorului

download Componentele Si Function Area Microprocesorului

of 29

Transcript of Componentele Si Function Area Microprocesorului

Componentele si funcionarea microprocesorului

Cuprins:

1. Arhitectura microprocesorului 1.1Nucleul procesorului

1.1.1 Unitatea de comand-control (CU-Control Unit) 1.1.2 Unitatea aritmetic i logic (ALU-Aritmetic Logic Unit) 1.2Memoria Cache

2. Parametrii de evaluare a microprocesorului 3. Evolutia microprocesoarelor calculatoarelor personale

1

Argument:

Am ales acest proiect deoarece am considerat c n contextul actual al dezvoltrii tehnologice este necesar o ct mai bun i complex clasificare a gamelor de microprocesoare aprute pe pia nca din anii `80 i pn acum. Primul microprocesor a fost realizat i lansat n anul 1981 de corporaia INTEL pentru calculatoarele personale IBM. Consider c este important un astfel de proiect deoarece microprocesoarele au cunoscut nc de la apariie o evoluie continu i rapid, iar n prezent numrul persoanelor care mai au cunotine despre arhitectura i dimensiunile procesoarelor din anii `80 a sczut considerabil. Microprocesoarele au evoluat mult de-alungul timpului, att ca i vitez de procesare a datelor ct i ca dimensiuni. Astfel, microprocesoarele au ajuns s fie ncorporate ntr-o gam larg de aparate electronice, ncepnd de la calculatoare personale de tip desktop, continund cu cele portabile i culminnd cu telefoanele mobile,sistemele de navigare de tip GPS, etc. n prezent microprocesoarele sunt foarte raspndite la nivel global,ele fiind utile pentru aproape toate categoriile de persoane. Acest proiect nu este important doar pentru noi, cei ce studiem informatica ntr-un mod mai avansat, ci i pentru cei care vor s aib cunotine generale despre istoria i evoluia microprocesorului. n vederea realizrii unei ct mai bune clasificri, am folosit ca surs de informare i documentare att internetul ct i cri ale unor profesori din Catedra de Informatic a Academiei de Studii Economice Bucuresti. n continuare o s fac o prezentare tehnic detaliat a microprocesoarelor ncercnd s pun n eviden att aspectele tehnice ct i cele practice ale acestora.

2

Calculatorul personal (PC) este recunoscut i sub numele de microcalculator un sistem electronic de calcul a crei unitate central de prelucrare este construit pe baza unui microprocesor. Din punct de vedere funcional arhitectura unui calculator personal cuprinde aceleai uniti funcionale ca oricare alte calculatoare electronice: Microprocesor (CPU-Central Proccessing Unit) Memorie (Main Memory) Periferice

1. Arhitectura microprocesoruluiMicroprocesorul reprezinta elementul de baz al unui microcalculator deoarece comand, coordoneaz i supravegheaz toate activitaile care se desfoar ntr-un calculator electronic. Un microprocesor trebuie s aib capacitatea de a citi i a scrie informatii n i din memoria calculatorului electronic deoarece att instruciunile programelor de aplicaii transmise de procesor ct i datele cu care procesorul lucreaz sunt stocate temporar n aceast memorie. Trebuie s aib capacitatea de a decodifica i a executa instruciunile programelor, trebuie s aib posibilitatea s transmit comenzi celorlalte componente ale calculatorului, asigurndu-se astfel funcionarea ntregului calculator. Pentru a-i realiza serviciile microprocesorul este format din celule numite regitrii. Un registru este o zon de memorie temporal, cu acces foarte rapid, care accept, stocheaz i transmite date i informaii necesare procesului de prelucrare imediat a datelor. Pe masur ce hardul a evoluat, numrul acestor regitrii a evoluat i el, registrele sau specificat i diversificat, de asemenea, capacitatea de memorare a crescut de la 8, 16, 32, 64 Biti. Cu ct capacitatea de memorare a regitrilor din interiorul microprocesorului este mai mare, cu att viteza de memorare a microprocesorului crete, deoarece scade numrul operaiilor de transfer cu memoria, operaii consumatoare de timp. Microprocesorul este un set de circuite integrate ntr-o pastil de siliciu numit CIP. Un astfel de circuit contine zeci de milioane de tranzistori microscopici, gravai i integrai prin tehnologii chimice i foto-litografice pe o structur de siliciu cu mai multe straturi.

3

Tranzistorul este un dispozitiv din material semiconductor care amplifica un semnal sau care deschide sau nchide un circuit. Aceti minusculi tranzitori stocheaz sarcini electrice, lasnd s treac sau nu, prin pori, curentul electric de foarte joas tensiune (ntre 1,5 si 0,7 V) Astfel, un tranzistor care se las strbtut de sarcini electrice (poarta deschis) reprezint informaia ntr-o logic binar de tip 1, iar tranzistorul care i inchide porile, nelasndu-se strbtut de sarcini electrice, reprezint informaia ntr-o logic binar 0. Toat aceast fluctuaie de sarcini electrice reprezint baza limbajului unui calculator, att pentru reprezentarea informaiei, ct i pentru comunicaiile dintre mai multe astfel de echipamente de calcul. Grupurile de tranzistori sunt legate ntre ele pentru a stoca si prelucra (matematic i logic) datele aflate n form binar, n mod sincronizat. Din punct de vedere funcional, coleciile de tranzistori ce formeaz diferitele circuite integrate, individualizeaz mai multe componente de baz ce asigur funciile de prelucrare automat a datelor. Din acest punct de vedere, se deosebesc urmtoarele dou componente funcionale: Nucleul procesorului (core) care are rol de procesare a insstruciunilor si datelor Memoria cache care are rol de stocare temporal a instruciunilor si datelor

1.1 Nucleul procesoruluiNucleul procesorului are un rol primordial n decodificarea instruciunilor programelor i n executarea acestora prin manipularea datelor. Acesta i exercit funciile printr-un sistem integrat de regitrii. Corespunztor funcionalitilor diferite ale nucleului microprocesorului, n

prelucrarea automat a datelor, pot fi deosebite dou categorii de unitai, i anume: Unitatea de comand-control Unitatea aritmetico-logic

1.1.1 Unitatea de comand-control (CU-Control Unit)Unitatea de comand-control realizeaz n principal urmatoarele funcii:

4

Primete instruciunile programului de aplicatie stocat n memoria intern, instruciune cu instruciune, le decodific i apoi comand intrarea n funciune a acelor componente ale calculatorului care trebuie s le execute

Controleaz memoria intern n timp ce stocheaz date i instruciuni Controleaz memoria intern n timpul schimbului de informaii ntre memoria intern i unitatea de comand-control Controleaz schimbul de informaii ntre microprocesor i echipamentele periferice de intrare-ieire Convertete instruciunile programelor de aplicare scrise n limbaje de program de nivel nalt, n limbaje masin.

Microprocesorul, pentru a-i realiza sarcinile este format din dou categorii de regitrii: De uz general Cu destinaie special

Regitrii de uz general servesc la stocarea temporal a datelor pe care le manipuleaz procesorul. Pentru a putea efectua o operaie cu datele stocate n memoria intern, unitatea de comand-control transfer datele din memorie n regitrii de uz general, informeaza unitatea aritmetic-logica n care registru anume sunt depuse datele, activeaz circuitele din unitatea aritmetic-logic care trebuie s execute operaia, informeaz unitatea aritmetic-logic n care registru trebuie s depuna prelucrrile i stopeaz operaia. Unitatea de comand-control prelucreaz un singur tip de informative i anume instruciunile programelor aflate n curs de execuie. Pentru a executa instruciunile unui program stocat n memorie, unitatea de comand-control primete instruciuni din memorie pe msur ce are nevoie de elemente. Ordinea n care primete aceste instruciuni este ordinea n care au fost stocate n memorie. Pentru a executa instruciunile programului unitatea de comand-control este format din urmatorii regitrii cu destinatie special: Controlul ordinal Extractorul de instruciuni Registrul de instruciuni Decodorul de funciuni Ceasul intern5

Circuite de comand

Controlul ordinal furnizeaz i memorez adresa de memorie de unde se va extrage urmtoarea instruciune de executat. El comunic unitaii de comand-control care este locaia fizic din memorie n care se regsete o instruciune de executat. Respectiva cerere de furnizare a adresei circul prin intermediul magistralei de adrese. Adresa fizic de memorie pentru instruciunea cutat, este calculat prin intermediul unitailor de paginare i de segmentare ale microprocesorului. Cutarea adreselor de memorie este posibil prin intermediul regitrilor de index i regitrilor de segment care permit o adresare relativ a unei zone de memorie. n unitatea de comand-control exist un set de regitrii care ajut la recunoasterea drumului parcurs prin memoria RAM a sistemului pentru a cuta o instruciune ce urmeaz a fi activat conform logicii programului n curs de executie. Ansamblul acestor regitrii poart denumirea de regitrii de segment. Fiecare registru de segment este folosit pentru a ctiga accesul la cte un segment de memorie (un segment de memorie poate avea dimensiunea cuprins ntre 1 byte i 4GB). n localizarea adreselor de memorie, controlul ordinal lucreaz cu un circuit specializat numit pointer de instructiune (IP-Instruction Pointer). Acest circuit memoreaz ntotdeauna poziia procesorului n cadrul derulrii programului aflat n curs de executie. Pointerul de instruciune, la rndul su lucreaz n strns legatur cu regitrii de stiv care gestioneaz i manipuleaz informaiile continute n aa-zisa stiv a calculatorului. Pe msur ce un procesor ruleaz un program n plin desfurare, apare necesitatea de a tii n orice moment unde se afl i ce are de fcut n continuare. Pentru a comuta de la un tip de prelucrare la alta, procesorul are nevoie de a pstra rezultatele intermediare ale muncii sale. Aceste informaii oarecum temporale i utile prelucrrilor viitoare sunt pstrate n procesor cu ajutorul regitrilor de stiv, care joac un rol de depozit pentru toate informaiile curente despre activitile procesorului. Atunci cnd un procesor execut o procedur sau ntrerupe temporar o activitate pentru a se concentra asupra alteia, informaiile legate despre locaia unde se afla n program i ce anume se prelucra n momentul ntreruperii sunt depozitate n stiv, astfel nct procesorul s tie de unde i cum s continue procedura ntrerupt. n momentul n care procesorul va trece la o alt activitate, informaiile despre aceasta vor fi depuse n vrful stivei. Atunci cnd procesorul termin de executat procedura sau programul, informaiile despre vechea activitate sunt eliminate din stiv,6

sarcina anterioar reluandu-i locul n vrful stivei, devenind astfel nou sarcin curent (n acest mod, calculatorul revine la operaia anterioar). Extractorul de instruciuni identific i extrage din memorie instruciunea ce tocmai a fost localizat de ctre pointerul de instruciune. Instruciunea extras din memorie circul pe magistrala de data ctre procesor, urmnd a fi stocat ntr-un registru special. Dupa ce o instruciune este memorat, decodificat i executat, unitatea de comand-control comunic extractorului de instruciuni s extrag potrivit logicii programului aflat n curs de execuie, urmtoarea instruciune de executat. Registrul de instruciuni este o a treia unitate funcional a unitaii de comandcontrol i are rolul de a stoca instruciunea aflat n curs de execuie care tocmai a fost extras din memorie. Registrul de instruciuni trebuie s fie perfect compatibil ca numr de bii care se stocheaz cu bus-ul (magistrala de date) i locaia de memorie adresat de procesor n timpul citirii unei instruciuni. Decodorul de funciuni este singurul circuit capabil s recunoasc funcia definit de instruciunea de executat. Acest circuit recunoate sensul instruciunii dintr-un program aflat n execuie, deosebind grupuri de operaiuni elementare care semnific localizarea unei adrese de memorie, citirea i scrierea ntr-o astfel de adres, transferul de date binare, ramificarea execuiei ctre o nou adres, etc. Din construcie, un sistem electronic de calcul este dotat cu un set de instruciuni de baz susceptibile de a fi recunoscute i executate. Acesta inseamn c unitatea de comand-control poate decoda i interpreta instruciunile unui program memorat. Orice procesor, pentru a executa secvene complexe de operaii pe baza instruciunilor unui program memorat utilizeaz un set de instruciuni de baz n decodorul su de funciuni. Ceasul intern (sau generatorul de tact) este un circuit electronic, care distribuie regulat impulsuri pentru sincronizarea diferitelor operaiuni elementare (micro-operaii) ce se efectueaz n timpul derulrii unei instruciuni. Generatorul de tact este n fapt un cristal de cuar, care intr n rezonan atunci cnd este bombardat cu impulsuri electrice, emiand (ca un metronom) impulsuri regulate i egal distaniate n timp. Impulsurile distribuite i egal distanate la viteze de zeci de milioane de cicluri pe secund, conduc la introducerea unei reguli privind momentele la care au loc sincronizrile7

diferitelor operaiuni ce se desfoar n microprocesor. Intervalul n care acest generator de tact sincronizeaz diferitele operaiuni elementare care au loc n microprocesor se desfoar n megahertz sau gigahertzi (1 MHz=1milion de pulsuri pe secund i 1 GHz=1miliard de pulsuri pe secund). n concluzie, se poate spune c frecvenele emise de ceasul intern stabilesc ritmul n care opereaz toate circuitele procesorului. Circuitele de comand permit efectuarea unei anumite actiuni asupra unitailor comandate, dup ce s-au format diferitele comenzi corespondente operaiunilor elementare. Altfel spus, circuitele de comand administreaz i coordoneaz toate fluxurile informaionale care au loc n procesor. Aceste circuite de comand anunt contorul ordinal asupra necesitaii localizrii unei adrese de memorie, de unde extractorul de instruciuni s ncarce n registrul specializat o instruciune, pe care apoi decodorul de funciuni s o ineleag, iar apoi anunt unitatea de prelucrare (aritmetico-logic) cnd trebuie s proceseze datele.

1.1.2. Unitatea aritmetic i logic (ALU-Aritmetic Logic Unit)Unitatea aritmetic i logic sau unitatea de calcul este acea component a procesorului capabil s prelucreze informaia prin calculele matematice i funciile logice pe care le execut. O unitate de protecie controleaz procesul de prelucrare a datelor din unitatea aritmetico-logic. Tendina manifestat de ctre productorii de procesoare este de a dubla sau cvadrupla numrul regitrilor unitaii aritmetico-logice, n fapt fiind vorba de mrimea capacitii de calcul a procesorului. Unitatea aritmetico-logic, conine dou tipuri de circuite specializate n procesarea datelor i anume: Dispozitive de lucru Dispozitive de stocaj intermediar

Dispozitivele de lucru prelucreaz datele sub forma operaiilor aritmetice (de adunare, scdere, nmulire, mprire) i logice. Aceste dispozitive sunt din punct de vedere material circuite care combin impulsurile electrice ce reprezint informaia n form binar.

8

Astfel, prin intermediul operanzilor aritmetici, este permis efectuarea tuturor operaiilor aritmetice de calcul precum i a unor operaii simple cum ar fi de exemplu mutarea datelor dintr-o locatie n alta. Prin intermediul operanzilor logici, este posibil efectuarea a trei categorii de operaii indispensabile programelor i anume: teste, ramificri ale execuiei n funcie de precizarea unor condiii de mplinit i iteraii (un numr de reluri ale prelucrrilor n funcie de anumite condiii precizate). Dispozitivele de stocaj intermediar sunt circuite sub form de regitrii i memorii specializate de capacitate limitat, ce permit nregistrarea la fiecare operaie, a operanzilor i a rezultatelor intermediare. Procesorul poate fi ajutat n efectuarea calculelor de un circuit specializat n efectuarea unor prelucrari specifice (calculi n virgule mobile), mrindu-se astfel considerabil viteza de prelucrare a datelor numerice. Acest circuit specializat n efectuarea de calcule matematice, poart denumirea de coprocesor matematic sau unitate n virgul flotant (FPU-Floating Point Unit). Unitatea de calcul n virgule mobile este capabil s manipuleze numere extrem de mari sau de mici. n timp ce aceasta trateaz calcule complexe n virgule mobile, unitatea aritmetico-logic poate executa alte prelucrri, ceea ce duce la creterea performanelor microprocesorului n termeni de vitez de procesare.

1.2.

Memoria Cache

Procesoarele moderne, n special cele superscalare, funcioneaz la viteze din ce n ce mai mari, dictate de frecvena pulsurilor ceasului intern. n acelai timp, este recunoscut latena memoriei interne - n termeni de timpi de acces i de rspuns-fa de cerinele de prelucrare ale procesorului. Pentru ca procesorul s nu execute cicluri-main n gol, pierznd timpi de calcul, o parte din cele mai accesate informaii din RAM se gsesc salvate ntr-o mic memorie a procesorului - numit memorie cache. Astfel, datele i instruciunile pot fi stocate temporar direct n procesor, micorndu-se numrul de accesri ale memoriei RAM. Prin aceast soluie, viteza microprocesorului este mult sporit, datorit faptului c schimburile de informaii se efectueaz la frecvena ceasului intern.

9

n principiu un procesor modern posed dou (sau chiar trei) niveluri de memorie cache, i anume: cache-ul primar sau de nivel 1 (LI - Level 1) i cache-ul secundar sau de nivel 2 (L2 - Level 2). Cache-ul primar, de dimensiuni relativ mici (32, 64, 128), stocheaz datele foarte rapid n interiorul procesorului, funcionnd la aceeai frecven de tact cu acesta. Cacheul utilizeaz algoritmi pentru predicia i completarea datelor ce nu sunt disponibile imediat, fapt ce duce la creterea accelerat a vitezei de prelucrare. Prin iterarea ideii de cache, productorii de sisteme de calcul au plasat o memorie de tip RAM de mare vitez - numit cache de nivel 2 sau extern ntre primul nivel de cache i memoria RAM. Cache-ul secundar sau extern este de dimensiuni mai mari (512, 1024, 2048 KB) i servete ca intermediar n tranzaciile procesorului cu memoria, alimentnd de regul primul nivel de cache. Iniial (la Pentium I), cache-ul de nivel 2 era situat pe placa de baz, n proximitatea procesorului, viteza acestuia fiind dictat de frecvena de tact a plcii de baz (FSB). Ulterior, la Pentium II un cartu de tip SEC (Single Hdge Connector) integra att procesorul propriu-zis ct i memoria cache de nivel 2 (512 KB) cu circuitele de legtur aferente.Datorit acestei configuraii, memoria cache L2 funciona la jumtatea vitezei procesorului, n mod independent fa de bus-ul plcii de baz. Acest cache secundar a avut efecte att de benefice asupra performanelor microprocesoarelor, nct majoritatea fabricanilor de procesoare (de la Pentium II n sus) l-au integrat direct pe siliciul cipului, oferind resurse de stocare att pentru date, ct i pentru instruciuni.

2. Parametrii de evaluare a microprocesoruluiUn microprocesor trebuie s fie n primul rnd adaptat exigenelor prelucrrii automate a datelor i ca atare trebuie s fie cuantificat n termeni de vitez de prelucrare, de volum de informaii procesate i nu n ultimul rnd de eficien a prelucrrii. Microprocesorul se poate caracteriza prin urmtorii parametri de baz: 1. viteza de lucru; 2. capacitatea de memorie adresabil; 3. setul de instruciuni pe care Ic poate executa.; 4. articularea configuraiei ntr-o arhitectur multiprocesor.10

i.

Viteza de lucru a unui microprocesor este un parametru definitoriu, care depinde

nemijlocit de efectul conjugat al mai multor factori : a) frecvena ceasului intern; b) dimensiunea regitrilor microprocesorului; c) limea de band a magistralei procesorului i a magistralei de intrri/ieiri; d) numrul de stagii ale arhitecturii pipeline; e) tipul i capacitatea de calcul a coprocesorului matematic; f) existena i dimensiunea memoriei cache; g) tehnologia de miniaturizare a tranzistorilor; h) sistemul de operare cu care lucreaz un microprocesor. a) Frecvena ceasului intern reprezint intervalul n care un oscilator

trimite impulsuri regulate pentru sincronizarea diferitelor operaiuni elementare care au loc n microprocesor la executarea unei instruciuni. Creterea frecvenei ceasului intern, a generat modificri structurale n concepia unui procesor. O arhitectur segmentat asigur o circulaie continu a biilor n procesor i previne fenomenele de ncetinire a "curgerii" lor. Acest tip de arhitectur multiplic unitile de execuie a instruciunilor (aa-numitele pipeline-uri). Funcionarea unui procesor prin "pipeline" este asemnat cu o band de montaj unde se execut prelucrri pe posturi bine definite i unde un bit prelucrat este transmis imediat urmtorului post de lucru. Realizarea unei instruciuni din setul de instruciuni al procesorului nu se identific de regul cu o frecven a ceasului intern. Intre dou pulsuri de ceas pot fi prelucrate: o operaiune elementar sau o micro-operaie, ce reprezint doar o component a

unei instruciuni procesor (de exemplu, depunerea adresei de memorie pe magistrala de adrese; comanda de citire din memorie; citirea propriu-zis; depunerea valorii citite pe magistrala de date; prelucrarea valorii citite de ctre microprocesor), la sistemele subscalare (o instruciune procesor = mai multe pulsuri de ceas); cte o instruciune procesor sau un ciclu-main complet, la sistemele scalare (mono sistem pipeline - o instruciune din setul de instruciuni se execut la o frecven a ceasului intern); mai multe instruciuni procesor, n cazul sistemelor superscalare (multi-sistem pipeline mai multe instructiuni se executa la un puls de ceas).11

Frecvena ceasului intern se msoar astzi n gigahertzi (1 GHz = 1 miliard de pulsuri pe secund). Valorile frecvenei ceasului intern sunt cresctoare i direct proporionale cu evoluia calculatoarelor personale. Frecvenele microprocesoarelor au evoluat n mod continuu, de la 8 MHz ct avea un calculator "XT", la peste 4 GHz ct are un "Pentium IV" de ultim generaie. b) Viteza unui microprocesor depinde n mod nemijlocit i de dimensiunea

revistrilor interni ai procesorului. Cu ct dimensiunea regitrilor este mai mare, cu att capacitatea de stocare n procesor crete, iar numrul biilor transferai ntre microprocesor i memoria intern este mai mare. Astfel, cu ct regitrii interni au o capacitate mai mare de stocare a informaiei, numrul de tranzacii dintre procesor i memorie scade. In concluzie, la un puls al ceasului intern volumul datelor transferate este mai mare. Dimensiunile standard pentru regitrii interni ai microprocesorului sunt de 32, 64, 128 i 256 de bii. c) Limea de band a magistralelor de comunicaii.

Arhitectura magistralei este important pentru c de ea depind performanele microprocesorului i performanele echipamentelor periferice. O magistral nseamn modul n care sunt interconectate componentele calculatorului. O magistral este o cale electronic de comunicaie ntre procesor si celelalte componente ale sistemului i ntre cele doua componente ale microprocesorului. O arhitectur de magistral (BUS) influeneaz viteza microprocesorului n primul rnd prin lrgimea sa de band i prin rata de transfer. Lrgimea de band a magistralei reprezint numrul de bii care pot circula n paralel pe magistral (8, 16, 32, 64, 128 bii). Rata de transfer reprezint volumul de datelor transferate n unitatea de timp (8bii 1Mb/s , 64 bii 528Mb/s). Magistrala influeneaz performanele microprocesorului pentru c ea trebuie s fac fa noilor aplicaii multimedia d) Numrul de uniti pipeline.

Pipelining-ul este tehnica utilizat de procesoarele avansate, la care se execut urmtoarea instruciune, nainte ca prima s fie ncheiat. Atunci cnd un segment al canalului ncheie o operaie (sau ncheie un stagiu), el transfer rezultatul intermediar urmtorului segment i apeleaz urmtoarea operaie de la segmentul precedent.

12

Sistemul pipeline este mprit n uniti, stagii sau etape care stabilesc procesele de execuie paralel a instruciunilor, de exemplu, urmtoarea instruciune de extras i executat, operaia aritmetico-logic care urmeaz a fi executat sau unde este stocat rezultatul acesteia. n aceste "conducte" cu instruciuni, etapele sunt optimizate, astfel nct fiecare stagiu s fie ct mai simplu, pentru a fi executat ct mai rapid. Cu ct microprocesorul implementeaz n structura sa funcional mai multe stagii, cu att se pun bazele teoretice ale creterii vitezei de prelucrare. Cu ct un procesor are n nucleul su mai multe stagii sau uniti de tip pipeline, cu att instruciunile programelor sunt executate mai rapid. Aceast cretere de vitez ete explicat prin faptul c existena mai multor uniti de execuie a instruciunilor elementare poate accelera execuia instruciunii ce asambleaz aceste microoperaii elementare. Pentru demonstraia acestei afirmaii, presupunem o frecven de lucru a magistralei procesor de 533 MHz, ceea ce nseamn potrivit principiului divizrii, c frecvena ce revine unui pipeline este de 133MHz (533/4). Dac procesorul conine 17 uniti pipeline, atunci frecvena ceasului intern va fi urcat la 2,26 GHz (133 MHz x 17), iar dac procesorul ar conine 31 pipeline-uri ce funcioneaz la o frecven a plcii de baz de 133MHz, atunci viteza sa va depi 4 GHz (133 MHz x 31= 4,12 GHz). Creterea numrului de stagii ale arhitecturii pipeline poate influena i negativ viteza microprocesorului, n sensul n care la aplicaiile business (la care codul programului este dificil de anticipat), cu ct sunt mai multe stagii, cu att dureaz mai mult ncrcarea i golirea sistemului pipeline. e) Tipul i capacitatea de calcul a coprocesorului matematic influeneaz

hotrtor viteza la care se efectueaz calculele (n special cele n virgul mobil) n unitatea aritmetico-logic a procesorului. Microprocesoarele vechi (din clasa 8086; 80286 i 80386) nu integrau i coprocesorul matematic, care era livrat opional n diferite configuraii (nume de cod: 8087; 80287 i respectiv 80387). Primul microprocesor care a incorporat n nucleul su un coprocesor matematic a fost 80486 DX. Astzi, toate microprocesoarele de generaie nou (de la Pentium, n sus), conin funcii integrate pentru calcule n virgul flotant, deci implicit posed coprocesor matematic (numit i unitate n virgul mobil). Viteza de calcul a unui procesor depinde n mare msur de calitatea unitii n virgul mobil. f) Existenta memoriei cache si mrimea acesteia are influene pozitive asupra

vitezei de prelucrare, n sensul c micoreaz timpii de ateptare ai procesorului la13

preluarea din memoria intern a informaiilor solicitate. La majoritatea procesoarelor de astzi, viteza de acces la informaiile din cache este dat de frecvena ceasului intern i nu de frecvena plcii de baz. g) Tehnologia de miniaturizare a tramistorilor

Un microprocesor este traversat de un curent electric cu un voltaj redus. Pentru a-i reprezenta i pentru a prelucra informaia binar, procesorul opereaz la viteze de zeci i sute de milioane de cicluri pe secund, alternnd n tranzistorii si o tensiune electric de un anumit voltaj (pentru a reprezenta logica binar 1) i absena tensiunii (pentru reprezentarea informaiei prin logica binar 0). Acest curent electric, conform legilor fizicii, genereaz o cldur datorat rezistenei circuitelor traversate. Pentru a diminua acest efect rezistiv, tranzistorii sunt alimentai cu tensiuni din ce n ce mai mici (1,3 V pentru ca o tehnologie de 0,13 microni s permit atingerea unei viteze de 3GHz). Atunci cnd temperatura crete, comportamentul procesorului se schimb, iar materialul semiconductor din care este confecionat pastila de siliciu, nu mai conduce curentul electric. Tehnologiile de miniaturizare a tranzistorilor se evalueaz prin distana dintre aceste circuite ale procesorului (tranzistori), exprimat n nanometri sau microni (de la o tehnologie de 0,35 microni- la Pentium I, la tehnologii de 0,13 microni- la Pentium IV Extreme Edition i 0,09 microni- Pentium IV Prescott). La o aglomerare din ce n ce mai mare a tranzistorilor pe un cip, singura soluie const n reducerea dimensiunilor tranzistorilor procesorului, pentru a diminua rezistenta acestora la traversarea curentului electric. n plus, interconexiunile dintre tranzistori sunt nlocuite cu cupru, care are proprieti electrice mai bune dect aluminiul. Odat cu procesul de miniaturizare a tranzistorilor, va scade i tensiunea necesar alimentrii circuitelor pentru a se reprezenta logic cele dou stri (poziii) binare (0 i 1). Acest fapt, va produce n mod sigur o reducere a cldurii degajate n procesor i n consecin va avea un impact pozitiv asupra accelerrii vitezei procesorului. h) Sistemul de operare si aplicaiile informatice cu care lucreaz un microprocesor

Alturi de elementele hardware prezentate n msur s influeneze creterea vitezei unui microprocesor, trebuie specificate i anumite elemente de natur software, menite s asigure o accelerare a prelucrrilor.14

n primul rnd, pentru ca un procesor s funcioneze la viteza pentru care a fost proiectat, acesta trebuie s se coreleze cu un sistem de operare n msura s gestioneze prelucrrile, memoria, intrrile i ieirile, astfel nct s confere platformei hardware maximum de eficien n prelucrarea datelor. De exemplu, pe sistemele hardware pe 32 de bii (create n 1985 prin procesoarele 80386), pentru ca procesorul s-i conserve performanele, acesta trebuie s ruleze sisteme de operare tot pe 32 de bii (Windows ca SO - n 1995). Astzi, se nregistreaz un nou salt evolutiv n tehnologia procesoarelor, prin dezvoltarea platformelor hard pe 64 de bii, fapt ce va antrena implicit difuzarea n mas a sistemelor de operare pe 64 de bii (Microsoft Windows XP 64-Bit Edition i Microsoft Windows Server 2004 64-bit). In egal msur, aplicaiile informatice trebuie s aib aceeai tehnologie de prelucrarea informaiilor ca i a procesoarelor, pentru ca acestea din urm s ating vitezele optime de procesare. De exemplu, un procesor superscalar pe 64 de bii, funcioneaz mult mai lent cu aplicaii scrise pe 32 bii, chiar dac ar utiliza un sistem de operare pe 64 de bii. ii. Capacitatea de adresare a memoriei interne, reprezint al doilea parametru

definitoriu ce caracterizeaz performanele unui microprocesor. Un procesor nu poate adresa o cantitate infinit de memorie, ci numai cantitatea maxim impus de procesul su constructiv. Cantitatea maxim de memorie care poate fi accesat de un microprocesor este numit memoria maxim adresabil i depinde de limea de band a magistralei de adrese (din magistrala procesorului). Procesoarele, pe parcursul evoluiei lor au fost capabile s acceseze tot mai multe adrese de memorie, de la zeci de milioane la zeci de miliarde. Capacitatea de adresare a memoriei interne a crescut de la 1 MB, ct puteau accesa primele microprocesoare pe 16 bii (magistrala de adrese de 20 de bii = 220=1024 B), la 4 GB (ct au procesoarele construite pe o arhitectur de 32 de bii). Noua tehnologie pe 64 de bii, a impus lrgirea magistralei de adrese la 42 i 52 de bii, ajungndu-se la o capacitate de adresare a memoriei de 4TB i 4 PB). iii. Setul de instruciuni pe care microprocesorul le poate executa reprezint o

a treia coordonat definitorie pe care se bazeaz arhitectura unui procesor.

15

In principiu, cu ct setul de instruciuni al procesorului este mai bogat, cu att spectrul de prelucrri executate de procesor este mai larg. In al doilea rnd, cu ct numrul de instruciuni-procesor este mai mare, cu att viteza de execuie ar trebui s fie mai mare, datorit existenei unor instruciuni specializate care rezolv mai rapid anumite prelucrri specifice. Prezena a din ce n ce mai multe instruciuni n setul de instruciuni al procesorului, ar trebui s conduc teoretic la accelerri ale vitezei de execuie. Din punct de vedere practic, exist cel puin dou motive ce contrazic cele afirmate anterior. Cu ct setul de instruciuni-procesor este mai complet, cu att microprocesorul trebuie s conin mai muli tranzistori complementari, ceea ce are un impact negativ asupra vitezei de execuie. Un program informatic este compus din instruciuni nlnuite logic. O instruciune program i gsete corespondena de regul n mai multe instruciuni elementare (codmain sau procesor). Cu ct un procesor poate prelucra mai multe instruciuni elementare, cu att va rula mai lent toate instruciunile asamblate ale programului aflat n execuie.

Din punct de vedere al instruciunilor de baza pe care le poate executa exist dou tipuri de microprocesoare: a. Procesoare CISC (calculatoare cu set complex de instruciuni) b. Procesoare RISC (calculatoare cu set redus de instructiuni) a. Toate procesoarele CISC aparin familiei Intel x86. Se caracterizeaz printr-un numr mare de instruciuni de baz capabile s lucreze cu un numr mare de registre, au dimensiune fix, sunt uor de implementat. n principal cu ct numrul de instruciuni de baz este mai mare, cu att spectrul prelucrrilor executate de procesor este mai bogat, dar acest lucru este contrazis de performanele superioare ale procesorului RISC. b. Conceptul RISC s-a nscut la sfritul anilor 70 ca urmare a cercetrilor firmei IBM asupra softului calulatorului. Aceste cercetri au relevat faptul c n majoritatea cazurilor din setul complex de instruciuni al calculatoarelor CISC, numai 20% erau folosite n timpul execuiei unui program. Pornind de la aceast concluzie au conceput un calculator mai simplu, cu un set redus de instruciuni, calculatorul RISC. Acest concept a avut nevoie de 10 ani pentru a se impune, datorit faptului c necesita 20% pana la 50% mai mult memorie si necesita utilizarea memoriei cache.16

Caracteristicile fundamentale ale procesorului RISC: nlocuirea instruciunilor complexe cu un set de instruciuni mai simple Implementare completa pe 64 bii Implementare complex super scalar (posibilitatea de a executa n paralel Simplificarea formatului instruciunilor pentru a facilita decodificarea lor. n

mai multe instruciuni ntr-un singur ciclu de ceas) acest format, zona codului de apariie i zona de adresare la operanzi ocup ntotdeauna aceai poziie. Utilizarea memoriei cache de mare capacitate. Se poate afirma c utilizarea Frecvene ale ceasului intern din ce n ce mai mari. memoriei cache este fundamentat pentru procesorul RISC. Utilizarea coprocesoarelor materiale puternice. Conceptul RISC a influenat nu numai softul calculatorului, ci i arhitectura hard a acestuia. Sunt mai mici ca dimensiuni, mai uor de proiectat, circuitele sunt mai scurte ceea ce las loc pentru creterea numrului de registre din interiorul microprocesorului. iv. Articularea configuraiei ntr-o arhitectur multiprocesor presupune existena i

conlucrarea a mai multe procesoare n aceeai unitate central. Arhitecturile pot fi simetrice (SMP - Symetrical Muli Processing) atunci cnd mai multe procesoare partajeaz aceeai memorie intern, sau pot fi asimetrice (AMP Asymetrical Muli Processing) atunci cnd fiecare procesor adreseaz o memorie proprie. Utilizarea mai multor procesoare legate pentru multiprelucrare, este ntlnit ndeosebi pe servere (Web sau reea) i pe staiile de lucru (pentru aplicaiile 3D sau CAD). Ctigul de performan prin utilizarea sistemelor multiprocesor este limitat doar la cteva aplicaii. A grupa mai multe procesoare n aceeai configuraie de unitate central, nu este ntotdeauna eficient, datorit faptului c performanele acestora sunt diminuate de gestiunea dificil a memoriei (n cazul SMP), a magistralei de intrri/ieiri i de problemele de supranclzire ce diminueaz randamentul procesoarelor. In multiprelucrarea simetric, problemelor de tip hardware li se adaug i dou limite de natur software. Prima limit deriv din capacitatea sistemelor de operare de a lucra cu mai multe procesoare simultan (numai Windows NT/XP, OS/2, BeOS, Unix i Linux pot lucra n configuraii multiprocesor). A doua limit o constituie aplicaiile informatice17

obinuite, care trebuie adaptate multiprelucrrii, prin procesul de "multithread". O aplicaie "multithread" repartizeaz operaiile n mai multe uniti de execuie (thread) care pot fi prelucrate de mai multe procesoare. Fr facilitatea de "multidiread", aplicaiile informatice nu pot folosi dect un singur procesor.

3. Evoluia microprocesoarelor calculatoarelor personaleGordon Moore, unul dintre co-fondatorii corporaiei Intel (specializate n producerea de microprocesoare), afirma la scurt vreme dup crearea primului circuit integrat, c "numrul tranazistorilor ce vor fi integrai ntr-un cip se va dubla la fiecare 18 luni, iar costurile respectivelor circuite se va njumti ciclic". Drumul parcurs n 30 de ani, de la procesorul 4004 (pe 8 bii, cu 2.300 tranzistori integrai pe o tehnologie de 10 microni, ce autorizau o vitez de prelucrare a informaiei de 750 KHz), ctre procesoarele 8008, 8080, 8086 (primul PC), iar apoi ctre microprocesorul Prescott (64 bii, 168 milioane tranzistori, integrai pe o tehnologie de 0,09 microni, cu viteza de peste 4GHz), a fcut ca axioma lui Moore s se adevereasc pentru sloganul "un computer ntreg ntr-un singur cip". Tehnologia informaiei a nregistrat pe parcursul evoluiei microcalculatoarelor, mai multe momente, prin care au fost individualizate diferite arhitecturi. Unul din criteriile utilizate pentru ncadrarea unui microcalculator ntr-o arhitectur a fost cantitatea de informaie elementar, prelucrat ntr-un ciclu-main. In acest sens, o tehnologie pe n" bii, este definit prin capacitatea hardware-ului de a stoca, vehicula i prelucra informaia elementar, ntr-un ciclu main (ncrcarea instruciunii, decodificarea i execuia acesteia). In principiu, din punct de vedere hardware, adresele de memorie (de unde se ncarc instruciunile), magistralele de comunicaie (prin care se vehiculeaz instruciunile i datele) i regitrii procesorului (unde se decodific instruciunile i se execut, prelucrnduse date) trebuie s aib aceeai dimensiune de stocare/vehiculare binar. n al doilea rnd, o arhitectur hardware pe n" bii trebuie s fie compatibil cu componenta software, deoarece programele de aplicaii transmit instruciuni (fluxuri de date binare) ctre sistemul de operare, care la rndul su convertete instruciunile n taskuri pe care le trimite sistemului de echipamente prin componenta BIOS. Toate aceste elemente informaionale de natur software, trebuie s fie compatibile ca dimensiune a informaiei binare susceptibile de a fi prelucrat, cu sistemul de echipamente. Astzi,

18

sistemul hardware este pregtit s prelucreze informaia, utiliznd arhitecturi pe 64 de bii, n timp ce platformele software urmeaz s se dezvolte n viitorul apropiat. Pe parcursul evoluiei tehnologiei informaiei au fost identificate 8 generaii de arhitecturi: Generaia I-a: 8 bii

8088 a fost primul microprocesor realizat i lansat n anul 1981 de corporaia Intel pentru calculatoarele personale IBM i compatibile IBM. Magistrala extern de date (de intrri ieiri) a microprocesorului era de 8 bii, n timp ce magistrala de date a procesorului avea 16 bii. Diferena de 8 bii ntre magistrala intern i cea extern este motivat de raiuni de compatibilitate a magistralei externe cu perifericele disponibile i cu circuitele asociate microprocesorului (n majoritate de 8 bii la acea vreme). Frecvena de tact pe magistral msura numai 4,77 MHz. Microprocesorul 8088 putea s adreseze maximum 640 KB memorie RAM. Pentru a se putea mri puterea de calcul, un coprocesor matematic 8087 putea completa configuraia sistemului de calcul. Un an mai trziu, apare pe pia varianta integral pe 16 bii a microprocesorului 8088, (magistrala intern era egal cu cea extern), cunoscut sub numele de cod 8086. Microprocesorul 8086 ce integra pe cip aproximativ 10 mii de tranzistori i funciona la o vitez de 8 MHz, putea accesa n mod direct 1 MB de memorie intern datorit unei magistrale de adrese pe 20 de bii. Microprocesoarele 8088 i 8086 integrate n platforme hardware corespunztoare au fost cunoscute i sub numele de XT-uri (Extended Technology). Astzi valoarea lor de pia este nul, fiind anacronice cu aplicaiile soft actuale. Odat cu 8088 / 8086 productorii de procesoare au ncercat s dezvolte n paralel propriile arhitecturi, n ncercarea de a obine un segment de pia ct mai mare, ns era prea trziu, deoarece cota de pia a lui Intel i existena unei abundene a software-ului pentru arhitectura x86, vor mpiedica apariia unei alte arhitecturi majore pe piaa utilizatorilor finali. Lupta ntre concureni se va da utiliznd arhitectura Intel, iar competitorii vor trebui s creasc performana procesoarelor proprii fr a rupe compatibilitatea cu aplicaiile informatice aprute anterior (compatibilitate software retroactiv).

19

Generaia II-a: 16 bii

Microprocesorul Intel 80286, ce integra 30 mii tranzistori, a fost introdus pe pia n anul 1984 i a reprezentat un real succes, deoarece microprocesorul a fost conceput pe o platform integral pe 16 bii, ce lucra la viteze de pn la 20 MHz i putea adresa pn la 16 MB de memorie RAM (datorit magistralei de adrese care a fost extins la 24 de bii). Pn la apariia procesorului 80286, calculatoarele personale au fost limitate la accesarea a numai 1 MB de memorie RAM, din care numai primii 640 KB erau accesibili aplicaiilor. Odat cu 80286 a aprut un nou sistem de adresare a memoriei, numit mod protejat. Acest mod a permis aplicaiilor s depeasc bariera de 1 MB de maniera urmtoare: memoria era mprit n segmente, care se adresau dup formula: adresa de baz + un factor de decalare plecnd de la aceast adres. Acest mod de acces la memorie a fost numit protejat, deoarece a implementat dispozitive de protecie a accesului la segmentele de memorie. Datorit facilitii de acces protejat la datele din memorie, procesorul 80286 a fcut posibil multitaskingul i n consecin a permis dezvoltarea integratorului de aplicaii Windows 286. Coprocesorul matematic care putea suplimenta puterea de calcul a procesorului 80286, s-a numit 80287, iar mainile echipate cu un astfel de procesor au fost cunoscute sub numele de AT-uri (Advanced Technology). Generaia IlI-a: 32 bii

In anul 1986, a fost lansat pe pia microprocesorul Intel 80386. Noul procesor care rula programe cu viteze de 16, 20, 25 sau 33 MHz, avea o structur de magistral de 32 de bii, fiind capabil s adreseze pn la 4 GB memorie RAM. Setul de instruciuni de baz al microprocesorului a fost completat cu instruciuni noi. 80386 a inclus un mod de gestiune a memoriei care permite sistemului de operare s mpart i s gestioneze memoria n blocuri separate de 640 KB, rulndu-se astfel "aparent concomitent" mai multe programe. Acest fapt a permis simularea mai multor "maini" dotate "virtual" cu procesoare 8086 i n consecin a asigurat compatibilitatea cu programele scrise pentru vechile procesoare 8086/8088, dar i crearea premiselor de exploatare "multitasking" a aplicaiilor. Administrarea memoriei pe blocuri de memorie, iar n cadrul acestora pe pagini de memorie, a permis procesorului att accesul la memoria intern, ct i accesul la memoria virtual pe un spaiu rezervat pe hard disc.

20

Au existat dou modele de microprocesor 386 i anume DX, SX. Modelul 386DX este cel standard, adic integreaz 275 mii tranzistori pe cip i are o arhitectur complet pe 32 de bii.. 386 SX este un procesor ce funcioneaz la 16 sau 20 MHz dar care are magistrala de date pe 16 bii i magistrala de adrese pe 24 bii (adresnd astfel numai 16 MB de RAM). Un procesor 80386 i poate completa puterea computaional printr-un coprocesor matematic 80387. Generaia a IV-a: pipe-line

Generaia a IV-a este a fost marcat prin apariia n anul 1989 a microprocesorului Intel 80486. Procesorul care ngloba peste 1,2 milioane de tranzistori avea o structur complet de magistral de 32 de bii i putea accesa 64 GB de memorie intern. Cipul 486 includea din fabricaie un minimum de memorie cache de 8 KB pentru evitarea timpilor de ateptare n furnizarea datelor de la memorie ctre procesor. Microprocesorul 486 includea i coprocesorul matematic, care la sistemele anterioare era livrat opional. Tehnologia superioar implementat pe procesorul 80486 a permis ca o instruciune s parcurg mai multe etape izocrone (frecvene de tact ale ceasului intern), n fiecare etap, instruciunea trecnd printre-o singur unitate a procesorului. Aceast fapt a condus la creterea vitezei de lucru, prin creterea frecvenei ceasului intern, iar posibilitatea de a ncepe o nou instruciune n fiecare ciclu exploateaz paralelismul la nivelul codului i implic o cretere a performanelor microprocesorului. Acest mod de lucru este cunoscut sub numele de pipelining, i nu este prezent la sistemele 386 sau anterioare, care pentru a executa o instruciune (format din mai multe microinstruciuni) ntr-o unitate oarecare a procesorului, aveau nevoie de dou sau mai multe frecvene de tact. Procesorul 486 putea atinge viteze de prelucrare ntre 25 i 50 MHz, reuind astfel s prelucreze pn la 54 MIPS (milioane de instruciuni pe secund). Referinele prezentate anterior caracterizeaz modelul DX, care fa de modelul SX prezint cteva avantaje certe: un SX nu are nglobat un coprocesor matematic, avnd cu 300 mii tranzistori mai puin pe cip, iar magistrala extern de date este funcional pe numai 16 bii. Variante mbuntite ale microprocesorului 486 DX au fost DX2 i DX4. Cei doi hibrizi au fost construii multiplicnd frecvena de tact a lui DX cu 2 sau cu 3. Un procesor DX2 execut instruciunile elementare de dou ori mai rapid dect un DX dublnd frecvena ceasului intern de la 25 la 50 de MHz sau de la 33 la 66 MHz. Microprocesorul DX2 era integrat din fabric, dar putea fi disponibil i ca circuit separat OverDrive pentru21

modernizarea procesoarelor 486SX sau DX de ctre utilizator. Procesorul DX4 lucra la frecvene de ceas de 75 sau 100 MHz i se baza pe triplarea frecvenei de 25 sau de 33 MHz. De asemenea, un DX4 dubla memoria cache minim instalat a unui calculator 486DX, aceasta fiind de 16 KB. Generaia a V-a: super pipe-line

Urmaul procesorului 80486 s-a numit Pentium. Pentru a contracara productorii de microprocesoare (AMD, Cyrix), care imitau procesoarele 386 i 486 ale lui Intel i care evident atribuiau produselor lor acelai micro-cod ca apelativ, corporaia Intel a hotrt ca noul su microprocesor s poarte numele de Pentium. Astfel, datorit faptului c legislaia internaional nu permitea protejarea unui nume de marc compus din cifre, Intel s-a decis ca noul procesor 80586 s fie lansat pe pia sub numele de 'Pentium, neologism bazat pe grecescul Penta (ce desemneaz clasa procesorului) i pe cuvntul silicium. Cea mai important diferen fa de 80486, este arhitectura sa superscalar care permite microprocesorului s accepte i s execute mai mult de o instruciune pe o frecven de tact. Astfel, Pentium a constituit prima etap n evoluia procesoarelor Intel ctre o arhitectur RISC. Prelucrarea linear clasic a unei instruciuni ntr-un ciclu-main ("extrage - ncarc -decodeaz - execut") este nlocuit la Pentium printr-un sistem de tip Instruction Pool. Conform acestui principiu, procesorul elaboreaz un scenariu pentru prelucrarea comenzilor viitoare. De exemplu, ntr-un program oarecare, dac pentru o instruciune datele nu sunt disponibile i trebuiesc citite din memorie, iar dac urmtoarea instruciune depinde nemijlocit de prima, atunci un procesor clasic intr ntr-o stare de ateptare (hold). Un procesor superscalar poate executa n avans urmtoarele instruciuni n cazul n care acestea nu depind de rezultatele instruciunilor precedente. Arhitectura superscalar permite microprocesorului s preia dou sau mai multe instruciuni secveniale, s le descompun in micro-operaii ce urmeaz a fi prelucrate fracionat, s trimit micro-operaiile n acelai timp la uniti separate de execuie, iar in final s le reasambleze astfel nct la sfritul execuiei lor s se cunoasc exact succesiunea lor corect, respectndu-se evident semantica programului. Cu fiecare tact al ceasului intern, mai multe decodoare de funciuni genereaz fiecare n parte, micro-operaii care sunt executate simultan. In literatura de specialitate, prelucrarea superscalar mai este numit i prelucrare paralel.

22

Majoritatea microcalculatoarelor cu arhitecturi superscalare, au sistemul pipeline mprit n stagii sau etape specializate: "x" etape de decodare a instruciunilor complexe (CISC) din setul de instruciuni de baz cu procesare n ordine, "y" etape de procesare n afara ordinii i "z" etape de reordonare a codului i de scriere in memorie a rezultatelor. Tendina tehnologiei pipeline este de a dubla, tripla sau cvadrupla lungimea pipelineurilor, pentru a micora de dou sau de mai multe timpul necesar execuiei unei etape, n condiiile pstrrii sau creterii frecvenei de ceas intern. Fixarea acestui obiectiv, face ca pipeline-ul s fie meninut ntotdeauna plin, neexistnd goluri ce poate ncetini succesiunea operaiilor elementare, i astfel se evit situaia n care procesorul pierde timpi de calcul la execuia instruciunilor. n general, existena unor pipeline-uri mai lungi, coroborat cu frecvene de ceas din ce n ce mai rapide, a fcut s creasc eficacitatea prelucrrii datelor multimedia, datorit predictibilittii codului audio sau video. Aceste aspecte pozitive sunt contrabalansate de aplicaiile de birou, care au un cod mai greoi de executat i mai puin predictibil. Din aceast cauz, un procesor poate decide n mod eronat asupra urmtoarei instruciuni de executat. n aceast situaie, pipeline-ul trebuie golit de instruciuni i rencrcat, fapt ce atrage dup sine cicluri inutile ale microprocesorului, traduse n frecvene de tact ale ceasului intern care nu atrag dup sine nici o prelucrare. Decodorul de funciuni al procesorului are ataat un dispozitiv de predicie a salturilor, acesta fiind de fapt un set de regitrii de instruciuni care stocheaz instruciunea urmtoare uneia de salt. Cu alte cuvinte, prin prezicerea salturilor, procesorul calculeaz in avans cursul cel mai probabil pe care-l va lua programul In derularea lui logic. Cnd un procesor scalar sau subscalar execut un salt ntr-o alt zon a programului, dnd curs unei instruciuni de salt, acesta pierde un timp pentru a citi o nou instruciune din memorie. Un procesor superscalar reuete s evite acest lucru prin intermediul unui buffer pentru legturi (branch-uri), care prevede rezultatul instruciunilor de salt condiionat, executnd citirea anticipat a instruciunilor de la o nou adres. Pentru noile procesoare superscalare, construite pe o platform de 64 de bii, predicia codului a fost mult dezvoltat, astfel nct procesorul poate ti cu anticipaie n ce direcie se va ndrepta codul, nainte de executarea propriu-zis a operaiilor condiionale. mbuntirea fa de clasica predicie a salturilor, const n determinarea adresei de memorie la care se va efectua saltul i aprecierea distanei fa de adresa curent din program, urmnd ca procesorul s decid sau nu efectuarea propriu-zis a saltului. Execuia speculativ a instruciunilor reprezint capacitatea procesorului de a executa acele instruciuni situate dup adresa curent de program, care au cele mai mari23

anse de a fi utilitate (alegerea unor instruciuni cu o mare probabilitate a necesitii de execuie). Atunci cnd procesorul execut instruciuni, acesta utilizeaz tehnica speculativ de execuie a lor. tiind faptul c instruciunile n curs de prelucrare se bazeaz pe mecanismul de predicie a salturilor, rezultatele sunt nregistrate ca fiind "speculative". Odat ce utilizarea lor final a fost determinat, instruciunile vor fi plasate n ordinea lor fireasc, conform logicii programului. Arhitectura superscalar presupune existena unui secveniator intern (MIS Microcode Instruction Sequenzer), care identific grupuri de instruciuni ce nu vor intra n conflict unele cu altele i nu necesit utilizarea simultan a unei anumite uniti, transmind mai departe acest grup spre prelucrare. Aceast facilitate, numit i analiza dinamic a fluxurilor de date presupune o analiz n timp real a datelor din procesor, pentru a determina dependenele dintre date i gradul de ocupare al regitrilor de instruciuni n vederea detectrii posibilitilor de execuie n "in-ordine" a instruciunilor. Altfel spus, procesorul analizeaz care instruciuni pot fi prelucrate independent i verific dac acestea depind logic i funcional de alte instruciuni. Aplicnd principiul "Out of Order" procesorul definete ordinea optim de execuie a instruciunilor, evitnd succesiunile de instruciuni care ar duce la apariia unor timpi mori n prelucrarea datelor. n concluzie, se poate afirma conform principiului de prelucrare n afara ordinii, c procesorul reuete s evite ateptrile deoarece unitatea de control a execuiei programeaz instruciunile ntr-o ordine care s foloseasc la maximum resursele procesorului, iar acestea sunt rulate imediat ce operanzii devin disponibili, fr a face schimbri permanente n memorie. Pasul final const n scrierea ordonat n memorie a rezultatelor, asigurnd compatibilitatea cu setul complex de instruciuni x86 i cu buna funcionare a programului. Pentru asigurarea unui nalt grad de ocupare a multiplelor conducte, aplicaiile informatice trebuie rescrise pentru 64 de bii, firete folosind sisteme de operare pe 64 de bii. Ca s suporte execuia mai multor instruciuni, microcalculatoarele superscalare au nevoie de un sistem de magistrale de comunicaii cu o lime de band semnificativ (debit de date n unitatea de timp) i o vitez corespunztoare unui transfer performant de date. Generaia a VI-a: seturi noi de instruciuni

Microprocesorul PentiumPro (PPro sau P6), realizat n 1996, a fost un continuator a tot ce a inovat i realizat Pentium n domeniul tehnologiei RISC. Pentium Pro a beneficiat de o arhitectur superscalar pe trei ci, dispunnd de uniti de asamblare a24

instruciunilor prin care se pot prelucra i executa n paralel trei instruciuni pe o frecven de tact. PentiumPro a fost conceput iniial cu o tehnologie de 0,6 microni, urmnd ca la a doua generaie de astfel de microprocesoare s beneficieze de o tehnologie superioar de 0,4 microni. Cipul, care nglobeaz mai mult de 15,5 milioane tranzistori, beneficiaz de un design nou, avnd o form dreptunghiular. Ulterior, pentru unele modele s-a revenit la forma ptrat. PPro are dou nivele de cache : primar i secundar, fiind proiectat pentru prelucrarea paralel a comenzilor, avnd n acest sens trei canale. Triplul sistem pipcline decupeaz instruciunile x86 care sosesc n format RISC, nainte de a le transmite celor trei uniti de asamblare a execuiei. Procesorul este proiectat s funcioneze la frecvene de tact de peste 150 MHz (modelele consacrate fiind la 200 i 233 MHz) i este integrat ntr-o logic de multiprocesare simetric (SMP - Symetrical Multi Processing), ntr-un calculator putnd exista pn la patru procesoare P6 ce pot comunica intre ele. Procesorul este compus din dou cipuri separate, primul coninnd procesorul propriu-zis si cache-ul primar (ce conine 8 KB pentru date i 8 KB pentru instruciuni), iar al doilea integreaz cache-ul secundar de 256 KB (10 milioane de tranzistori), care este legat de procesor printr-o magistral de 64 de bii prin care se realizeaz transferul de date la jumtate din viteza microprocesorului. Pentium MMX, aprut n 1997 este un microprocesor superscalar cu dou

instruciuni pe frecvena de tact ce cuprinde un set lrgit de instruciuni x86 (57 noi instruciuni) capabile s prelucreze noi tipuri de date i s mreasc performanele aplicaiilor multimedia. Tehnologia MMX (Muli Media eXtension) permite prelucrarea rapid a unor mari iruri de date simple care se repet de un numr de ori ntr-o aplicaie multimedia (grafic, imagine, sunet, etc). De exemplu, aplicaiile multimedia sau de comunicaii utilizeaz bucle repetitive care nu ocup mai mult de 10% din codurile (instruciunile) aplicaiei, dar care ocup aproximativ 90% din timpul afectat execuiei respectivelor programe. Puternica tehnologie MMX utilizeaz cu mare eficien facilitile execuiei dinamice, fapt care permite creterea de o manier important a performanelor aplicaiilor multimedia i de comunicaii.

25

Procesorul Pentium II (7,5 milioane de tranzistori pe cip) a fost un sistem superscalar pe trei ci ce combina micro-arhitectura avansat a lui PentiumPro (multiprelucrare simetric i execuie dinamic pe trei ci) cu tehnologia MMX (set de instruciuni i cache L1 mrit). Diferenele fa de Pentium Pro au constat n : mrirea cache-ului primar de la 16 KB la 32 KB (16 KB pentru date i 16 KB pentru instruciuni); mrirea cache-ului secundar de la 256 KB la 512 KB (care rmne legat cu procesorul printr-o magistral dedicat prin care se vehiculeaz att instruciuni ct i date); implementarea celor 57 noi instruciuni pentru prelucrarea datelor multimedia. Forma de prezentare a procesorului PIl este original, fiind vorba de un cartu ce conine pini de conectare pe o singur latur (SEC - Single Edge Connector). n realitate, cartuul SEC integreaz att procesorul propriu-zis ct i memoria cache de nivel 2 (512KB) cu circuitele de legtur. Datorit acestei configuraii ce consta n mpachetarea procesorului mpreun cu memoria cache L2 (ce funcioneaz !a jumtatea vitezei procesorului), fr a o include pe aceasta n siliciul procesorului, performanele lui PII n termeni de vitez de execuie s-au triplat fa de predecesorul Pentium. Explicaia acestei creteri de vitez mai rezid n arhitectura DIB (Dual Independent Bus), prin care bus-ul cache-ului de nivel 2 este independent de busul plcii de baz. Astfel, procesorul Pentium II poate utiliza dou magistrale n mod simultan (frecvena magistralei externe: 50MHz; frecvena plcii de baz-FSB: 100 MHz). Generaia a VII-a: integrarea memoriei cache le nivel 2

Procesorul Pentium III, construit iniial n 1999 pe o tehnologie de 0,18 microni a funcionat la frecvene cuprinse ntre 450 i 600MHz. Pentru a atinge pragul de 1GHz, frecvena plcii de baz a fost modificat de la 100MHz, la 133 MHz i ulterior la 200MHz. Acest procesor implementeaz n decodorul su de funciuni 71 de instruciuni noi, orientate ctre prelucrarea fluxurilor de date. n plus, pe arhitectura superscalar a procesorului Pentium III au fost introdui 8 regitrii de 128 de bii, destinai calculelor n virgul mobil. Principala modificare a arhitecturii pe 0,18 microni const n integrarea chiar pe pastila de siliciu a unei memorii cache de nivel 2 de 256 KB.26

Tot n anul 1999 apare pe pia principalul concurent a lui P III, n persoana procesorului AMD Athlon. Acest procesor integreaz n cele 9 pipeline-uri ale sale mai multe stagii specializate (10 stagii pentru calculele cu ntregi, 15 stagii pentru calcule n virgul mobil), 3 decodoare de funciuni CISC-RISC i o magistral procesor superlarg. n anul 2000 apare pe pia ultimul procesor de generaia a VII-a: Pentium IV (cu nume de cod Willamette). Nucleul acestui procesor coninea un sistem pipeline cu 20 de stagii, un puternic i evoluat motor execuie a instruciunilor, o memorie cache de nivel 2 de mare vitez, o frecven FSB de 400 MHz. Generaia a VIII-a: 64 bii

Generaia a VIII-a de microprocesoare (aprute n anul 2003) este caracterizat de apariia platformelor hardware AMD i Intel pe 64 de bii. Procesoarele de ultim generaie, beneficiaz de viteze din ce n ce mai mari (4GHz), de fluxuri de date vehiculate pe magistrale la 800MHz, de debite de date de 6,4 GB-s i de noua tehnologie HyperThreading (HT). Aceasta tehnologie se bazeaz pe prelucrarea paralel a mai multor procese software, care se desfoar n cadrul aceleai aplicaii informatice. n mod classic, sistemele de operare pot trimite un al doilea fir de calcul numai dac exist un al doilea procesor. Prin Hyper-Threading, procesorul informeaza sistemul de operare asupra faptului c posed un al doilea procesor, chiar dac acesta nu exist fizic. Aceast inovaie transform PC-urile monoprocesor n PC-uri dualprocesor, chiar dac unul dintre procesoare este virtual. Marea problem ntlnit la acest concept const n adaptabilitatea sistemului de operare la cerinele de multiprelucrare i n consecin reproiectarea aplicaiilor informatice pentru utilizarea Hyper-Thread-ului. Procesoarele anilor viitori vor avea i mai muli tranzistori integrai pe cip, vor executa i mai multe instruciuni per ciclu-main, i vor eficientiza algoritmii de execuie n in-ordine a instruciunilor. Cu timpul, proiectanii vor realize seturi noi de instruciuni ce le vor permite programatorilor, mai degrab dect procesoarelor, gruparea instruciunilor n segmente superscalare. Aceast nou tehnic va elimina complexele circuite de grupare sau de in-ordine din actualele procesoare superscalare.

27

Practic, arhitecturile de procesoare pe 64 de bii au deschis astzi o nou cale n tehnologia informaional, verificnd legea lui Moore, conform creia, n 20 de ani vom avea procesoare de 1000 de ori mai puternice dect actualele Pentium IV. Performanele platformelor hardware pe 64 de bii, vor impune softului s se adapteze la cerinele de prelucrare a informaiei pe 64 de bii.

Bibliografie: Bazele tehnologiei informaiei i comunicaiilor, Editura InfoMega Bucureti 2004. Autori: Prof. univ. dr. Ilie Tama, Prof. univ. dr. Florentina Berbec, Prof. univ. dr. Pavel Nstase, Prof. univ. dr. Bogdan Ionescu, Lect. Univ. dr. Marinela Vrncianu, Lect. Univ. dr. Mirela Oancea, Lect. Univ. dr. Florin Mihai, Conf. univ. dr. Iuliana Ionescu. Cursuri Bazele tehnologiei informaiei ASE Bucureti, profesor Florentina Berbec Internet28

Anexa:

Procesor 8088

Procesor generaie nou

29