Unitate centrală de prelucrare | o parte importantă a fiecărui calculator

Unitatea centrală de procesare (CPU) este o parte importantă a fiecărui calculator. Unitatea centrală trimite semnale pentru a controla celelalte părți ale computerului, aproape la fel cum un creier controlează un corp.

Unitatea centrală de procesare este o mașinărie electronică care lucrează pe baza unei liste de lucruri pe care trebuie să le facă un computer, numite instrucțiuni. Acesta citește lista de instrucțiuni și le execută (execută) pe fiecare în ordine. O listă de instrucțiuni pe care o poate executa un CPU este un program de calculator.

Frecvența ceasului, sau viteza componentelor interne ale unui procesor, se măsoară în hertzi (Hz). Procesoarele moderne rulează adesea atât de repede încât se utilizează în schimb gigahertzi (GHz). Un GHz reprezintă 1.000.000.000.000 de cicluri pe secundă.

Cele mai multe unități centrale de procesare utilizate în computerele de birou (de uz casnic) sunt microprocesoare fabricate fie de Intel, fie de Advanced Micro Devices (prescurtat de obicei AMD). Alte companii producătoare de procesoare sunt ARM (achiziționată recent de Nvidia), IBM și AMD sub sigla ATI Technologies, care este lider în acest moment. Majoritatea procesoarelor lor sunt utilizate în sisteme integrate pentru lucruri mai specializate, cum ar fi în telefoane mobile, mașini, console de jocuri video sau în armată.




  Un procesor Pentium în interiorul unui computer  Zoom
Un procesor Pentium în interiorul unui computer  

Tipuri de procesoare

În secolul al XX-lea, inginerii au inventat multe arhitecturi de calculatoare diferite. În prezent, majoritatea computerelor desktop folosesc fie unități centrale de procesare pe 32 de biți, fie unități centrale de procesare pe 64 de biți. Instrucțiunile dintr-un procesor pe 32 de biți sunt bune pentru a gestiona date cu o dimensiune de 32 de biți (majoritatea instrucțiunilor "gândesc" pe 32 de biți într-un procesor pe 32 de biți). De asemenea, un procesor pe 64 de biți se pricepe să gestioneze date cu o dimensiune de 64 de biți (și adesea se pricepe să gestioneze și date pe 32 de biți). Dimensiunea datelor pe care un procesor o gestionează cel mai bine este adesea numită dimensiunea de cuvânt a procesorului. Multe CPU-uri vechi din anii '70, '80 și începutul anilor '90 (și multe sisteme integrate moderne) au o dimensiune a cuvântului de 8 sau 16 biți. Când au fost inventate CPU-urile la mijlocul secolului XX, acestea aveau mai multe dimensiuni de cuvânt diferite. Unele aveau dimensiuni diferite ale cuvintelor pentru instrucțiuni și date. Dimensiunile de cuvânt mai puțin populare au încetat ulterior să mai fie utilizate.

Majoritatea procesoarelor sunt microprocesoare. Acest lucru înseamnă că unitatea centrală de procesare este doar un singur cip. Unele cipuri cu microprocesoare în interiorul lor conțin și alte componente și sunt "calculatoare" complete pe un singur cip. Acesta se numește microcontroler.


 

Registre

Atunci când procesorul execută un program de calculator, are nevoie de un loc unde să stocheze datele pe care operează instrucțiunile (datele pe care le citesc și scriu). Această stocare se numește registru. Un CPU are de obicei mai multe registre. Registrele trebuie să fie foarte rapid de accesat (de citit și de scris). Prin urmare, ele fac parte din cipul CPU în sine.


 

Memorie

Stocarea tuturor datelor în registre ar face ca majoritatea procesoarelor să fie prea complicate (și foarte costisitoare). Prin urmare, registrele stochează, de obicei, doar datele la care lucrează "în acest moment" procesorul. Restul datelor utilizate de program sunt stocate în memoria RAM (Random Access Memory). Cu excepția microcontrolerelor, memoria RAM este de obicei stocată în afara procesorului, în cipuri separate.

Atunci când unitatea centrală de procesare dorește să citească sau să scrie date în memoria RAM, aceasta emite o adresă către datele respective. Fiecare octet din RAM are o adresă de memorie. Dimensiunea adreselor este adesea aceeași cu dimensiunea cuvântului: Un CPU pe 32 de biți utilizează adrese pe 32 de biți etc. Cu toate acestea, unitățile centrale mai mici, cum ar fi unitățile centrale pe 8 biți, utilizează adesea adrese care sunt mai mari decât dimensiunea cuvântului. În caz contrar, lungimea maximă a programului ar fi prea mică.

Deoarece dimensiunea adreselor este limitată, cantitatea maximă de memorie este, de asemenea, limitată. Procesoarele pe 32 de biți pot gestiona, de obicei, doar până la 4 GB de memorie RAM. Acesta este numărul de octeți diferiți care pot fi selectați cu ajutorul unei adrese pe 32 de biți (fiecare bit poate avea două valori-0 și 1-și 232 octeți înseamnă 4 GB). Un procesor pe 64 de biți ar putea gestiona până la 16 EB de RAM (16 exabytes, aproximativ 16 miliarde GB sau 16 miliarde de miliarde de miliarde de bytes). Sistemul de operare îl poate limita la utilizarea unor cantități mai mici.

Informațiile stocate în memoria RAM sunt, de obicei, volatile. Acest lucru înseamnă că vor dispărea în cazul în care calculatorul este oprit.

Unități de gestionare a memoriei (MMU) și memorie virtuală

Unitățile centrale de procesare moderne utilizează adesea o unitate de gestionare a memoriei (MMU). O MMU este o componentă care traduce adresele din CPU în (de obicei) diferite adrese de memorie RAM. Atunci când se utilizează o MMU, adresele utilizate într-un program nu sunt (de obicei) adresele "reale" la care sunt stocate datele. Aceasta se numește memorie virtuală (opusul celei "reale"). Câteva dintre motivele pentru care este bine să aveți o MMU sunt enumerate aici:

  • O MMU poate "ascunde" memoria altor programe de un program. Acest lucru se realizează prin faptul că nu traduce nicio adresă la adresele "ascunse" în timp ce programul este în curs de execuție. Acest lucru este bun, deoarece înseamnă că programele nu pot citi și modifica memoria altor programe, ceea ce îmbunătățește securitatea și stabilitatea. (Programele nu se pot "spiona" unele pe altele, sau "călca pe degetele de la picioare" ale altora).
  • Multe MMU pot face ca unele părți ale memoriei să nu poată fi scrise, citite sau executate (ceea ce înseamnă că codul stocat în acea parte a memoriei nu poate fi rulat). Acest lucru poate fi bun din motive de stabilitate și de securitate, precum și din alte motive.
  • MMU permit ca diferite programe să aibă "vederi" diferite ale memoriei. Acest lucru este util în multe situații diferite. De exemplu, va fi întotdeauna posibil ca codul "principal" al unui program să se afle la aceeași adresă (virtuală) fără a intra în coliziune cu alte programe. De asemenea, acest lucru este util atunci când există multe fragmente diferite de cod (din biblioteci) care sunt partajate între programe.
  • MMU permit codului din biblioteci să apară la adrese diferite de fiecare dată când un program este rulat. Acest lucru este bun, deoarece, dacă nu se știe unde se află lucrurile în memorie, este mai greu pentru hackeri să facă programele să facă lucruri rele. Acest lucru se numește randomizare a spațiului de adrese.
  • Programele avansate și sistemele de operare pot folosi trucuri cu MMU pentru a evita copierea datelor între diferite locuri din memorie.

 

Cache

Pe computerele moderne, memoria RAM este mult mai lentă decât registrele, astfel încât accesarea RAM încetinește programele. Pentru a accelera accesarea memoriei, un tip de memorie mai rapidă, numită cache, este adesea plasată între memoria RAM și părțile principale ale procesorului. Memoria cache este de obicei o parte a cipului CPU și este mult mai scumpă per octet decât memoria RAM. Memoria cache stochează aceleași date ca și memoria RAM, dar este de obicei mult mai mică. Prin urmare, este posibil ca toate datele utilizate de program să nu încapă în memoria cache. Memoria cache încearcă să stocheze datele care este posibil să fie utilizate foarte mult. Printre exemple se numără datele utilizate recent și datele apropiate în memorie de datele utilizate recent.

Adesea, este logic să existe o "memorie cache pentru memoria cache", la fel cum este logic să existe o memorie cache pentru memoria RAM. În cazul memoriei cache pe mai multe niveluri, există mai multe memorii cache, denumite memoria cache L1, memoria cache L2 și așa mai departe. Memoria cache L1 este cea mai rapidă (și cea mai scumpă per octet) și este "cea mai apropiată" de CPU. Memoria cache L2 se află la un pas distanță și este mai lentă decât memoria cache L1, etc. Memoria cache L1 poate fi adesea considerată ca o memorie cache pentru memoria cache L2, etc.


 

Autobuze

Busurile de calculator sunt firele utilizate de procesor pentru a comunica cu memoria RAM și cu alte componente ale computerului. Aproape toate procesoarele au cel puțin un autobuz de date - utilizat pentru citirea și scrierea datelor - și un autobuz de adrese - utilizat pentru a emite adrese. Alte magistrale din interiorul CPU transportă date către diferite părți ale CPU.


 

Seturi de instrucțiuni

Un set de instrucțiuni (numit și ISA - Instruction Set Architecture) este un limbaj înțeles direct de un anumit procesor. Aceste limbaje se mai numesc și cod mașină sau binar. Acestea indică modul în care îi spuneți procesorului să facă diferite lucruri, cum ar fi încărcarea datelor din memorie într-un registru sau adăugarea valorilor din două registre. Fiecare instrucțiune dintr-un set de instrucțiuni are o codificare, care reprezintă modul în care instrucțiunea este scrisă ca o secvență de biți.

Programele scrise în limbaje de programare precum C și C++ nu pot fi rulate direct de către procesor. Ele trebuie să fie traduse în cod mașină înainte ca unitatea centrală să le poată rula. Un compilator este un program de calculator care realizează această traducere.

Codul mașinii este doar o secvență de 0 și 1, ceea ce face dificilă citirea lui de către oameni. Pentru a-l face mai ușor de citit, programele de cod mașină sunt de obicei scrise în limbaj de asamblare. Limbajul de asamblare utilizează text în loc de 0 și 1: Puteți scrie "LD A,0" pentru a încărca valoarea 0 în registrul A, de exemplu. Un program care traduce limbajul de asamblare în cod mașină se numește asamblor.


 

Funcționalitate

Iată câteva dintre lucrurile de bază pe care le poate face o unitate centrală de procesare:

  • Citirea datelor din memorie și scrierea datelor în memorie.
  • Adăugați un număr la un alt număr.
  • Test pentru a vedea dacă un număr este mai mare decât un alt număr.
  • Mutarea unui număr dintr-un loc în altul (de exemplu, de la un registru la altul sau între un registru și memorie).
  • Salt la un alt loc din lista de instrucțiuni, dar numai dacă un anumit test este adevărat (de exemplu, numai dacă un număr este mai mare decât altul).

Chiar și programele foarte complicate pot fi realizate prin combinarea mai multor instrucțiuni simple ca acestea. Acest lucru este posibil deoarece fiecare instrucțiune are nevoie de un timp foarte scurt pentru a se produce. Multe unități centrale de procesare din ziua de azi pot efectua mai mult de 1 miliard (1.000.000.000) de instrucțiuni într-o singură secundă. În general, cu cât un CPU poate face mai multe într-un anumit timp, cu atât este mai rapid. Un mod de a măsura viteza unui procesor este MIPS (Million Instructions Per Second). Flops (operații în virgulă mobilă pe secundă) și viteza ceasului CPU (măsurată de obicei în gigahertzi) sunt, de asemenea, modalități de a măsura cât de mult lucru poate face un procesor într-un anumit timp.

O unitate centrală de procesare este construită din porți logice; nu are părți mobile. Unitatea centrală de procesare a unui computer este conectată electronic la alte părți ale computerului, cum ar fi placa video sau BIOS-ul. Un program de calculator poate controla aceste periferice prin citirea sau scrierea de numere în locuri speciale din memoria calculatorului.


 

Conducte de instrucțiuni

Fiecare instrucțiune executată de o unitate centrală de procesare se face, de obicei, în mai multe etape. De exemplu, pașii pentru a executa o instrucțiune "INC A" (crește valoarea stocată în registrul A cu unu) pe un CPU simplu ar putea fi următorii:

  • Citiți instrucțiunea din memorie,
  • decodificarea instrucțiunii (afla ce face instrucțiunea), și
  • se adaugă unul la registrul A.

Diferite părți ale procesorului fac aceste lucruri diferite. Adesea, este posibil să se execute în același timp unele etape din diferite instrucțiuni, ceea ce face ca procesorul să fie mai rapid. De exemplu, putem citi o instrucțiune din memorie în același timp în care decodificăm o altă instrucțiune, deoarece aceste etape utilizează module diferite. Acest lucru poate fi considerat ca având mai multe instrucțiuni "în interiorul pipeline-ului" în același timp. În cel mai bun caz, toate modulele lucrează la instrucțiuni diferite în același timp, dar acest lucru nu este întotdeauna posibil.


 

Mai multe nuclee

Procesoarele multi-core au devenit mult mai frecvente la începutul secolului XXI. Acest lucru înseamnă că acestea au mai multe procesoare încorporate pe același cip, astfel încât pot executa mai multe instrucțiuni în același timp. Unele procesoare pot avea până la șaizeci și patru de nuclee, cum ar fi viitoarea serie AMD Epyc "Milan". Chiar și procesoarele pentru consumatori au multe nuclee, cum ar fi AMD Ryzen 9 5950x cu 16 nuclee.


 

Multithreading

Unele procesoare dispun de o tehnologie cunoscută sub numele de multithreading. Aceasta constă în rularea mai multor "fire" de instrucțiuni într-un sistem de operare. Multe procesoare moderne folosesc acest lucru pentru a crește performanța în cazul programelor grele cu mai multe fire, cum ar fi programele de referință.


 

Producători

Următoarele companii produc procesoare pentru calculatoare:

  • ARM
  • Intel
  • Dispozitive Micro avansate
  • MCST
  • SRISA
  • Sun Microsystems

 

Informații suplimentare



 

Întrebări și răspunsuri

Î: Ce este o unitate centrală de procesare?


R: Un CPU (unitate centrală de procesare) este o parte importantă a fiecărui calculator. Aceasta trimite semnale pentru a controla celelalte părți ale computerului, aproape la fel cum un creier controlează un corp. CPU este o mașină electronică care lucrează pe baza unei liste de instrucțiuni pentru a îndeplini anumite sarcini.

Î: Cum funcționează unitatea centrală de procesare?


R: CPU citește lista de instrucțiuni și le execută (execută) pe fiecare în ordine. O listă de instrucțiuni pe care o poate executa un CPU este un program de calculator.

Î: În ce se măsoară frecvența sau viteza de ceas a unui CPU?


R: Frecvența sau viteza ceasului sau viteza părților interne ale unui CPU se măsoară în hertzi (Hz). Procesoarele moderne rulează adesea atât de repede încât se utilizează în schimb gigahertzi (GHz) - un GHz reprezentând 1.000.000.000 de cicluri pe secundă.

Î: Care sunt câteva companii care produc procesoare?


R: Unele companii care produc procesoare sunt Intel, Advanced Micro Devices (AMD), ARM (recent cumpărată de Nvidia), IBM și AMD sub sigla ATI Technologies, care în prezent este lider de piață.

Î: Unde sunt utilizate majoritatea procesoarelor?


R: Cele mai multe unități centrale de procesare utilizate în computerele desktop sunt microprocesoare fabricate fie de Intel, fie de AMD, în timp ce majoritatea celorlalte sunt utilizate în sisteme integrate pentru lucruri mai specializate, cum ar fi telefoanele mobile, mașinile, consolele de jocuri video sau aplicațiile militare.

AlegsaOnline.com - 2020 / 2023 - License CC3