Örgjörvi

Örgjörvi er samrás sem geymir miðverk tölvu. Hugtakið örgjörvi á oftast við eina kísilflögu sem situr á móðurborði, en hugtakið gjörvi er notað um fleiri en eina einingu sem sinna sama verki.

Örgjörvi framkvæmir forritaðar skipanir sem geta snúist um að framkvæma reikniaðgerðir eða samskipti við jaðartæki og minni.

Örgjörva er að finna í nánast öllum rafeindatækjum með einhvers konar tölvustýringu eins og t.d. þvottavélum, örbylgjuofnum, hraðamælum fyrir hjól, myndbandstækjum, sjónvörpum, geislaspilurum og bifreiðum.

Klukkun örgjörva 
Einn þekktasti eiginleiki örgjörva er klukkutíðni og er það einn sá eiginleiki sem fólk lítur helst á við kaup á einkatölvu. Klukkutíðni örgjörva er mæld í riðum (táknað Hz, Hertz). Árið 2006 er klukkutíðni í nýjum einkatölvum oftast á bilinu eitt til fjögur gígarið.

Rafrásir örgjörvans innihalda m.a. rásaeiningar sem kallast vippur (e. flip flops). Þegar vippur eru klukkaðar (þ.e. stjórnað af rafmerki sem kallast klukkupúlsar) finnast ýmis gagnleg not fyrir þær sem notuð eru í örgjörvum. Eftir því sem örgjörvinn er klukkaður hraðar því fljótari er hann að framkvæma skipanirnar. Það sem kemur í veg fyrir að hægt sé að auka klukkuhraða upp úr öllu valdi er að erfitt er að framkalla nægilega nákvæman óbjagaðan klukkupúls og láta öll innri merki hans ná að halda skýru gildi sem er annaðhvort af eða á (núll eða einn). Örgjörvi hitnar einnig meira eftir því sem hann er klukkaður hraðar. Það er vegna þess að aðalbyggingareining hans er svokallaður CMOS smári sem hitnar hraðar við aukna klukkutíðni (CMOS notar mjög litla orku þegar hann heldur óbreyttri stöðu en notar fast magn af orku við að skipta um stöðu og sú orka umbreytist einmitt í varmaorku). Yfirleitt er ofhitnun örgjörva ráðandi þáttur í að ekki sé hægt að klukka örgjörva hraðar og hafa áhugamenn yfirklukkað tölvunar sínar annað hvort í stuttan tíma eða með kælibúnaði (gjarnan frumlegum og framandlegum) og þannig fengið tölvur sínar til að vinna örlítið hraðar.

Helstu einingar örgjörva 
Gisti (e. register) eru mjög hraðvirk minnishólf sem oftast geyma eitt orð hvert. Gistin eru notuð til að geyma ýmis gildi á meðan örgjörvinn er að vinna með þau. Sum gisti gegna ákveðnu hlutverki (e. special-purpose register) og önnur eru eru til „almennra nota“ og getur forritari sem forritar á smalamáli (e. assembly language) fengið beinan aðgang að þeim og getur notað þau í hvað sem honum dettur í hug (e. general purpose register). Dæmi um gisti með ákveðið hlutverk eru forritsteljari (e. Program Counter; PC) sem inniheldur vistfang næstu skipunar, skipanagisti (e. Instruction Register; IR)) sem inniheldur skipanakóða (e. opcode) skipunarinnar sem verið er að framkvæma, Memory Data Register (MDR) sem inniheldur gagnaorð sem verið er að flytja í eða úr minni og Memory Address Register (MAR) sem inniheldur vistfang sem á að lesa úr minni eða minnisvistfang sem á að skrifa í.

Reikniverk (e. ALU; Arithmetic Logic Unit) eru stafrænar rásir sem geta framkvæmt reikniaðgerðir eins og t.d. samlagningu, frádrátt, hliðrun og rökaðgerðir eins og EKKI (skilar andstæðu þess sem það fær), OG/EÐA (annað eða bæði—einig kallað EÐA—skilar jákvæðu eða sanni ef það fær e–r sannindi), EÐA (þ.e. EKKI OG/EÐA; skilar sannindum ef reikniverkið fær mismun), NÉ (þ.e. OG/EÐA EKKI skilar sannindum ef reikniverkið fær einungis ósannindi) og OG (þ.e. EKKI OG/EÐA EKKI, EKKI NÉ eða EÐA EKKI; skilar einungis ósannindum ef rökaðgerðin fær ósannindi (e. NOT, OR, XOR, AND, NOR). Allar rökaðgerðirnar taka við tveim kostum (e. input) nema EKKI (e. NOT) — sem tekur bara við einum og er hægt að mynda þær allar með grunnaðgerðunum tveim: EKKI (e. NOT) og OG/EÐA (e. OR). 

Braut (e. bus ) er flutningsleið milli eininga örgjörvans. Ef leggja á saman gildi í gistum eða flytja gildi milli gista þá eru brautir sú flutningsleið sem er notuð til að færa gildi milli gistanna og reikniverksins þar sem samlagnin er framkvæmd. Algengt er að örgjörvar hafi fleiri en eina braut og sinna þær oft mismunandi hlutverkum, t.d. flytja sumar brautir bara vistföng, aðrar flytja gildi einungis ákveðnar leiðir (t.d. tildæmis flytja sumar einungis frá gistum (e. general-purpose registers) til reikniverks meðan aðrar flytja frá reikniverki til gista).

Skipana afkóðari er stundum hluti af stýrieiningu, Skipana afkóðari, afkóðar skipanakóðann og færir niðurstöðuna til stýrieingarinnar.

Stýrieining (e. Control Unit), Stýrieiningin framkallar stýrimerki sem stjórna framkvæmd hverrar skipanar. Flest stýrimerki eiga sér sér línu sem er annaðhvort kveikt á eða slökkt á. Dæmi um stýrimerki geta t.d. verið: merki sem lætur gildi gistis út á braut, merki sem lætur gisti taka gildið sem er á braut og merki sem lætur reikniverkið leggja saman og skila niðurstöðunni í ákveðið gisti.

Ílags- og frálagseining (e. I/O device; I/O = input/output). Sér um samskipti við jaðartæki eins og t.d. prentara, skjá, lyklaborð, mýs.

Flýtiminni (e. cache) geyma gildi úr aðalminni sem mikið eru notuð og er einskonar speglun á hluta þess. Aðgangur að flýtiminni er margfallt hraðari (færri klukkupúlsar) heldur en að aðalminni. Ekki eru allir gjörvar með aðalminni og eru ýmist á sömu kísilflögu (L1 eða level 1 cache) og örgjörvinn, og á sér flögu (L2 eða level 2 cache). Margir örgjörvar hafa bæði.

Afköst örgjörva 
Afköst örgjörva eru gjarnan mæld með svokölluðum SPEC prófum. SPEC er stofnun sem er ekki er rekin í hagaðarskini sem sér um að framkvæma prófin. Prófin ganga út á það að láta örgörva keyra sér valin forrit og bera tíman sem það tekur saman við tíman sem það tekur valda viðmiðunarvél að keyra sama forrit.

Klukkutíðni er ekki eini þátturinn sem ræður afkastagetu örgjörva heldur má setja fram eftir farandi jöfnu fyrir henni:
 þar sem t er tíminn sem það tekur örgjörva (ásamt aðalminni og e.t.v. fleiri einingum) að keyra eitthvert tiltekið forrit. n er fjöldi skipana í forritinu, s er fjöldi klukkupúlsa sem það tekur að meðaltali að framkvæma hverja skipun í forritinu. r er klukkutíðni örgjörvans. Auðvelt er að sjá að ekki bara klukkutíðnin; r hefur áhrif á afkastagetu örgjörvans heldur einnig fjöldi skipana sem þarf að framkvæma; n og fjöldi klukkupúlsar sem það þarf til að framkvæma hverja skipun; s. Til að minnka s er algengt að notuð sé pípun (e. piping, pipelining), þá er byrjað að keyra skipun áður en að búið er að keyra skipunina á undan. Til að keyra skipun þarf fyrst að ná í hana (e. fetch) síðan afkóðahana (decode), og að lokum framkvæma hana (e. execute). Þessi þrjú stig eru unnin af mismunandi hlutum örgjörvans og geta allar einingarnar verið meðhöndlað mismunandi skipanir samtímis (oft þarf þó fleiri einingar eins og t.d. fleiri brautir til þess að það sé hægt). Pípun getur látið s (meðal klukkupúlsafjöldi per skipun í forriti) stefna á 1. Hægt er að notast við superscalar arkítektúr sem þýðir að fleiri en ein skipun á sama pípustigi (e. pipestage) m.ö.o hægt er að ljúka keyrslu fleiri en einnar skipunar á sama klukkupúlsi, þ.a. hægt er að ná s niður fyrir 1. Notkun flýtiminnis (e. cache) getur stytt allverulega sóknartíma í minni og þannig sem gerir einnig kleift að halda s sem lægstu. Að minnka n (fjöldi skipana í forriti) er oftast í höndum þýðandans (e. compiler, hugbúnaður sem breyrir forritskóða af hærra stigs forritunarmáli (e. higher level programing language) í skipanir á vélamáli), einnig getur forritari haft áhrif á það (sérstaklega ef hann forritar á smalamáli en smalamál krefst ekki þýðanda). Einnig eru CISC (complex instrucion set computer) með oftast með lærra n þar sem þeir hafa stærra skipana sett (einnig kallað skipana mengi) og sérhæfðari skipanir en aftur á móti hafa CISC örgjörvar oftast hærra s, þar sem erfiðara er að pípa þá og hanna superscalar CISC gjörva auk þess sem þeir eru oftast með svokallaða örforritaða stýriseiningu (microprogrammed control unit) meðan RISC (reduced instruction set computer) örgjörvi hefur t.d oftastsvokallaða harðvíraða (e. hardwired) stýriseiningu sem er erfiðari að hanna (sérstaklega fyrir stórt og flókið skipanasett) en er hraðvirkari. RISC örgjörvar ná meiri afkastagetu því að þó að þeir hafi hærri n því að reynslan er sú að flóknu skipanirnar í CISC örgjörvans (sem RISC örgjörvinn hefur ekki og þarf því að keyra nokkrar skipanir til að vinna sama verk), eru ekkert rosalega tíðar í flestum forritum sem tölva þarf að framkvæma, þess fyrir utan má oftast klukka RISC örgjörva hraðar.
Það ber að taka fram að til eru örgjörvar sem eru hannaðir til að sinna ákveðnum sérhæfðum hlutverkum og eru þá hannaðir með skipanasett í samræmi það og CISC örgjörvar geta verið fljótari að vinna sum sérhæfð verkefi.

Helstu framleiðendur og hönnuðir örgjörva 

 AMD
Framleddu örgjörva með nánast samskonar skipanasetti og x86 örgjörfar frá Intel, seldu síðar eigin verksmiðjur en hanna enn nýnar útgáfur af örgjörvum (og láta aðra framleiða þá í sínu nafni) og eru enn í harðri samkeppni við Intel.
 IBM
Framleiddu og hönnuðu fullt af örgjörvum og voru stærstir og leiðandi framan af. Hönnuðu og framleiddu POWER örgjörva seríuna, hanna enn nýja örgjöva í seríunni en láta aðra framleiða kubbana.
 Intel
Einn helstu örgjörvaframleiðandi fyrir einkatölvur frá og með 9. áratugnum. Framleiddu x86 línuna sem m.a. Pentium örgjörvar tilheyra. Þeir keyrðu Dos og Windows stýrikerfin. Nýjasta flaggskip Intel er Quad Core örgjörvinn sem keyrir bæði Windows og Mac OS stýrikefri.
 Motorola
Framleiddu örgjörva í Apple tölvur fram til ársins 2006. Framleiddu 68k línuna og PowerPC í samstarfi við IBM línurnar.

Einnig má nefna fleiri eins og t.d. Samsung, Toshiba, Texas Instruments, Microchip (framleiða PIC örgjörva) og Siemens. Og ARM hannar örgjörva, og t.d. notar Apple þannig gerð.

Heimildir 
 
 Hamacher, Vranesic og Zaky - Computer Organisation

Ytri tenglar 
 

Tölvuíhlutir
Örgjörvar