Mikroprotsessor

**Mikroprotsessor** on ühel või ka väikesel arvul integraallülitustel töötav protsessor, mis sisaldab keskprotsessorit. Näiteks keskprotsessorile Intel 8086 sai lisada funktsioone kaasprotsessoriga Intel 8087.

Personaalarvutite maailmas on sõnad "mikroprotsessor" ja "keskprotsessor" sünonüümid.

## Tööpõhimõte
Mikroprotsessor on mitmeotstarbeline programmeeritav seade, mis võtab sisendina vastu digitaalse info, töötleb seda vastavalt mälus salvestatud masinakäskudele ja annab tulemuse väljundina. See on näide järjendloogikast, sest on olemas sisemine mälu (ehk registrid). Mikroprotsessorid töötlevad andmeid kahendsüsteemis esitatud arvude ja sümbolite järgi.

## Kasutamine
Madalahinnaliste integraallülitustega arvutite tulek on muutnud tänapäevast ühiskonda. Üldotstarbelisi mikroprotsessoreid kasutatakse personaalarvutites arvutusteks, teksti töötlemiseks, multimeedia kuvamiseks ja suhtlemiseks interneti kaudu. Mikroprotsessorid on veel kasutusel manussüsteemides, mis on muutnud paljud igapäevased esemed palju kasutajasõbralikumaks ning otstarbe poolest ka efektiivsemaks. Näiteks on laialdaselt kasutusse tulnud autodesse sisseehitatud navigatsioonisüsteemid, nutitelefonid, digitaalkaamerad, MP3-mängijad jne, mis on kõik saanud reaalsuseks mikroprotsessorite arengu tõttu.
Mikroprotsessorid võimaldavad panna arvuti tuhandetesse esemetesse, mis traditsiooniliselt polnud arvutiga seonduvad. Need hõlmavad suuremaid ja väiksemaid majapidamisseadmeid, autosid, autovõtmeid, tööriistu ja testseadmeid, mänguasju, suitsuandureid ja audio- ja visuaalseadmeid. Tooted nagu mobiiltelefonid, DVD-videosüsteemid ja HDTV-ülekandesüsteemid vajavad põhimõtteliselt võimsamaid ja soodsamaid mikroprotsessoreid. Järjest rangemad saastekontrolli standardid nõuavad autode tootjatelt mikroprotsessorite kasutamist mootori juhtimissüsteemides, et hoida kontrolli all heitgaaside väljapaiskamist erinevates auto töötamistingimustes. 
Mitteprogrammeeritavad juhtimissüsteemid vajaksid mikroprotsessoritega võrreldavate tulemuste saavutamiseks keerukaid, kohmakaid ning kalleid mehaanika-, elektromehaanika- või elektroonikarakendusi.

Mikroprotsessori mikroprogrammi (juhtprogrammi) saab kergelt muuta vastavalt toote vajadusele, võimaldades parandada jõudlust minimaalse ümberdisainiga. See võimaldab erinevatele mudelitele tootesarjas lisada erinevaid funktsioone minimaalsete täiendavate kuludega.

## Omadused
Mikroprotsessorit iseloomustavad kolm põhilist omadust.
* Käsustik on komplekt käske, mida mikroprotsessor oskab täita.
* Sõna pikkus on ühe käsuga töödeldav bittide arv.
* Taktsagedus määrab ära, kui palju käske mikroprotsessor suudab sekundis täita (taktsagedust mõõdetakse megahertsides).

Mida suurem on sõna pikkus ja kõrgem taktsagedus, seda suurema jõudlusega on mikroprotsessor. Nii on 32-bitine ja 50&nbsp;MHz protsessor suurema jõudlusega kui 16-bitine ja 25&nbsp;MHz protsessor.

Lisaks liigitusele sõna pikkuse ja taktsageduse järgi jagunevad mikroprotsessorid RISC- ja CISC-protsessoriteks. Enamikus arvutites on CISC-arhitektuur, mille korral keskprotsessor mõistab 100–350 masinakäsku (neid nimetatakse komplekskäskudeks). RISC-arhitektuur ehk kärbitud käsustikuga protsessor toetab palju väiksemat arvu käske. Seda kasutatakse paljudes tööjaamades ja ka mõnd tüüpi personaalarvutites.

## Ajalugu
1960. aastatel ehitati arvuti protsessorid väikese ja keskmise suurusega mikrokiipidest, mis kõik sisaldasid kümneid kuni sadu transistore. Iga arvuti ehitamisel tuli kõik need komponendid asetada ja joota trükkplaadile ning plaadid omavahel ühendada. Suur arv diskreetseid loogikalülisid tarbis rohkesti elektrit ja seega eraldas lülitus palju soojust. 1960. ja 1970. aastatel toimunud NASA Apollo kosmosemissioonidel tehti kõik pardal toimuvad arvutused esmaste juhiste, navigatsiooni ja kontrolli jaoks ühel väikesel protsessoril. Protsessori integreerimine üheks lülituseks ühele või mõnele üksikule mikrokiibile vähendas tunduvalt kulusid. Protsessorid integreerusid üheks või mitmeks suuremahuliseks mikrokiibiks – mikroprotsessoriks. Varem oli nende asemel ühendatud suur hulk väikese või keskmise suurusega mikrokiipe. Ühe kiibiga protsessorid suurendasid arvutite töökindlust, sest seal oli palju vähem väliseid ebakindlaid elektriühendusi.

Integraallülitustel teostatud protsessoreid toodetakse suurtes kogustes kõrgelt automatiseeritud tootmisprotsessides. See langetas iga üksiku protsessori hinda. Kuigi mikroprotsessorid on kiiremaks läinud, siis ühe kiibi tootmise hind on ikkagi üldiselt samaks jäänud.

Jätkuv mikroprotsessorite jõudluse kasv muutis teistliiki arvutite vormid (nt mehaanilised või elektromehaanilised) peaaegu täiesti aegunuks. Ühte või mitut mikroprotsessorit kasutati kõiges alates väikestest manussüsteemidest ja lõpetades superarvutitega.

Alates 1970. aastate algusest on mikroprotsessorite mahu suuruse kasv järginud Moore'i seadust, mis väidab, et transistoride arv, mida ühte kiipi mahutada saab, kahekordistub iga kahe aasta tagant. Aastatel 1965–1970 arvestati seda igal aastal kahekordistuvana.

### Personaalarvuti mikroprotsessorite ajalugu
#### AMD mikroprotsessorid

*AMD alustas mikroprotsessorite tootmist 1995. aastal ja praegu on ta teine suurem mikroprotsessorite tootja Inteli kõrval.
*1995 – tulid välja AMD esimesed mikroprotsessorid NX586, Am486 ja Am5k86. Nende sagedused olid vastavalt 133, 120 ja 100&nbsp;MHz.
*1996 – neile järgnes K5-seeria. Nende taktsagedus ei ületanud samuti 120&nbsp;MHz.
*1997 – ilmusid K6-mikroprotsessorid, mille taktsagedus ulatus 300&nbsp;MHz.
*1998 – tuli K6 uuendus, mis oli nimega K6-2 ja K6-3, mille taktsagedus ulatus 450&nbsp;MHz-ni.
*1999 – loodi AMD K-7 Athlon, mida uuendati 2000. aastal nii palju, et taktsagedus ületas 1&nbsp;GHz piiri.
*2000 – loodi AMD K-7 Duroni mikroprotsessori, mis oli väiksema taktsagedusega, kui Athlon.
*2000 – tuli ka AMD K6 2+ mikroprotsessor, mille taktsagedus oli juba 450–550&nbsp;MHz.
*2001 – tuli seeria mikroprotsessoreid: Mobile AMD Duron 450–550&nbsp;MHz, AMD Athlon4 950–1400&nbsp;MHz, AMD Athlon MP – 1000–1667&nbsp;MHz, AMD Duron (Morgan) – 1000–1300&nbsp;MHz, AMD Athlon XP – 1333–1800&nbsp;MHz.
*2002 – AMD Athlon XP sai uuenduse Thouroughbred, taktsagedusega 1466–2250&nbsp;MHz.
*2003 – loodi viimase AMD Athlon Xp seerias mikroprotsessor Barton, mille taktsagedus oli 1833–2166&nbsp;MHz.

#### Inteli mikroprotsessorid
*1970. aastatel alustati mikroprotsessorite tootmist ja selle aastakümne lõpuks said valmis 8086 ja 8088 mikroprotsessorid. Nende taktsagedus oli vastavalt 5 ja 10&nbsp;MHz.

*1982 – valmis 80286 mikroprotsessor, mille taktsagedus ulatus 12&nbsp;MHz.
*1985 – valmistati esimene 32-bitine mikroprotsessor 368DX. Sellele järgnes 1988. aastal 386SX. 386-mikroprotsessorite maksimaalne taktsagedus oli 33&nbsp;MHz.
*1989 – loodi 486DX, mille taktsagedus ületas 50&nbsp;MHz.
*1992 – loodi 486DX2, mille taktsagedus oli juba 66&nbsp;MHz.
*1994 – loodi 486DX4, mille taktsagedus ulatus kuni 100&nbsp;MHz. DX4 oli ka 486-mikroprotsessori seeria viimane mudel.
*1995 – hakati tootma Pentium Pro mikroprotsessoreid.
*1997 – loodi juba uus multimeedia toetusega mikroprotsessor MMX, mis sai väga populaarseks. MMX mikroprotsessori taktsagedus ulatus kuni 266&nbsp;MHz. 
*1997 lõpuks tuli välja ka Pentium II mikroprotsessor. Pentium II taktsagedus ulatus juba 450&nbsp;MHz.
*1998 – tuli Intelil välja Celeron, mis sai väga populaarseks, sest ta oli võrreldes Pentium II-ga hulga odavam.
*1999 – tuli välja Pentium II järeltulija Pentium III. Pentium III taktsagedus ulatus 1999. aasta lõpuks kuni 733&nbsp;MHz-ni.
*2000 – loodi Intel Xeon taktsagedusega 1,4–5&nbsp;GHz.
*2001 – ilmus Intel Pentium 4 taktsagedusega 1,3–2&nbsp;GHz.

#### Cyrix/IBM mikroprotsessorid

* 1993 – loodi esimene Cyrixi mikroprotsessor – 486DX4, teine seeria Cyrixil oli 5x86, mille taktsagedus küündis 233&nbsp;MHz-ni.
* 1996–1998 tegi Cyrix 6x86 mikroprotsessorid, mille taktsagedus ulatus kuni 250&nbsp;MHz.

## Ehitus
Mikroprotsessorite sisemine ehitus erineb sõltuvalt disaini vanusest ja protsessori otstarbest.

Integraallülituse (mikrokiibi) keerukus on seotud füüsiliste piirangutega, mis seavad piiri ühele kiibile paigutatavate transistoride arvule,
sisemiste ühenduste maksimaalsele arvule ja võimsusele, mida kiip soojusena eraldab. Tehnoloogilised uuendused muudavad keerukamate ja võimsamate kiipide tootmise teostatavaks.

Minimaalne hüpoteetiline mikroprotsessor võib sisaldada ainult aritmeetika-loogikaplokki (inglise *arithmetic and logic unit*, lühend ALU) ja juhtseadet (juhtloogika osa). ALU teostab tehteid nagu liitmine, lahutamine ja loogikatehted nagu NING (AND), VÕI (OR) ja Välistav-või (XOR).

Iga ALU-ga sooritatava operatsiooni (tehte) järel seatakse üks või mitu lippu (tunnust) olekuregistris (*status register*). Need on nulltulemi tunnus (*zero flag*), negatiivse tulemi tunnus või tunnused (*sign flag* jt), ületäitumine (*carry flag*) ja teised. 
Juhtseade (juhtloogika osa) hangib käsu operatsiooni koodid (*opcode*) mälust ja algatab suvalise ALU tehete jada, mis on vajalik antud käsu täitmiseks. Üks operatsiooni kood (*opcode*) võib mõjutada mitut andmete "teed" ehk siini, registrit ja teisi protsessori osasid.

### Protsessorikiipide areng
Mikrokiipide tehnoloogia areng muutis lihtsamaks suuremate ja keerukamate protsessorite tootmise ühel kiibil. Töödeldavad andmeobjektid (ehk arvutisõnad) muutusid suuremaks, lubades rohkem transistore kiibile. See omakorda lubas sõnade suurusel minna 4- ja 8-bitistest sõnadest tänapäevaste 64-bitiste sõnadeni. Lisati täiendavad funktsioone ka protsessori arhitektuurile: suurem arv kiibis paiknevaid registreid kiirendas programmide töötlust. See võimaldas kompaktsemates programmides kasutada keerukamaid juhiseid. Näiteks ujukoma-aritmeetikatehete võimalust polnud paljudel 8-bitistel mikroprotsessoritel, seepärast tehti neid tehteid keerukama tarkvara abil. Ujukoma üksuse (*floating point unit*, FPU) lisamisega algul eraldi lisa-ikrokiibina ja hiljem mikroprotsessori kiibi sisse, kiirendas märgatavalt ujukomaarvutuste kiirust.

Vahetevahel oli vajadus kiipide omavahelise sidumise järele, sest üksikute mikropkiipide võimalused olid füüsiliselt piiratud. Pikkade arvutisõnade ühes kiibis töötlemise asemel võib panna mitu kiipi paralleelselt töötlema seda andmesõnade alamhulka. Selleks oli vaja täiendavaid loogikalülitusi. Tulemuseks oli süsteem, mis suutis töödelda näiteks 32-bitiseid andmesõnu, samas kui iga kiip suutis töödelda ainult 4-bitiseid sõnu.

Koos võimalusega lisada rohkem transistore ühele kiibile muutusid teostatavaks protsessoriga samasse kiipi integreeritud mäluseadmed.
Protsessori vahemälul on kiirem juurdepääs kui väljaspool kiipi paikneval mälul ja see kiirendab süsteemi protsesside kiirust paljudes rakendustes. Protsessorite jõudlus on kasvanud kiiremini kui välise mälu kiirus ja seetõttu on vajalik vahemälu, kui ei taheta protsessori tööd aeglustada aeglasema välise mäluga seotud andmevahetuse tõttu.

### Multituumaline disain

Multituumaline protsessor on rohkem kui ühte mikroprotsessori tuuma sisaldav kiip. See teoreetiliselt mitmekordistab protsessori arvutusvõimsuse, kuid operatsioonisüsteem ning tarkvara peavad olema disainitud seda ära kasutama. Näiteks siiniliidest ja vahemälu saab kasutada tuumade vahel. Tuumad asetsevad füüsiliselt üksteisele väga lähedal ja seega saavad suhelda palju kiiremini kui eraldi kiipidel asetsevad protsessorid.

2005. aastal ilmusid esimesed kahetuumalised protsessorid personaalarvutitesse. Alates 2012. aastast on enamik koduarvuteist ja sülearvutid kahe- või neljatuumaliste protsessoritega ning tööjaamad ja serverid on varustatud nelja-, kuue-, kaheksa-, kümne-, kaheteist- ja kuueteisttuumaliste protsessoritega.

Tänapäevaste lauaarvutite emaplaadid ei toeta mitut protsessorit, kuid vähene osa tarkvarast suudab ära kasutada mitut protsessorit ja seepärast on neljatuumalised protsessorid täiesti piisavad laua- ja sülearvutitele. AMD tõi välja esimese kaheksatuumalise protsessori lauaarvutite jaoks 2012. aasta alguses, kuid see on seni ainus nii suure tuumade arvuga ning enamikus testides on ikkagi jäänud Inteli samahinnalistele protsessoritele alla.

## Vaata ka
* Signaaliprotsessor
* Graafikaprotsessor
* Mikrokontroller
* Intel Core i
* NVIDIA Tegra 2
* TigerSHARC

## Välislingid
* Mikroprotsessor, vallaste.ee
* Dirk Oppelt. "The CPU Collection". 2009-12-23.
* Gennadiy Shvets. "CPU-World". 2009-12-23.
* Jérôme Cremet. "The Cecko's CPU Library". 2009-12-23.
* "How Microprocessors Work". 2009-12-23.
* William Blair. "IC Die Photography". 2009-12-23.
* John Bayko (December 2003). "Great Microprocessors of the Past and Present". 2009-12-23.
* Wade Warner (22 December 2004). "Great moments in microprocessor history". IBM. 2009-12-23.
* Ray M. Holt. "theDocuments". World’s First Microprocessor. 2009-12-23.