Sunteți pe pagina 1din 7

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

CALCULATORUL NUMERIC Un calculator numeric este constituit dintr-un ansamblu de resurse fizice (hardware) i de programe de sistem (software de sistem) care asigur prelucrarea automat a informaiilor, n conformitate cu algoritmii specificai de utilizator prin programele de aplicaii (software utilizator). Descrierea unui calculator, ca sistem digital complex, se poate face innd cont de diferite aspecte. Astfel, la nivel nalt, calculatorul poate fi definit ca o main care uureaz o anumit activitate uman. Acest aspect uman al calculatorului a condus la studii care vizeaz uurarea utilizrii calculatorului, ergonomia locului de munc, creterea accesibilitii calculatorului pentru utilizatorul uman ce are o pregtire divers. Calculatorul poate fi definit, de asemenea, ca fiind o main care ruleaz programe. Studiile efectuate pe acest nivel vizeaz optimizarea calculatorului n scopul minimizrii timpului de execuie a programelor (aplicaiilor). Modul de scriere al unui program trebuie s permit ca aplicaiile s fie portabile1 de pe o main pe alta. Importana aspectului software al calculatorului este determinat de necesitatea de a proteja investiia n programare, n condiiile mediului deosebit de dinamic al calculatoarelor. Calculatorul poate fi definit ca fiind un sistem digital care realizeaz un set de funciuni. Studiile efectuate pe acest nivel vizeaz realizarea unor funcii date la viteze maxime i resurse fizice (suprafa pe chip) minime, ntr-o tehnologie accesibil la un moment dat. Acesta este aspectul "hardware" al calculatorului. Hardware este termenul general care desemneaz resursele fizice (circuitele, dispozitivele i echipamentele componente) ale unui calculator numeric; Cele trei aspecte, uman, software i hardware, nu sunt independente. Perfecionarea unuia dintre aspecte determin i progresul celorlalte dou, chiar dac nu n acelai ritm. De exemplu, randamentul muncii unui utilizator de calculator (mbuntire a aspectului uman) va crete dac acesta i schimb tastatura cu una optimizat ergonomic, n condiiile pstrrii resurselor hardware i a programelor rulate (software).
ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

Randamentul muncii va crete mai mult dac se ruleaz, programe mai puternice, de exemplu prin algoritmi mai rapizi sau sisteme de operare mai performante (mbuntire software), n condiiile pstrrii acelorai resurse hardware. O cretere remarcabil a randamentului muncii se obine, ns, dac se nlocuiete calculatorul cu unul mai performant (mbuntire a aspectului hardware), n condiiile pstrrii tastaturii i a aplicaiilor rulate. Aspectele software i hardware se ntreptrund i nu pot exista independent. Studiul unui calculator numeric poate fi realizat la diferite niveluri, organizate ierarhic n schema din figura 1.1. De menionat c, pe toate aceste niveluri, aspectele software i hardware coexist.

Figura 1.1. Reprezentare ierarhic simplificat a nivelurilor de descriere a unui calculator numeric.

Prin nivelul de programare (al aplicaiilor) calculatorul este vzut ca un ansamblu de resurse care particip la executarea unui program. Este nivelul pe care lucreaz programatorul ntr-un limbaj de nivel nalt, avnd la dispoziie un compilator care deine informaiile detaliate despre nivelele inferioare. Pe acest nivel se opereaz cu noiuni ca multiprocesoare, memorie distribuit, reele de interconectare.
ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

Pe nivelul arhitectural, care materializeaz, n mod tradiional, interfaa software-hardware, se ncearc maximizarea performanelor prin optimizarea setului de instruciuni, tratrii ntreruperilor, managementului i a proteciei memoriei. Este nivelul de pe care programatorul poate accesa toate resursele microprocesorului2, prin instruciuni specifice. Deoarece att domeniul hardware ct i cel software evolueaz rapid, n foarte puine cazuri arhitecii unui procesor au posibilitatea s nceap "de la zero" proiectarea unui procesor. De cele mai multe ori, proiectanii primesc ca "date de intrare" arhitectura i chiar setul de instruciuni cu care noul procesor trebuie s fie compatibil. Meninerea compatibilitii, dei ngreuneaz proiectarea, este obligatorie datorit faptului c nimeni nu este dispus s renune, de exemplu din trei n trei ani, la toate datele acumulate i toat investiia fcut n software. Pe acest nivel se definete noiunea de compatibilitate binar, ca fiind posibilitatea unei maini de a rula un program scris pentru un procesor dintr-o generaie mai veche. Meninerea compatibilitii binare implic, pe lng motenirea setului de instruciuni, i pstrarea modelului secvenial de execuie a instruciunilor. Aceste dou constrngeri se dovedesc a fi foarte dure n cazul procesoarelor moderne, superscalare, care ncearc s elimine o mare parte din secvenialitatea programului i s l transforme ntr-un program paralel, de nalt performan, dar care s pstreze aparena de program secvenial. Pe nivelul organizrii, denumit uneori i nivelul de microarhitectur, se precizeaz modul de implementare a arhitecturii microprocesorului. O arhitectur de microprocesor poate avea diferite organizri, obinndu-se astfel procesoare cu performane optimizate pentru un anumit tip de aplicaii dar compatibile la nivelul programatorului n limbaj de asamblare. Dintre noiunile cu care se opereaz la acest nivel se pot preciza: Numrul, tipul i localizarea unitilor funcionale; Descrierea setului de registre;
ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

Structura pipeline a cii de date; Ierarhia memoriei, localizarea i configuraia memoriei cache. Pe nivelul de implementare, microprocesorul este vzut ca un sistem digital implementat ntr-o tehnologie specific. Aspectele tehnologice limiteaz deciziile de pe nivele superioare. Aici se stabilete bugetul de tranzistoare pus la dispoziie, buget ce trebuie cunoscut de ctre proiectanii de arhitecturi. ntrebrile care i gsesc rspunsul pe acest nivel sunt: Cum se plaseaz unitile funcionale pe chip (floorplan) Cum se poate implementa o unitate funcional cu un numr minim de tranzistoare, pe o suprafa minim de circuit ? De-a lungul timpului, performanele calculatoarelor nu au crescut n ritm constant. Exist dou fore care stimuleaz dezvoltarea calculatoarelor: mbuntirea tehnologic i inventarea unor noi arhitecturi. n primii 25 de ani ai calculatoarelor electronice (1945-1970), ambele fore au determinat n egal msur creterea performanelor. Dup 1970, tehnologia (numrul redus de tranzistoare posibil de utilizat) a limitat ritmul de cretere, care a continuat totui s rmn la 25-30% pe an n domeniul minicalculatoarelor i mainframe3-urilor. Apariia microprocesorului a adus posibilitatea de integrare a unui numr mare de tranzistoare ceea ce a permis un ritm de cretere a performanelor de 35% pe an. Ritmul de cretere a fost i mai mare dup 1980, atunci cnd a fost determinat de apariia unor idei arhitecturale noi, ce au condus la crearea procesoarelor RISC. ntre procesoarele existente n prezent pe pia i de asemenea ntre calculatoarele construite cu ajutorul acestor procesoare exist o mare diversitate, diversitate ce se manifest din mai multe puncte de vedere: 5 ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

al tehnologiei folosite pentru implementarea lor, al caracteristicilor funcionale (proprieti i funcii observabile din exterior) i al organizrii structurii4 lor interne. Toate aceste trei aspecte principale constituie ceea ce este cunoscut sub numele de arhitectura unui calculator. ARHITECTURA CALCULATORULUI NUMERIC Termenul "arhitectur" este o abstractizare a proprietilor unui calculator. Ca urmare a evoluiei funciilor i structurii calculatoarelor i noiunea de arhitectura a evoluat, reprezentnd n prezent mai mult dect "interfaa" ntre hardware i software definit iniial de cercettorii de la firma IBM n deceniul al aselea al acestui secol. Un arhitect de calculatoare proiecteaz maini care vor rula programe, iar sarcinile sale de proiectare vor include: proiectarea setului de instruciuni, organizarea funcional, proiectarea logic i implementarea. Implementarea cuprinde totul ncepnd de la circuitele integrate utilizate, pn la aspectele privind puterea consumat i tipul de rcire. Arhitectura, n sensul iniial de definire, ca interfa ntre hardware i software, ngloba funciuni n hardware, prin micro-programare (microcod). Orice main ulterioar unei maini din aceeai serie, este obligat - prin arhitectura definit - s recunoasc setul de instruciuni al celei vechi, chiar dac are i funciuni suplimentare. La momentul introducerii sale, noiunea de arhitectur a calculatorului se referea doar la ceea ce astzi se nelege prin arhitectura setului de instruciuni. Aceasta este o interfaa ntre resursele hardware i resursele cele mai rudimentare de software (cod maina - forma binar a programelor neleas de main). Arhitectura setului de instruciuni este ceea trebuie s tie un programator pentru a scrie programe n limbaj de asamblare, respectiv pentru a concepe i construi un program de tip compilator, sau rutine
ef lucr. dr. ing. Dan FLOROIAN

CURS 1

INTRODUCERE N ARHITECTURA CALCULATOARELOR

destinate sistemului de operare. Setul de instruciuni, ca i component arhitectural, permite att proiectantului ct i utilizatorului procesorului, s vorbeasc despre funcii, independent de suportul hardware specific care le realizeaz. Arhitectura setului de instruciuni (notat n continuare cu ASI), ca interfa ntre hardware i software, permite mai multor implementri, cu costuri i performane diferite, s ruleze acelai software. Noiunea de arhitectur trebuie privit, prin analogie cu nelesul clasic al noiunii de arhitectura, care se refera la construcii, nu numai n sens declarativ al ASI (care definete un set de proprieti abstracte, un plan) dar i n sens procedural, al unei discipline de proiectare, care implic procesul de producere i implementare a acestor proprieti abstracte. Aceasta a doua componenta a noiunii de arhitectura, care se refera la aspectele de implementare a funciilor (proiectare i realizare a circuitelor ce realizeaz funciile), are la rndul su dou componente: organizare i hardware. Termenul organizare include aspectele de nivel nalt ale unui proiect de calculator, ca de exemplu organizarea sistemului de memorie, structura i organizarea magistralelor i proiectul intern al UCP. De exemplu, [Patterson90], doua maini cu aceeai arhitectur a setului de instruciuni, dar organizri diferite, sunt VAX - 11/780 i VAX 8600. Noiunea de hardware (resurse fizice) e utilizat pentru a ne referi la aspectele specifice ale implementrii mainii. Acestea includ proiectul logic de detaliu i tehnologia de realizare a mainii de calcul. n concluzie arhitectura calculatorului cuprinde dou componente principale: 1. arhitectura setului de instruciuni (ASI) 2. implementarea mainii, cu cele dou sub-componente: organizare hardware
ef lucr. dr. ing. Dan FLOROIAN