“Ej, kak procesor maš?“, je vprašanje, ki se pogosto pojavi med igričarji. Kaj pa o procesorjih sploh vemo? So majhni, brez njih računalnik ne deluje, več jeder = boljše, itd. Po mojem mnenju, pa je procesor ena izmed najbolj zakompliciranih komponent računalnika, sam višek tehnologije v svetu informatike.
Velja za osrednji del računalnika, katerega naloga je obdelovanje podatkov, izračunavanje ter nadziranje oz. upravljanje enot. Izveden je v enem samem integriranem čipu. Hitrost procesorjev merimo v gigahercih (GHz). Procesor se deli po številu jeder, tranzistorjev, velikosti predpomnilnika, niti ter podnožja. Izdelani so navadno iz silicija, ovoji pa so po navadi iz keramike ali aluminija – seveda se je sestava skozi zgodovino spreminjala.
Spet ta zgodovina
Vsa čarovnija se je začela davnega leta 1947 z izumom tranzistorja (pred tem so se uporabljale elektronke). Ker so bili tranzistorji povezani z veliko žicami, je leta 1952 strokovnjak G. W. Dummer predlagal nadomestek žic s ploščo, ki jo danes poznamo kot integrirano vezje. Množična uporaba le teh se je začela šele v šestdesetih letih, a kljub podobni strukturi današnjim procesorjem ni šlo za prave procesorje.
Prelomno leto je bilo 1968 ob ustanovitvi podjetja Intel, leto pozneje pa še AMD. Leta 1971 je japonsko podjetje Busicom Intelu ponudilo pogodbo za »elektronsko srce«, ki so ga potrebovali za svoje računalo. Ker ideja Intelu ni bila najbolj všeč, so jo nadomestili z svojo idejo. Busicomu je ideja ugajala in tako se je rodil prvi mikroprocesor, Intel 4004. Bil je 4-bitni, stal je 200 dolarjev in znal je samo seštevati in odštevati po dve 4-bitni števili.
Prav tako pomemben in najverjetneje najširše uporabljen je bil naslednik Intela 8008, in sicer 8080.
Konec sedemdesetih let je Intel napovedal prvi 16-bitni procesor Intel 8086, ki je bil desetkrat zmogljivejši kot 8080. Leta 1982 je Intel razvil procesor 80286, ki je bil prvi 16-bitni procesor, uporabljen v IBM-ovih računalnikih. Zaradi vse bolj naprednih programov (Microsoft Windows) 16-bitni procesorji niso bili dovolj zmogljivi in nastala je potreba po 32-bitnih procesorjih. Leta 1985 je Intel razvil prvi 32-bitni procesor Intel 80386, s katerim se je oddaljil od IBM-a in se bolj približal podjetju Compaq, kateri je tudi prvič uporabil njihove nove procesorje 386 v osebnih računalnikih. V tistem času je AMD opaznejše prišel na trg procesorjev in je od leta 1991 postal Intelov večni tekmec.
Leta 1999 pa je AMD predstavil procesor Athlon, ki je predstavljal najhitrejši procesor. Njegova izpeljanka Athlon XP je za AMD predstavljal glavno orožje v boju proti konkurentu, ki se je takrat ponašal s procesorjem Pentium 4.
Današnji procesorji imajo v čipu več jeder, zato lahko opravljamo več opravil hkrati. Leta 2005 smo še imeli dvojederne procesorje, sedaj pa uporabljamo že štiri in več jeder.
Kako je procesor sestavljen?
Procesor je namenjen obdelavi podatkov in ukazov. Imamo več vrst podatkov, to so lahko barva, številka, črka in podobno. Predstavljeni so kot zaporedje ničel in enic (binarni zapis). Ukazi procesorju povedo, kaj naj s temi podatki naredi.
Predpomnilnik
Procesor informacije oziroma podatke in ukaze dobiva iz notranjega pomnilnika, ki pa je za potrebe procesorja prepočasen. Zato ima procesor v vsako jedro vgrajen svoj pomnilnik, ki mu pravimo predpomnilnik. Pred leti, ko tehnologija še ni bila tako razvita, se je predpomnilnik delil na dva dela, in sicer na notranji in zunanji. Notranji je bil vgrajen v jedro, zunanji pa na matično ploščo. Ker je procesor potreboval veliko preveč časa da pride do zunanjega pomnilnika, so se odločili spraviti oba predpomnilnika v jedro procesorja. Danes se uporabljajo dve in tri nivojski predpomnilniki (L1, L2, L3). L1 se ponaša z največjo hitrostjo, L2 je malo počasnejši, L3 pa najpočasnejši – a še vedno dosti hitrejši od pomnilnika računalnika.
Cevovod
Cevovod igra zelo pomembno vlogo pri obdelavi podatkov in ukazov. Razdeljen je na več segmentov, število le teh pa se od procesorja do procesorja lahko razlikuje. Cevovod deluje po principu tekočega traka, kar pomeni, da lahko naenkrat obdeluje več podatkov. Za lažjo prestavo si lahko predstavljamo tovarno avtomobilov s štirimi tekočimi traki. Na prvem traku se izdeluje motor avta, na drugem vrata, na tretjem kolesa in na četrtem se avto pobarva.
Ko pa tekoči trak v tovarni avtomobilov pretvorimo v cevovod obdelovanja podatkov, dobimo naslednjo sliko.
Na zgornji sliki imamo cevovod s štirimi segmenti, fetch, decode, execute in write back (save), ki si sledijo po tem vrstnem redu. Fetch poskrbi, da cevovod pripelje določen ukaz v postopek obdelave. Decode prevede zapletene ukaze CISC (Complex Instruction Set Computer) v mikro ukaze RISC (Reduced Instruction Set Computer). Hitrost prevajanja je odvisna od zapletenosti ukazov CISC. Če je ukaz preprost, se lahko prevede v enem ciklu, če je zapleten, pa jih lahko porabi več. Execute ugotovi in sporoči cevovodu, kje se bo ukaz izvedel. Ukaz lahko pošlje v aritmetično logično enoto (ALU) ali v enoto za računanje s plavajočo vejico (FPU). Write back prejme rezultate in jih shrani v register ali pomnilnik. Če kakšen ukaz zahteva ta rezultat, ga save enota pošlje v register, drugače pa v pomnilnik.
Enota za računanje s plavajočo vejico (FPU)
FPU je namenjen računanju realnih števil, oziroma števil z vejico. Zaradi premalo razvite tehnologije prve FPU niso bile vgrajene v procesor in zgodnji procesorji so uporabljali matematične koprocesorje, ki so bili ločeni od CPU.
Aritmetična logična enota (ALE)
Naloga omenjene enote je opravljanje logičnih, aritmetičnih in primerjalnih funkcij. Tako imenovana logična vrata so osnova aritmetično logične enote – gre za preprosta elektronska vezja.
Registri
Registri so podobni predpomnilniku, vendar veliko hitrejši. Vgrajeni so v procesor in vsebujejo vrednosti, ki jih ALE uporablja za izvajanje operacij. Kolikor bitov je širok register, toliko biten je procesor. Če množimo dve števili, ju procesor najprej naloži v registre. Ko ju procesor zmnoži, rezultat shrani v predpomnilnik ali pa v drugi register, če obstaja ukaz ki ta rezultat potrebuje. Več kot ima procesor registrov, boljše je, saj lahko shranjuje večjo količino podatkov. Vendar pa s številom registrov narašča tudi zapletenost procesorja.
Kontrola ali krmilna enota
Procesor je zapleten sestav tranzistorjev in kupa enot, ki so povezane in morajo delovati urejeno. Da vse poteka, kot more (v vrstnem redu), imamo v procesorju kontrolno enoto. Vodi delovanje centralno procesne enote z ukazi, pridobljenimi iz pomnilnika. Prav tako organizira tudi prenos podatkov.
Delovanje procesorja
Ko dobi kontrolna enota ukaz za izvedbo operacije, ukaže delovnemu pomnilniku, da pošlje potrebne podatke v register, ALE pa ukaže katera operacija naj se izvede nad njimi. Ko se operacija zaključi, ALE preda izvajanje kontrolni enoti, ta pa poskrbi, da se rezultati prenesejo v delovni pomnilnik in od njega zahteva nov ukaz.
Ukazi v procesorju se izvajajo po postopku:
- Prevzem ukaza
- Dekodiranja ukaza
- Priprava podatkov
- Izvedba operacije
- Shranjevanje rezultatov
Procesor deluje hitreje, če se naštete faze izvajajo vzporedno. Namreč prvemu shranjuje rezultate, drugemu izvaja operacijo, tretjemu pripravlja podatke, četrtemu izvede operacijo in petega prevzema (bere) iz pomnilnika. Tako organizirani procesorji se imenujejo cevovodni procesorji (tako delujejo vsi današnji procesorji na trgu).
V razmislek …
Sedaj vemo, da je procesor ena izmed najbolj zapletenih koščkov sestavljanke računalnika. Razvijali so se postopoma, od enostavnih elektronk, pa vse do današnjih mikroprocesorjev. Upam, da bodo inženirji ponovno začeli premikati meja (sploh z prihajajočo Ryzen serijo in nas presenetili s kakšno novostjo.