Procesor

Kaj se bomo v tem poglavju naučili?

Spoznali bomo osnovno delovanje centralne procesne enote računalnika. Videli bomo, kateri gradniki jo sestavljajo. Ugotovili bomo,  katere lastnosti so najbolj pomembne pri izbiri te enote.

Kaj je sploh mikroprocesor?

Centralni procesni enoti (CPE) včasih pravimo tudi procesor ali mikroprocesor. CPE je komponenta digitalnega računalnika, ki interpretira ukaze in obdejuje podatke, ki so sestavni del računalniškega programa. CPE tako nudi osnovno značilnost digitalnega računalnika, to je programabilnost. Centralna procesna enota je izdelana kot integrirano vezje.

Prve centralne procesne enote so bile veliko večje. Pocenile so se, ko so jih začeli izdelovati s tranzistorji, do prave standardizacije in s tem pocenitve in široke uporabe pa  je priščo z uvedbo integriranih vezij. 

 

 

 

Prvi mikroprocesor: Intel 4004

Prvi mikroprocesor je bil Intel 4004, temu je sledila serija 8-bitnih, kasneje pa 16- bitnih, 32 bitnih in 64 bitnih mikroprocesorjev.  Danes zasledimo sodobne mikroprocesorje tudi vgrajene v napravah, kot so avtomobili, mobilni telefoni in celo otroške igrače.

 

Delovanje centralne procesne enote

Osnovna funkcija večine centralnih procesnih enot je izvajanje zaporedja pomnjenih ukazov. Takemu zaporedju pravimo program. Program je predstavljen z zaporedjem števil, ki so pomnjena v pomnilniku računalnika. V skladu z računalniško arhitekturo von Neumana zasledimo pri izvajanju posameznega ukaza naslednje korake:

o       Pridobitev ukaza (fetch),

o       njegovo dekodiranje (decode),

o       izvedba ukaza (execute),

o       zapis rezultata (writeback)

V prvem koraku (fetch) pridobimo iz programa, pomnjenega v pomnilniku, naslednji ukaz. Ta je sestavljen iz številčne kode. Lokacijo ukaza v pomnilniku določa programski števec (PC, Program Counter).  Ta hrani številko, ki ustreza naslovu  tekoče pozicije v pomnilniku.  Z drugimi besedami: programski števec kaže sled v tekočem programu. Ko CPE pridobi ukaz, se programski števec poveča za dolžino ukaza (ta je lahko dolg tudi več bytov) in tako kaže na naslednji ukaz.

 

Ukaz, ki ga je CPE poiskal v pomnilniku, uporabimo za to, da ugotovimo, kaj naj CPE vsploh naredi in kako naj to naredi. V koraku dekodiranja ukaz razstavimo na dele, ki imajo pomen za posamezne dele centralne procesne enoteTako del ukaza, ki mu pravimo operacijska koda, nakaže zahtevano operacijo (seštevanje, odštevanje, premik podatka ipd.). Preostali del ukaza pa pove, s katerimi podatki naj to naredimo oziroma kje se ti podatki nahajajo (lahko so v kakšnem registru, lahko pa jih še moramopotegnitiiz pomnilnika, lahko pa so kar konstanta, ki je del samega ukaza.).  Primer tako kodiranega ukaza kaže spodnja slika:

                       

Ker so operandi lahko tudi v kakšnem registru ali v pomnilniku, moramo tako lokacijo primerno nasloviti.  To pa določa takoimenovani „način naslavljanja”, ki je prav tako zakodiran v ukazu.

Po koraku dekodiranja sledi korak izvedbe ukaza. Z aritmetično-logično enoto (ALE) se kot vhodi in izhodi povežejo tiste komponente (predvsem registri), ki so potrebne za izvedbo zahtevane operacije. Kot že samo ime pove, so to lahko različna seštevanja, odštevanja, množenja, deljenja, premiki med registri ali  logične operacije na posameznih bitih.  CPE si v posebnem registru zapomni tudi stanje nazadnje zahtevane operacije (ali je bil rezultat negativen ali nič, ali je prišlo do prekoračitve dolžine rezultata (overflow) ipd.  

Če je potrebno, sledi še en korak (writeback), ki  morebiti reztultat izvedene operacije prepiše nazaj na kakšno lokacijo v pomnilniku.

Po izvedbi ukaza se celotna zgodba ponovi z naslednjim ukazom. Pri tem programski števec (PC, program counter) „koraka” od ukaza do ukaza, pomnjenih kot program v pomnilniku.

Obseg celih števil

Sodobni računalniki predstavljajo cela števila v dvojiški obliki. Število itov, ki jih CPE uporablja za tako predstavljanje, pogosto imenujemo kot “dolžina besede” ali pa “natančnost celih števil”. To število je odvisno od zgradbe CPE. 8-bitni modeli tako nudijo obseg 28 oziroma  256 diskretnih števil.

Celoštevilčno območje tudi omejuje število pomnilniških lokacij, ki jih CPE lahko naslavlja. Če CPE uporablja za naslavljanje 32 bitov,  lahko tako naslovi 232 lokacij oziroma  4 GB. Vsaka od teh lokacij je pri 8-bitnih procesorjih dolžine 8 bitov.  

Ker v praksi potrebujemo cela števila z  večjim obsegom, si pomagamo z bolj kompleksnimi podatkovnimi strukturami (za eno celo šteevilo pač uporabimo več pomnilnih lokacij). Zato lahko tudi 8-bitni procesorji obdelujejo podatke z večjim obsegom (16- 32. 64 ali celo 128 bitnim). 

Frekvenca  CPE

Logic analyzer showing the timing and state of a synchronous digital system.

Večina centralnih procesnih enot je po naravi sinhrona. To pomeni, da delujejo skladno s signalom, ki jih sinhronizira. Ta signal je v bistvu takt ure in ima običajno obliko pravokotnih impulzov.  Perioda takega signala (in s tem hitrost računalnika) mora biti taka, da dopušča pravočasno potovanje električnih signalov v sami centralni procesni enoti. Centralna enota mora zato počakati, da svoje delo v njej opravi njen najbolj počasen element. Pogosto lahko taka ozka grla kompenziramo z uvajanjem paralelnega delovanja v CPE.