Centralni procesor

Iz Wikipedije, proste enciklopedije

Centralni procesor ali osrednja/centralno procesna enota ( CPE ; angle?ko Central processing unit - CPU), pogovorno kar procesor , je osrednji del ra?unalnika , ki skrbi za izra?unavanje in obdelavo (procesiranje) podatkov ( dvoji?kih ?tevil ) ter nadzor in upravljanje drugih enot. Procesorji so narejeni iz silicija , ovoji pa so se skozi zgodovino zelo spreminjali (keramika, aluminij).

Procesorji se na?eloma delijo po ?tevilu tranzistorjev ( transistor ), jeder ( core ), niti ( thread ), podno?ju ( socket ) in velikosti pomnilnika . Jedro je ra?unski del procesorja, narejen iz silicija. Je glavni krivec za proizvodnjo toplote (poleg tranzistorjev). Nekateri procesorji imajo poleg procesorskega jedra ?e grafi?no, ki je namenjeno ra?unanju grafike. Nit je proces, ki ga procesor opravlja, ?e je procesor ve?niten, to pomeni da lahko opravlja ve? procesov naenkrat in je s tem hitrej?i. Na primer, ?e je procesor 2 niten, bi moral v teoriji biti 1-krat hitrej?i. V praksi pa ni tako: imata lahko razli?ni jedri (Prescott, Silverthrone), razli?na delovna takta, proizvajalca, FSB … Podno?je je tip povezave z mati?no plo??o v obliki no?ic (med glavnimi so LGA 775, LGA 1156, LGA 1366, AM2+, AM3). Pomnilnik v procesorju je namenjen za?asnem shranjevanju podatkov, torej ve?ja kot je njegova kapaciteta, bolje je.

Zgodovina [ uredi | uredi kodo ]

EDVAC , eden izmed prvih ra?unalnikov s shranjenim programom

Prvi komercialni procesor je bil 4- bitni Intel 4004 , izdelan leta 1971. Isto?asno pa so in?enirji podjetja Texas Instruments razvijali procesor TMS 1000. To podjetje je leta 1973 tudi patentiralo mikroprocesor na enem ?ipu.

Intel je kasneje razvil prvi 8-bitni procesor, 8008 in naslednika Intel 8080 ter Zilog Z80. Podjetje Motorola (danes Freescale) je v tem ?asu razvilo procesor 6800 in kasneje 6502. Ti procesorji so v 80. letih povzro?ili ≫revolucijo≪  hi?nih ra?unalnikov , ki so bili dostopni ?e za manj kot 100 dolarjev .

Ve?jedrna arhitektura [ uredi | uredi kodo ]

V novej?em ?asu pa so za?eli vgrajevati ve? jeder v en procesor. Ve?jedrne procesorje so razvili, da je mo?no opravljati ve? opravil (niti) naenkrat brez te?av (zmrzovanja, zakasnitve, ponovni zagoni,...), kar omogo?a pravo paralelno procesiranje. Pri tem obstaja problem, kako posamezna opravila ?im bolj u?inkovito razdeliti na paralelne procese, da bo celoten sistem veliko hitrej?i, kot pri uporabi enojedrnega procesorja (teoreti?no naj bi bil ve?jedrni sistem od enojedrnega hitrej?i za faktor, enak ?tevilu procesorskih jeder). Obstajajo ?e 32-jedrni procesorji, vendar so ?e redki zaradi cene. Trenutno (leto 2019) so najbolj prodajani ?tirijedrni procesorji.

Ve?procesorski sistemi so se najprej uveljavili na posebnih podro?jih, kjer je bila zahtevana zmogljivost, kot so stre?niki , zmogljivi ra?unalniki in delovne postaje, so se pa tudi ?e uveljavili v obi?ajnih namiznih in prenosnih ra?unalnikih.

Delovanje [ uredi | uredi kodo ]

Osnovno delovanje ve?ine CPU-jev je, ne glede na svojo fizi?no obliko, izvajanje zaporedja shranjenih ukazov imenovanih program. Ukazi so shranjeni v ra?unalni?kem spominu . Obstajajo ?tirje koraki, ki jih v svojem delovanju uporabljajo skoraj vsi CPU-ji: prevzem ukazov, dekodiranje, izvajanje in zapis rezultatov.

Glede na strojno implementacijo , procesorje v grobem delimo na dve kategoriji: RISC (Reduced Instruction Set Computer) in CISC (Complex Instruction Set Computer).

  • Procesorji tipa RISC imajo veliko ?tevilo preprostih in pogosto uporabljenih ukazov, ki se izvr?ujejo pribli?no v istem ?asu. Z uporabo preprostej?ih ukazov je mo?no realizirati tudi zahtevnej?e funkcije. Najbolj znani RISC procesorji so Alpha, ARM, MIPS, PIC in SPARC.
  • Procesorji tipa CISC imajo nabor zapletenih ukazov, ki naredijo ve? operacij v enem ciklu (primer so sploh posebni ukazi MMX, 3D NOW!). Znana proizvajalca CISC procesorjev sta AMD in Intel, a se na trg po?asi uveljavlja tudi Qualcomm.

Zasnova in izvedba [ uredi | uredi kodo ]

Osnovni koncept CPU je slede?:

V CPU zasnovi je vgrajen seznam osnovnih operacij, ki jih lahko izvaja, tj. nabor ukazov ( instruction set ). Te operacije lahko vklju?ujejo se?tevanje in od?tevanje dveh ?tevil, primerjavo ?tevil ali sko?ne ukaze na razli?ne dele programov. Vsaka izmed teh osnovnih operacij je predstavljena z dolo?enim zaporedjem bitov ; to zaporedje se imenuje opcode (operacijska koda) za to dolo?eno operacijo. Po?iljanje dolo?ene operacijske kode v CPU bo povzro?ilo izvajanje operacije, ki jo ta operacijska koda predstavlja. Za izvajanje in?trukcij v ra?unalni?kem programu CPU uporablja operacijsko kodo za to in?trukcijo kot tudi njene argumente (npr. dve ?tevili, ki jih je treba se?teti - v primeru operacije se?tevanja). Ra?unalni?ki program je zatorej zaporedje in?trukcij, v vsaki in?trukciji je vklju?ena operacijska koda in argumenti te operacije.

Dejanska matemati?na operacija za vsako in?trukcijo je izvajana s strani podenote CPU, ki je poznana kot aritmeti?no logi?na enota ( ALU - arithmetic logic unit ). Poleg uporabljanja svoje aritmeti?no logi?ne enote za izvajanje operacij, je CPU odgovoren tudi za branje naslednje in?trukcije iz spomina, za branje podatkov dolo?enih v argumentih iz spomina in za zapis rezultatov v spomin.

V ve? CPU zasnovah se nabor ukazov o?itno razlikuje od operacij za nalaganje podatkov iz spomina in tistimi za izvajanje matematike. V tem primeru so podatki nalo?eni iz spomina shranjeni v register , in matemati?na operacija nima argumentov ampak preprosto le izvaja matematiko nad podatki v registrih in jih zapi?e v nov register, katerih vrednost v spomin zapi?e druga operacija.

Tri glavne zna?ilnosti procesorja so:

  • Frekvenca ali delovni takt - ?tevilo ciklov procesorja na sekundo. Giblje se od nekaj deset kHz pri procesorjih za posebne namene do nekaj GHz v procesorjih v osebnih ra?unalnikih. ?tevilo operacij v enem ciklu je lahko tudi ve?je ali manj?e, odvisno od zapletenosti operacije.
  • ?irina podatkovnega vodila , merjena v bitih , ki jih procesor obdela v eni operaciji je navadno 64 bitov, po?asi se premika proti 128. Starej?e generacije so imele vodilo ?irine 32 ali 16 bitov.
  • ?irina naslovnega vodila , merjena v bitih, da najve?ji mo?en naslovni prostor procesorja, navadno merjen v megabajtih ali gigabajtih. Seveda pa je najvi?ji razpolo?ljivi fizi?ni naslov odvisen od koli?ine fizi?nega pomnilnika, ki je procesorju na razpolago. Trenutno je naslovno vodilo obi?ajno enako ?iroko kot podatkovno, v preteklosti, pa ni bilo vedno tako.

Naslovno vodilo je mo?no ?e dodatno raz?iriti z zunanjo logiko za pomnilnik, vendar navadno ne ve? kot za (izvirna_?irina-1+n), pri ?emer je n obi?ajno ?irina podatkovnega vodila v bitih.

?tevilo elementov ( tranzistorjev ) v procesorju je lahko ve? sto milijonov .

Krmilna enota [ uredi | uredi kodo ]

Krmilna enota CPU-ja vsebuje vezje, ki uporablja elektri?ne signale za usmerjanje celotnega sistema ra?unalnika za izvajanje shranjenih programskih in?trukcij. Skrbi za pretok podatkov in ukazov iz pomnilnika v procesor in obratno. Bere ukaz za ukazom v strojni obliki, jih dekodira ter krmili njihovo izvajanje preko krmilnih signalov. Krmilna enota ne izvaja programskih in?trukcij; preusmerja jih v druge dele sistema kjer se ukazi izvedejo. Krmilna enota mora znati komunicirati z aritmeti?no-logi?no enoto in spominom.

Obseg celih ?tevil [ uredi | uredi kodo ]

MOS 6502 mikroprocesor v ohi?ju z dvovrstnimi kontakti ( dual in-line package ); izredno popularna 8-bitna zasnova.

Na?in kako CPU predstavlja ?tevila je izbira zasnove, ki vpliva na na?in kako procesor operira z elementarnimi funkcijami. Nekateri zgodnji digitalni ra?unalniki so za notranje predstavljanje ?tevil uporabljali elektri?ni model deseti?kega (osnova deset) ?tevilskega sistema . Nekateri drugi ra?unalniki so uporabljali bolj eksoti?ne ?tevilske sisteme kot je ternarni (osnova tri). Skoraj vsi moderni CPU-ji predstavljajo ?tevila v dvoji?ki obliki, kjer je vsaka cifra predstavljena z eno izmed dveh veli?in kot sta ≫visoka≪ ali ≫nizka≪  napetost . [a]

Povezano s predstavitvijo ?tevil je natan?nost ?tevil, ki jih lahko CPU predstavi. V primeru binarnega (dvoji?kega) CPU. ?tevilo bitov, ki jih CPU uporablja za tako predstavljanje, pogosto imenujemo kot ≫dol?ina besede≪ ali pa ≫natan?nost celih ?tevil≪, ko imamo striktno opravka s celimi ?tevili (za razliko od plavajo?e vejice ). To ?tevilo se med arhitekturami razlikuje, in pogosto se razlikuje tudi med posameznimi deli iste CPU. Na primer, 8-bitni modeli CPU nudijo obseg ?tevil, ki se jih lahko predstavi z osmimi dvoji?kimi ciframi (vsaka cifra ima le dve mo?ni vednosti), tj. 2 8 oziroma 256 diskretnih ?tevil.

Frekvenca ali delovni takt [ uredi | uredi kodo ]

Delovni takt ali takt ure je hitrost s katero mikroprocesor izvaja ukaze. Vsak ra?unalnik vsebuje notranjo uro, ki regulira hitrost s katero se ukazi izvajajo in sinhronizira vse razli?ne komponente ra?unalnika. Hitrej?a kot je ura, ve? ukazov lahko CPU izvede na sekundo.

Glej tudi [ uredi | uredi kodo ]

Intel 80486DX2 je CPE, ki ga je leta 1992 uvedel Intel.

Sklici in opombe [ uredi | uredi kodo ]

Opombe [ uredi | uredi kodo ]

  1. Koncept napetosti je po svoji naravi analogni, saj ima prakti?no neskon?ni obseg mo?nih vrednosti. Za namene predstavitve dvoji?kih ?tevil je nabor obsegov napetosti definiran kot ena ali ni?. Na te obsega obi?ajno vplivajo zasnove vezij in parametrov delovanja preklopnih elementov, ki sestavljajo CPU, kot je tranzistorjev pragovni nivo.

Sklici [ uredi | uredi kodo ]

Zunanje povezave [ uredi | uredi kodo ]

Proizvajalci procesorjev:

Ostalo: