Sunteți pe pagina 1din 5

Unitatea central de procesare (UCP)

Unitatea central de procesare (UCP) sau procesorul supervizeaz aproape orice aciune n calculator: 1. citete din memorie pe rnd fiecare instruciune a programului, n ordinea de execuie, o decodific (de exemplu, adunare), citete datele pe care instruciunea trebuie s le prelucreze (termenii adunrii), efectueaz operaia indicat de instruciune, scrie rezultatul n memorie i trece la instruciunea urmtoare care poate fi i din alt program, dac programul curent s-a terminat sau se ntrerupe; n acest din urm caz, informaiile curente din procesor sunt salvate ntr-o stiv, pentru a putea fi restaurate la reluarea programului ntrerupt. Procesorul este implicat i n alte tipuri de aciuni, cum sunt 2. furnizarea tactului de ctre orologiul central i 3. emiterea semnalelor de control pentru execuia instruciunilor. Din punct de vedere tehnic, performana procesorului se msoar prin frecvena ceasului (la primele microprocesoare, era de circa 4MHz, iar acum a trecut de 3000 de MHz) i de lungimea irurilor de bii pe care se definesc calculele (iniial, 4 bii, acum 32 sau 64 de bii). Microprocesoare produc mai multe firme, printre care cea mai cunoscut este Intel; alte firme productoare de microprocesoare sunt AMD, Cyrix, Motorola etc.

Imagini de la fabricarea cip-urilor. HowStuffWorks.

Microprocesor Motorola Dragonball pentru calculatorul handheld Palm Pilot M100. HowStuffWorks.

Limbajul main.
Fiecare program, indiferent de limbajul n care a fost scris de ctre programator, ajunge s fie executat de (micro)procesor numai dup ce a fost tradus (compilat) n singurul limbaj pe care l tie procesorul (i deci calculatorul): limbajul su main. Dac dm spre execuie la dou calculatoare, unul cu procesor Intel i cellalt cu procesor Motorola, un acelai program scris n C++, de fapt fiecare procesor va executa programul dat ca pe un ir de instruciuni n propriul su limbaj-main; aadar, n momentul execuiei, un acelai program va arta diferit n calculatoare cu procesoare diferite. Limbajul-main conine cteva zeci de instruciuni elementare, cele mai simple ce pot fi executate de procesor. Execuia unei singure instruciuni scris ntr-un limbaj evoluat (C++, de exemplu) const de fapt din execuia unui ir de astfel de instruciuni elementare. O instruciune n limbaj-main poate indica procesorului: - s execute, prin intermediul Unitii Aritmetice i Logice, o operaie aritmetic sau boolean asupra unei reprezentri de numr ntreg sau fracionar sau asupra unei valori de adevr; - s transfere un ir de bii dintr-o zon a memoriei n alta; - s modifice ordinea de execuie a instruciunilor memorate, eventual dup verificarea unei condiii logice. Acestea sunt operaiile la nivelul limbajului main. Ele sunt acei atomi din care este alctuit calculul, aa cum l vede procesorul. Felul n care sunt proiectate instruciunile limbajului-main din punctul de vedere al circuitelor care le execut i al structurii irurilor de bii pe care le prelucreaz constituie elementul fundamental de definire i de proiectare a unui anumit procesor. Pornind de la aceste fundamente diferite, diverse procesoare ajung s execute n mod identic un acelai program, indiferent dac este scris n C++, Java sau Pascal. De ce au fost inventate aceste noi limbaje, care constituie un nivel suplimentar fa de limbajul-main? Descris n instruciuni ale limbajului-main, rezolvarea unei probleme poate fi dus la capt de procesor, dar este foarte greu de neles pentru om. Calculatoarele pot fi programate n limbaj-main de foarte puini specialiti. i n prezent este utilizat doar la programarea unor microprocesoare pentru automatele simple. Un prim pas n drumul calculatorului spre larga utilizare de azi l-a constituit tocmai creterea numrului celor care l puteau programa: au aprut limbaje mai apropiate de modul n care omul i reprezint rezolvarea unei probleme; astfel de limbaje (primul a fost Fortran, n 1954) se numesc limbaje evoluate. Pentru ca, aa cum aminteam, procesoare diferite s execute la fel un acelai program scris ntr-un limbaj evoluat este nevoie n primul rnd ca fiecare calculator s posede, n software-ul su, un compilator1 pentru limbajul evoluat i, n al doilea rnd, este nevoie ca reprezentrile datelor s fie
Un compilator este scris pentru un anume limbaj evoluat i pentru un anume procesor. El traduce programe din acel limbaj evoluat n limbajul-main al procesorului respectiv.
1

standardizate pentru toate calculatoarele. Condiia de standardizare ine de arhitectura calculatoarelor: reprezentrile interne ale datelor elementare (numere i caractere) fac parte din arhitectura procesorului. Alegerea unei reprezentri nseamn deciderea procedurii (standardului) de codificare / decodificare a datelor, inclusiv opiunea privind lungimile pe care se reprezint acestea. Spre exemplu, literele se pot reprezenta n toate calculatoarele folosind codul ASCII, care asociaz unei litere un ir de opt bii: litera A se reprezint n ASCII ca 01000001. Limbajele de programare Cronologic, limbajul n cod main, a fost primul limbaj de programare utilizat. Pornindu-se de la descrierea semantic a algoritmului, programul cuprinde un sir finit de instruciuni, redactate sub forma unor secvene cu caractere binare Astzi, o mare parte din etapele necesare n programarea n limbajul main au fost transferate calculatorului, prin crearea unor tipuri de limbaje de programare. Aceste limbaje sunt recunoscute de calculator care este utilat cu anumite programe n acest sens, denumite compilatoare, care le transform n limbaj main. Din punct de vedere semiotic, majoritatea specialitilor susin c unele dintre limbajele de programare sunt mai apropiate de cele logice, pe cnd altele mai apropiate de cele naturale. In ultimii 40 de ani, au fost realizate un numr impresionat de limbaje de programare printre care putem enumera: ALGOL (ALGOrithmic Language), aprut n 1958, orientat pe calcule tehnicotiinifice, din care a aprut ulterior Limbajul PASCAL. un limbaj algoritmic, n care se dau o serie de reguli de formare a construciilor corecte, a fost folosit n universiti; PASCAL, un limbaj creat n 1971, de tip structural (fiecare prelucrare este considerat ca un bloc, iar blocurile pot fi nchise, ncapsulate unele n altele). Acest limbaj creat n Elveia a avut o mare dezvoltare odat cu apariia microcalculatoarelor; FORTRAN (FORmula TRANslator) orientat pe calcule tehnico-tiinifice creat n 1956;un limbaj universal, unul din cele mai folosite limbaje n anii 70. In acest limbaj exist faciliti n realizarea ciclrilor; COBOL (Common Business Oriented Language), orientat pe calcule economice, care manipuleaz un volum mare de date,creat n 1960 BASIC (Beginners All-purpose Symbolic Instruction Code), creat n 1975 este un limbaj interactiv i care poate fi folosit pe microcalculatoare i chiar pe calculatoare de buzunar. A fost creat n SUA i permite utilizarea lui de ctre nespecialiti n informatic. LISP (LISt Processing language), creat n 1960 i orientat pe prelucrri pe baz de liste. Este primul limbaj neprocedural care st la baza inteligentei artificiale i a sistemelor expert.

PROLOG limbaj folosit pentru programe expert din diferite domenii: medicin ( pentru diagnostic i recomandri tratament), geologie, procese tehnologice, etc.; C a fost creat n 1971 de ctre firma Bell-Telephone pentru a permite realizarea sistemului de operare Unix. Este un limbaj foarte performant care posed conceptele limbajelor structurale de nivel nalt i n plus i permit accesul la hardware. C++ limbaj orientat pe obiecte ce asigura stocarea datelor din realitate, instrumente de programare i de modelare a unor situaii din lumea reala JAVA este un limbaj modern, orientat spre obiecte i este utilizat pentru paginile Web, fiind bine protejat mpotriva viruilor.

Evoluia microprocesoarelor.
Intel 4004 a reprezentat prima realizare a unui ntreg procesor prin integrare pe un singur cip (chip); Intel 8008 a fost primul microprocesor folosit ca unitate central de procesare ntr-un calculator. Din punctul de vedere al succesului comercial al microprocesoarelor, capul de serie a fost pentru Intel 8080 din 1974 un microprocesor pe 8 bii, cu frecven a ceasului de 2 MHz i care integra 6000 de tranzistoare pe un singur cip. Procesorul 80286 din 1982 lucra pe 16 bii i avea aproape 150000 de tranzistori, la o frecven de 6 MHz. Pentium, lansat n 1993, ajunsese la 3 milioane de tranzistoare i la frecvena de 60 MHz; procesorul lucra cu date pe 32 sau 64 de bii. Dup Pentium II (1997) i Pentium III (1999), n anul 2000 a aprut Pentium IV, avnd 42 de milioane de tranzistori i o frecven de 1500 MHz. Un indicator al vitezei de lucru a unui procesor este cte milioane de operaii pe secund se estimeaz c poate executa. Cum operaiile efectuate variaz mult de la un program la altul, iar tipuri diferite de operaii au timpi diferii de execuie, msura aceasta nu este exact i depinde de aplicaiile pentru care este folosit calculatorul. Cu caracter orientativ i n scopul comparrii performanelor relative, se afirm c 8080 efectua 640000 de operaii pe secund, 80286 ajunsese la 1 milion, primul Pentium la 100 de milioane, iar Pentium IV la aproape 1700 de milioane (spre comparaie, primele calculatoare, realizate nainte de 1950, puteau efectua maximum 5000 de operaii pe secund). Dac lum n considerare i frecvena ceasului, observm c numrul estimat de operaii pe secund a crescut mai repede dect aceasta: de exemplu, primul Pentium putea efectua de 100 de ori mai multe operaii dect 80286, neavnd ns dect o frecven de 10 ori mai mare. Creterea suplimentar se explic nu prin tehnologie, ci prin ideile noi de arhitectur a calculatoarelor: pipeline i paralelism. Funcionarea paralel este de obicei asociat unor arhitecturi RISC (Reduced Instruction Set Computer calculator cu mulime redus de instruciuni). Ca i la CISC(Complex Instruction Set Computer calculator cu mulime complex de instruciuni)., este vorba de numrul instruciunilor din limbajul main. n arhitectura RISC, orice instruciune-main CISC neinclus n limbajul-main RISC se simuleaz printr-o secven de instruciuni RISC. Pstrnd puine instruciuni (cele mai frecvent

folosite), arhitecturile RISC sunt considerate ca dnd procesoare mai rapiden acest fel, ntr-un singur ciclu al ceasului ajung s se efectueze dou instruciuni, fa de o instruciune la 15 cicluri ale ceasului, la procesorul 8088. De altfel, fa de comparaia 80286 Pentium I, n interiorul familiei Pentium diferena dintre raportul frecvenelor i cel al numrului de instruciuni pe secund s-a redus i chiar inversat, ilustrnd relativa stagnare din punctul de vedere al ideilor de arhitectur.

Pentium.
Anunat n 1992 i lansat n 1993, tipul de microprocesor Pentium este nc cel mai recent descendent al familiei Intel. Pstrnd compatibilitatea cu cele patru generaii anterioare de microprocesoare, inclusiv cu 8088, Pentium introduce ideea de procesare paralel: avnd dou ci identice de procesare a datelor, el poate executa simultan dou intruciuni (pairing). Numit de Intel arhitectur superscalar, acest mod de execuie ilustreaz pentru prima dat funcionarea paralel la un procesor CISC Simplificnd, putem imagina un procesor Pentium ca integrnd pe un singur cip dou procesoare 486. Pentru a putea folosi ntreaga putere oferit de Pentium, poate fi nevoie ca ordinea instruciunilor s fie modificat (compilatoare cu optimizarea codului), din cauza execuiei n etape distincte a fiecrei instruciuni (pipeline). Ajuns astzi la o frecven a ceasului de peste 3GHz (trei miliarde de tacturi pe secund), magistrala de comunicare a datelor avnd peste 500 MHz, Pentium n versiunea IV reprezint un important avans tehnologic zeci de milioane de tranzistori pe un cip. Iat cteva idei de arhitectur ce cresc performanele procesorului Pentium: - tehnica pipeline (execuia etapizat i intercalat a instruciunilor); - memoria imediat (cache memory), caracterizat prin o includerea n cipul-procesor o amnarea scrierii n memoria principal pn la un moment de ncrcare mai mic o un nivel suplimentar de memorie ce evit ntrzierile n caz de eec la accesul memoriei imediate) - coprocesorul ncorporat (idee aprut la ultimele versiuni de procesoare 486). n ultimii civa ani au aprut ns doar mbuntiri strict tehnologice.

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