|
Unitatea central? de prelucrare (CPU) este, în ingineria calculatoarelor, un set de circuite microscopice care reprezint? procesorul cu informa?iile principale dintr-un calculator. CPU este în general un singur microprocesor creat de obicei dintr-un disc sub?ire de material semiconductor, de obicei siliciu, cu milioane de circuite electrice pe suprafa?a sa. Pe un nivel mai înalt, CPU este de fapt un num?r de unit??i de prelucrare interconectate care sunt fiecare responsabile pentru un aspect al func?iei unit??ii centrale de prelucrare. Unit??ile centrale de prelucrare standard con?in unit??i de prelucrare care interpreteaz? ?i implementeaz? instruc?iunile software-ului, realizeaz? calcule ?i compara?ii, fac decizii logice (determinând dac? o propozi?ie este adev?rat? sau fals? dup? regulile Algebrei Booleene), înmagazineaz? temporar informa?ii pentru utilizarea ulterioar? de c?tre alt? unitate de prelucrare a CPU, ?in eviden?a pasului curent în execu?ia programului ?i permit CPU s? comunice cu restul calculatorului.
I. Cum func?ioneaz? CPU
A. Func?iile CPU
CPU este asemenea unui calculator, îns? mult mai puternic?. Principala func?ie a CPU este s? realizeze opera?ii aritmetice ?i logice pe baza datelor preluate din memorie sau pe baza unor informa?ii primite prin intermediul unor dispozitive precum tastatur?, scanner, sau joystick. CPU este controlat? de o list? de instruc?iuni de software, numite program de calculator. Instruc?iunile de software care p?trund în CPU î?i au originea în unele forme de stocare de memorie precum hard disk, floppy disk, CD-ROM, sau benzi magnetice. Aceste instruc?iuni trec dup? aceea în memoria RAM (Random Access Memory), unde fiec?rei instruc?iuni îi este dat? o adres?, sau loca?ie de memorie. CPU poate accesa date specifice în RAM prin specificarea adresei datei dorite.
În timp ce programul este executat, datele sunt transmise din RAM prin intermediul unei unit??i de interfa?are prin fire numite bus, care conecteaz? CPU la RAM. Datele sunt dup? aceea decodate de o unitate de prelucrare numit? decodor de instruc?iuni care interpreteaz? ?i implementeaz? instruc?iunile de software. De la decodorul de instruc?iuni datele sunt transmise Unit??ii Aritmetice Logice (UAL), care realizeaz? calculele ?i compara?iile. Informa?ia poate fi stocat? în UAL în loca?ii de memorie temporare numite regi?tri de unde poate fi repede folosit? ?i recuperat?. UAL realizeaz? opera?ii specifice cum ar fi adunarea, înmul?irea ?i testele condi?ionale asupra datelor din regi?tri, trimi?ând rezultatele înapoi RAM-ului sau stocându-le într-un alt registru pentru uz ulterior. În timpul acestui proces, o unitate numit? contor de program ?ine eviden?a cu fiecare instruc?iune succesiv? pentru a men?ine siguran?a c? instruc?iunile programului sunt urm?rite de CPU în ordinea corect?.
B. Instruc?iunile de ramifica?ie
De obicei, contorul de program al unit??ii centrale de procesare avanseaz? secven?ial de-a lungul instruc?iunilor. Totu?i, instruc?iuni speciale numite instruc?iuni de ramifica?ie sau de salt permit CPU s? se schimbe brusc c?tre loca?ia unei instruc?iuni din afara secven?ei. Aceste ramuri sunt fie necondi?ionale sau condi?ionale. O ramur? necondi?ional? sare întotdeauna la un nou ?ir de instruc?iuni în afara ordinii. O ramur? condi?ional? testeaz? rezultatul opera?iei precedente pentru a vedea dac? ramura trebuie urmat?. Spre exemplu, o ramur? poate fi urmat? numai dac? rezultatul opera?iei precedente a fost negativ. Datele care sunt testate pentru ramifica?ie condi?ional? sunt stocate în loca?ii speciale ale CPU numite steaguri (flags).
|