Unitatea centrala de prelucrare
(Central Processing Unit - CPU)
Unitatea centrala de prelucrare (CPU) este, in ingineria calculatoarelor, un set de circuite microscopice care reprezinta procesorul cu informatiile principale dintr-un calculator. CPU este in general un singur microprocesor creat de obicei dintr-un disc subtire de material semiconductor, de obicei siliciu, cu milioane de circuite electrice pe suprafata sa. Pe un nivel mai inalt, CPU este de fapt un numar de unitati de prelucrare interconectate care sunt fiecare responsabile pentru un aspect al functiei unitatii centrale de prelucrare. Unitatile centrale de prelucrare standard contin unitati de prelucrare care interpreteaza si implementeaza instructiunile software-ului, realizeaza calcule si comparatii, fac decizii logice (determinand daca o propozitie este adevarata sau falsa dupa regulile Algebrei Booleene), inmagazineaza temporar informatii pentru utilizarea ulterioara de catre alta unitate de prelucrare a CPU, tin evidenta pasului curent in executia programului si permit CPU sa comunice cu restul calculatorului.
A. Functiile CPU
CPU este asemenea unui calculator, insa mult mai puternica. Principala functie a CPU este sa realizeze operatii aritmetice si logice pe baza datelor preluate din memorie sau pe baza unor informatii primite prin intermediul unor dispozitive precum tastatura, scanner, sau joystick. CPU este controlata de o lista de instructiuni de software, numite program de calculator. Instructiunile de software care patrund in CPU isi au originea in unele forme de stocare de memorie precum hard disk, floppy disk, CD-ROM, sau benzi magnetice. Aceste instructiuni trec dupa aceea in memoria RAM (Random Access Memory), unde fiecarei instructiuni ii este data o adresa, sau locatie de memorie. CPU poate accesa date specifice in RAM prin specificarea adresei datei dorite.
In timp ce programul este executat, datele sunt transmise din RAM prin intermediul unei unitati de interfatare prin fire numite bus, care conecteaza CPU la RAM. Datele sunt dupa aceea decodate de o unitate de prelucrare numita decodor de instructiuni care interpreteaza si implementeaza instructiunile de software. De la decodorul de instructiuni datele sunt transmise Unitatii Aritmetice Logice (UAL), care realizeaza calculele si comparatiile. Informatia poate fi stocata in UAL in locatii de memorie temporare numite registri de unde poate fi repede folosita si recuperata. UAL realizeaza operatii specifice cum ar fi adunarea, inmultirea si testele conditionale asupra datelor din registri, trimitand rezultatele inapoi RAM-ului sau stocandu-le intr-un alt registru pentru uz ulterior. In timpul acestui proces, o unitate numita contor de program tine evidenta cu fiecare instructiune succesiva pentru a mentine siguranta ca instructiunile programului sunt urmarite de CPU in ordinea corecta.
B. Instructiunile de ramificatie
De obicei, contorul de program al unitatii centrale de procesare avanseaza secvential de-a lungul instructiunilor. Totusi, instructiuni speciale numite instructiuni de ramificatie sau de salt permit CPU sa se schimbe brusc catre locatia unei instructiuni din afara secventei. Aceste ramuri sunt fie neconditionale sau conditionale. O ramura neconditionala sare intotdeauna la un nou sir de instructiuni in afara ordinii. O ramura conditionala testeaza rezultatul operatiei precedente pentru a vedea daca ramura trebuie urmata. Spre exemplu, o ramura poate fi urmata numai daca rezultatul operatiei precedente a fost negativ. Datele care sunt testate pentru ramificatie conditionala sunt stocate in locatii speciale ale CPU numite steaguri (flags).
C. Impulsurile de ceas
CPU este condusa de unul sau mai multe circuite repetitive de ceas care trimit un flux constant de impulsuri de-a lungul setului de circuite ale CPU. CPU utilizeaza aceste impulsuri de ceas pentru a-si sincroniza operatiile. Cele mai mici incrementari ale muncii CPU sunt realizate intre impulsuri de ceas secventiale. Sarcinile mult mai complexe dureaza cateva perioade de ceas pentru fi terminate. Impulsurile de ceas sunt masurate in hertzi, sau numarul de impulsuri pe secunda. Spre exemplu, un procesor de 100 MHz are 100 de milioane de impulsuri de ceas care-l strabat pe secunda. Impulsurile de ceas sunt masura vitezei procesorului.
D. Numere in virgula fixa si in virgula mobila
Majoritatea unitatilor centrale de procesare lucreaza cu doua tipuri de numere: in virgula fixa si in virgula mobila. Numerele in virgula fixa au un numar specific de cifre de fiecare parte a punctului zecimal. Aceasta restrictie limiteaza multimea de valori posibile pentru aceste numere, dar, in schimb, permite cea mai rapida aritmetica. Numerele in virgula mobila sunt numerele care sunt exprimate in notatiile stiintifice, in care un numar este reprezentat ca un numar zecimal inmultit cu o putere a lui 10. Notatia stiintifica este un mod compact de a exprima numere foarte mari sau foarte mici. Inaintea si dupa punctul zecimal. Acest lucru este important pentru a reprezenta grafice si pentru munca stiintifica, insa aritmetica in virgula mobila este mai complexa si poate dura mai mult. Realizarea unei operatii a unui numar in virgula mobila poate necesita mai multe perioade de ceas ale unitatii centrale de prelucrare. Rata de calculare a CPU a unei operatii in virgula mobila este, drept urmare, mai mica decat rata ceasului. Unele calculatoare utilizeaza un procesor special pentru virgula mobila, numit coprocesor, care lucreaza in paralel cu CPU pentru a mari viteza calculelor folosind numere in virgula mobila. Coprocesorul a devenit standard pentru unitatea centrala de prelucrare a multor calculatoare, cum este cazul cip-ului Pentium de la Intel.
In interiorul primelor calculatoare, CPU era formata din tuburi electronice si relee electrice, si nu din tranzistoare microscopice pe cipuri de calculatoare. Aceste calculatoare erau imense si necesitau multa putere in comparatie cu calculatoarele conduse de microprocesoare de astazi. Primul calculator electronic pentru scopuri generale, numit ENIAC (Electronic Numerical Integrator And Computer), a fost terminat in 1946 si ocupa o intreaga camera. Au fost folosite circa 18.000 de tuburi electronice pentru constructia unitatii centrale de prelucrare a lui ENIAC si a circuitelor de intrare/iesire. Intre 1946 si 1956 toate calculatoarele aveau astfel de tuburi si consumau cantitati imense de energie si necesitau intretinere continua, deoarece tuburile electronice se ardeau frecvent si trebuiau inlocuite.
B. Tranzistorul
O solutie pentru problemele avute de tuburile electronice a aparut in 1947, cand fizicienii americani John Barden, Walter Brattain si William Shockley au prezentat un dispozitiv revolutionar de amplificare si intrerupere electronica. Tranzistorul avea potentialul de a lucra mai repede si mai rentabil si de a consuma mult mai putina energie ca un tub electronic. In ciuda avantajelor coplesitoare ale tranzistoarelor, au fost necesari noua ani pentru a fi utilizate intr-un calculator comercial. Primul calculator care se putea gasi pe plan comercial ce utiliza tranzistoare a fost UNIVAC (UNIVersal Automatic Computer), care a fost trimis aviatiei americane in 1956.
C. Circuite integrate
Evolutia cip-ului de calculator a inceput in 1958, cand Jack Kilby de la Texas Instruments a demonstrat ca era posibil sa integrezi diferite componente ale CPU pe o singura bucata de siliciu. Cip-urile de calculatoare au fost denumite circuite integrate deoarece combinau circuite electronice multiple pe acelasi cip. Design-ul ulterior si descoperirile in materie de prelucrare au permis ca densitatile de tranzistoare pe circuitele integrate sa creasca enorm. Primele circuite integrate aveau numai cateva zeci de tranzistoare in comparatie cu densitatea comuna a unitatilor centrale de prelucrare din ziua de azi care variaza intre 3 milioane si 5 milioane de tranzistoare pe un cip.
In 1967, Fairchild Semiconductor a introdus un singur circuit logic integrat care continea toate functiile aritmetice si logice pentru un procesor pe 8 biti. Totusi, un circuit integrat de calculator care sa lucreze in totalitate era nevoie de alte circuite care sa furnizeze registri de stocare, controlul fluxului de date, memorie si cai de intrare/iesire. Intel Corporation a reusit acest lucru in 1971 cand au introdus microprocesorul Intel 4004. Desi acest procesor nu putea controla decat aritmetica pe 4 biti, era destul de puternic pentru a deveni "miezul" multor calculatoare de mana din acea vreme. In 1975 Micro Instrumentation Telemetry Systems a introdus Altair 8800, primul kit pentru un calculator personal care sa contina un microprocesor pe 8 biti. Deoarece microprocesoarele erau atat de ieftine si de incredere, tehnologia calculatoarelor a avansat rapid pana intr-un punct in care oamenii de rand isi permiteau cumpararea unui mic calculator. Conceptul de calculator personal (Personal Computer) a fost posibil o data cu aparitia unitatii centrale de prelucrare pentru un microprocesor. In 1978, Intel a introdus primul dintre unitatile sale centrale de prelucrare x86, microprocesorul pe 16 biti 8086. Desi microprocesoarele pe 16 biti inca sunt actuale, microprocesoarele din ziua de azi devin din ce in ce mai sofisticate, cu multe unitati centrale de prelucrare pe 32 de biti si chiar pe 64 de biti. Procesoarele de inalta performanta pot lucra cu rate interne de ceas care depasesc chiar 1GHz, sau peste un miliard de impulsuri de ceas pe secunda.
Fabricarea unui circuit integrat
Dispozitivul fundamental al lumii digitale este circuitul integrat, o mica piesa de forma patrata de siliciu continand milioane de tranzistoare. Este probabil cel mai complex dispozitiv creat de om. Desi pare plat, este de fapt o structura tridimensionala creata prin construirea in cel mai mic detaliu pe baza de siliciu a catorva straturi forte subtiri de materiale care izoleaza si conduc electricitatea. Asamblate conform unui tipar care a fost conceput cu foarte mare grija in avans, aceste straturi formeaza tranzistorele, care functioneaza ca intrerupatoare care controleaza fluxul de electricitate prin circuit, cunoscut si sub numele de cip. Pozitiile "pornit" si "oprit" ale intrerupatorului manipuleaza codul binar care este miezul functionarii calculatorului.
Constructia in sine a unui cip necesita, de obicei, cateva sute de pasi de fabricare care dureaza cateva saptamani. Fiecare pas trebuie executat perfect pentru ca cip-ul sa functioneze. Conditiile sunt foarte stricte. Spre exemplu, deoarece un fir de praf poate distruge cip-ul, fabricarea trebuie sa aiba loc intr-o "camera curata" care contine mai putin de 25 de submicroni de particule de praf intr-un metru cub de aer (in contrast, camera de zi are intre doua milioane si douazeci de milioane de particule intr-un metru cub de aer). Mare parte din echipamentul necesar pentru crearea cip-urilor admite cea mai inalta dintre tehnologiile inalte, astfel incat fabricile de cip-uri, care costa intre un miliard si doua miliarde de dolari, sunt printre cele mai costisitoare intreprinderi.
Tehnologia de baza a fabricarii cip-ului este procesul "planar" proiectat in 1857 de Jean Hoerni de la Fairchild Semiconductor. Acesta furniza mijloacele de creare a unei structuri cu straturi a bazei de silicon a unui cip. Aceasta tehnologie a fost pivotul in aparitia circuitului integrat in 1958 de catre Robert N. Noyce. Legatura intre tranzistoare si circuitul integrat a fost tehnologia planara care a deschis drumul catre procesul de fabricare conform caruia se construiesc astazi cip-urile. Sutele de pasi individuali din acest proces pot fi grupati in cateva operatii de baza.
Proiectarea cip-ului
Prima operatie este proiectarea cip-ului. Cand ai de construit milioane de tranzistoare pe o pastila de siliciu de dimensiunea unghiei unui copil, plasarea si interconectarea tranzistoarelor trebuie lucrata meticulos. Fiecare tranzistor trebuie proiectat pentru functia proprie, si se combina grupuri de tranzistoare pentru a crea elemente de circuit cum ar fi invertoarele, sumatoarele si decodoarele. Proiectantul trebuie sa ia de asemenea in consideratie scopul pentru care a fost proiectat cip-ul. Un cip de procesor executa instructiunile dintr-un calculator iar cipul de memorie stocheaza datele. Cele doua tipuri de cip-uri difera oarecum in structura. Din cauza complexitatii cip-urilor din ziua de astazi, munca de proiectare este realizata de un calculator, desi inginerii printeaza adesea o diagrama marita a structurii cip-ului pentru a o examina in detaliu.
Cristalul de siliciu
Materialul de baza pentru constructia unui circuit integrat este cristalul de siliciu. Siliciul, elementul cel mai abundent pe pamant dupa oxigen, este ingredientul principal al nisipului de plaja. Siliciul este un semiconductor natural, ceea ce inseamna ca poate fi alterat pentru a deveni fie izolator, fie conductor. Pentru a obtine cristalul de siliciu, siliciul-"minereu" este obtinut din cuart si este tratat cu chimicale pentru elimina impuritatile pana cand ceea ce ramane este aproape 100% siliciu. Siliciul purificat este topit si apoi transformat in cristale de forma cilindrica numite lingouri. Lingourile sunt feliate in membrane de circa 0,725 mm grosime. Intr-unul din pasi, numit planarizare sunt lustruite pana cand capata o suprafata fina ca o oglinda si fara cusur. In prezent, majoritatea acestor membrane au un diametru de 200 mm, dar industria doreste obtinerea unui diametru standard de 300 mm. Deoarece o singura membrana produce sute de cip-uri, membrane mai mari inseamna ca mai multe cip-uri pot fi produse, scazand costul de productie.
Primele straturi
Primul strat este dioxidul de siliciu, care nu conduce electricitatea si, drept urmare, serveste ca izolator. Este creata prin suprapunerea straturilor pe un cuptor de difuziune, care este de fapt un cuptor la temperatura inalta unde un strat subtire de oxid este crescut pe suprafata membranei.
Inlaturata de pe cuptor, membrana este acum gata pentru primul sau pas de creare a unui tipar, asa zisul pas fotolitografic. O patura de lichid polimeric usor vascos numit fotorezistent, care devine solubil cand este expus la lumina ultravioleta, este depus pe suprafata. Se depune o cantitate precisa de fotorezistent pe suprafata membranei. Apoi membrana este supusa unei miscari de rotatie, astfel incat forta centrifuga imprastie lichidul pe suprafata acesteia formand un strat de grosime uniforma. Aceasta operatie are loc pe fiecare strat care este modificat de o procedura fotolitografica, numita mascare.
Mascarea
Masca este dispozitivul prin care lumina ultravioleta lumineaza pentru a defini tiparul pe fiecare strat al cip-ului. Deoarece tiparul este deosebit de complex si trebuie sa fie pozitionat precis pe cip, aranjamentul spatiilor opace si transparente pe masca trebuie realizat cu foarte mare grija in timpul operatiei de proiectare a cipului.
Imaginea mastii este transferata pe membrana folosind un aparat controlat de calculator. Acesta are un sistem complicat de lentile care reduce tiparul de pe masca la dimensiunile microscopice ale circuitelor cip-ului, necesitand o rezolutie de pana la 0,25 microni. Membrana este mentinuta pe o masa de pozitionare dedesubtul sistemului de lentile. Lumina ultravioleta de la o lampa speciala sau de la un laser trece prin spatiile libere ale tiparului complex al mastii pe stratul fotorezistent al unui cip. Apoi masa de sub lentile misca membrana o distanta precisa necesara pentru pozitionarea cip-ului sub lumina. Pe fiecare cip, componentele stratului fotorezistent care au fost lovite de lumina devin solubile si pot fi, asemenea unui film fotografic, "developate", folosind solventi naturali. Dupa ce fotorezistentul capata tiparul, membrana este gata pentru imprimare.
In timpul acestui pas, fotorezistentul care a ramas pe suprafata protejeaza parti ale straturilor de dedesubt de a fi inlaturate de acizii si gazele reactive folosite pentru a imprima tiparul pe suprafata membranei. Dupa ce imprimarea se sfarseste, stratul protector de fotorezistent este inlaturat, evidentiind astfel segmente conductoare sau izolatoare electric pe tiparul determinat de masca. Fiecare strat aditional asezat pe cip are un tipar distinct.
Adaugarea straturilor
Mascarea si imprimarea ulterioara depoziteaza tiparele materialelor aditionale pe cip. Aceste materiale includ polisiliciu ca si diferiti oxizi si conductori metalici, cum ar fi aluminiul si tungstenul. Pentru a preveni formarea de compusi nedoriti in pasii urmatori, alte materiale cunoscute sub numele de bariere de difuziune pot fi de asemenea adaugate. Pe fiecare strat de material, mascarea si imprimarea creeaza un tipar unic de suprafete conductoare si izolatoare. Impreuna, aceste tipare aliniate una deasupra alteia formeaza circuitele cipului intr-o structura tridimensionala. Dar circuitele necesita o perfecta stare de functionare, furnizata de un alt pas numit dopare.
Doparea
In timpul doparii se adauga impuritati chimice, cum ar fi bor sau arsenic, anumitor parti ale membranei de siliciu pentru a altera modul in care fiecare suprafata dopata de siliciu conduce electricitatea. Sunt folosite adesea masinile numite implantatori de ioni pentru a injecta aceste impuritati pe cip.
In termeni electrici, siliciul poate fi fie de tipul n sau de tipul p, depinzand de impuritatile adaugate. Atomii din materialul dopat in siliciul de tipul n au un electron in plus care este liber sa se miste. Unii dintre atomii dopati in siliciul de tipul p au un electron lipsa si constituie astfel ceea ce se numeste un gol. Cand cele doua tipuri se unesc, electronii aflati in plus pot trec de la tipul n la tipul p pentru a umple golurile.
Aceasta miscare a electronilor nu continua in mod infinit. Pana la urma ionii pozitivi ramasi pe partea tipului n si ionii negativi de pe partea p creeaza impreuna o forta electrica care previne un eventual flux de electroni de la tipul n la tipul p.
Materialul de la baza cip-ului este siciul de tipul p. Unul dintre pasii de imprimare in fabricarea cipului inlatura anumite parti ale straturilor de dioxizi de siliciu si de polisiliciu asezati pe baza de siliciu pur mai inainte, lasand astfel libere doua striatii de siliciu de tipul p. Acestea sunt separate de o striatie care isi are inca stratul de polisiliciu conductor; aceasta este "poarta" tranzistorului. Materialul dopat aplicat celor doua striatii de siliciu de tip p le transforma in siliciu de tip n. O sarcina pozitiva aplicata portii atrage electronii sub poarta in baza de siliciu a tranzistorului. Acesti electroni creeaza un canal intre o striatie de tipul n (sursa) si o alta (scurgerea). Daca se aplica o tensiune pozitiva scurgerii, curentul va merge de la sursa la scurgere. In acest fel, tranzistorul este "pornit". O sarcina negativa aplicata portii goleste canalul de electroni, prevenind astfel fluxul de curent intre sursa si scurgere. Acum tranzistorul este "oprit". Pozitionarea tranzistorului pe "oprit" sau "pornit" reprezinta de fapt 0 sau 1, care constituie codul binar, limbajul calculatoarelor.
Realizate de multe ori in multi ani, aceste operatii furnizeaza cip-ul cu multitudinea sa de tranzistori. Dar asa cum trebuiesc luate masuri pentru ca firele electrice si tevile dintre etajele unui bloc sa functioneze, trebuie luate masuri pentru interconectarea tranzistoarelor pentru ca acestea sa formeze un set de circuite integrate.
Interconectarile
Pasul final incepe cu alte operatii de mascare si de imprimare care deschid un strat subtire de contacte electrice intre straturile cipului. Apoi este depozitat aluminiu si capata un tipar folosind fotolitografia pentru a crea un fel de fire care leaga toate tranzistoarele cipului. Aluminiul este folosit pentru aceste aplicatii deoarece acesta creeaza un bun contact electric cu siliciul si de asemenea se uneste bine cu dioxidul de siliciul.
Acest pas incheie prelucrarea membranei. Acum cip-urile sunt testate pentru a fi siguri ca toate conectarile electrice functioneaza. In continuare, o masina taie membrana in cip-uri individuale si cip-urile bune sunt separate de celelalte. Cip-urile bune, de obicei cea mai mare parte, sunt asezate pe unitati de impachetare cu varfuri metalice, care sunt unite de cipuri cu niste fire speciale. Contactul electric intre suprafata cipului si varfuri se realizeaza cu mici fire de aluminiu sau de aur de circa 0,025 mm in diametru. Cand procesul de impachetare s-a incheiat, cip-urile sunt trimise pentru munca digitala.
IV. Evolutia curenta
Natura competitiva a industriei de calculatoare si utilizarea unor calcule mai rapide si de cost mai ridicat continua sa conduca catre unitati centrale de prelucrare mai rapide. Dimensiunea minima a tranzistorului care poate fi fabricat folosind tehnologia curenta se apropie rapid de limita teoretica. In tehnicile standard de proiectare a microprocesorului, se foloseste lumina ultravioleta (cu lungime de unda scurta) pentru a expune patura sensibila a cip-ului de siliciu la lumina. Diferite metode sunt dupa aceea folosite pentru a imprima materialul de baza prin tiparul creat de lumina. Aceste imprimari formeaza caile pe care le urmeaza curentul electric in cip. Limita teoretica a tranzistoarelor folosind acest tip de fabricare este aproximativ egala cu lungimea de unda a luminii utilizate pentru a expune patura sensibila la lumina. Prin folosirea unei lumini de lungime de unda mai scurte se pot obtine detalii mai mari si se pot fabrica tranzistoare mai mici, rezultand unitati centrale de prelucrare mai rapide si mai puternice. Imprimarea circuitelor integrate cu raze X, care au o mult mai mica lungime de unda decat lumina ultravioleta, poate furniza mari reduceri ale dimensiunii tranzistoarelor, rezultand in imbunatatiri ale vitezei procesoarelor.
Sunt urmarite multe alte domenii de cercetare in incercarea de a crea unitati centrale de procesare mai rapide. Noi materiale de baza pentru circuite integrate, cum ar fi straturi compuse de arsenit de galiu si arsenit de aluminiu si galiu, pot contribui la cip-uri mai rapide. De asemenea sunt luate in considerare alternative la modelul bazat pe tranzistoare . Idei experimentale in studiul calculelor pot schimba radical proiectarea calculatoarelor si conceptul de CPU in viitor. Aceste idei includ calculul prin cuante, in care fiecare atom retine biti de informatie, calculul molecular, unde unele tipuri de probleme pot fi rezolvate folosind tehnici de recombinare a ADN-ului si retelele neurale, care sunt sisteme de calculatoare cu capacitatea de a invata.