Suoritin

Wikipedia
Loikkaa: valikkoon, hakuun
Hakusana ”prosessori” ohjaa tänne. Prosessori oli myös elektroniikkaan ja tietokonetekniikkaan erikoistunut aikakauslehti.
Intel Pentium 100 MHz -suorittimen liitinpuoli.
Alkukantaisen tietokoneen suorittimeen kuuluvia kymmeniä elektroniputkia.

Suoritin tai prosessori (engl. Central Processing Unit eli CPU, keskusyksikkö) on tietokoneen osa, joka suorittaa tietokoneohjelman sisältämiä konekielisiä käskyjä. Se on tietokoneen keskeisimpiä osia. Nykyisissä suorittimissa kaikki osat on pakattu yhdelle mikropiirille, joten ne ovat mikroprosessoreita (MPU). Emolevy ja BIOS määrittelevät sopivat suoritintyypit.

Yksittäinen suoritin voi suorittaa kerrallaan vain yhtä ohjelmaa, mutta sen tehtäviä voidaan vaihdella erittäin nopeasti, jolloin suoritus näyttää käyttäjästä rinnakkaiselta. Moniydinsuorittimessa on samaan mikropiiriin rakennettu kaksi tai useampia suorittimia, ytimiä, jolloin se vastaa pitkälti useampaa erillistä suoritinta, mutta niihin verrattuna käyttää hieman vähemmän sähköä ja tuottaa vähemmän lämpöä.[1] Yleensä moniydinsuorittimen kaikki ytimet kuitenkin jakavat samat oheislaiteväylät ja käyttävät samaa keskusmuistia. Kun erilliset prosessorit omine erillisine ympäristöineen voivat ajaa täysin eri koodia täysin omissa tahdeissaan, moniydinprosessorin ytimien on keskenään pysyttävä niiden ulkomaailman suhteen ainakin jossain määrin synkronissa.

Suorittimia suunnitellaan useisiin erilaisiin käyttötarkoituksiin. Päätarkoituksen mukaan prosessoreissa puhutaan mm. PC-, yleis-, sulautetuista -, signaali-, grafiikka ja fysiikkamallinnusprosessoreista. Osa optimoidaan erittäin pieneen tehonkulutukseen, osa suureen laskentatehoon, osa taas mahdollisimman laajaan yleiskäyttöisyyteen, jolloin sama mikropiiri saattaa sisältää useita eri oheislaitteita ja kymmeniä liityntäväyliä. Näytöllisten älylaitteiden myötä tärkeäksi ryhmäksi ovat nousseet pitkälle integroidut ns. järjestelmäpiirit, joissa parhaimmillaan on samassa piirissä mukana mm. muisteja, puhelinmodeemi ja monipuolinen näytönohjain.

Ominaisuudet[muokkaa | muokkaa wikitekstiä]

Tietokoneen yleisnopeus riippuu paljon juuri suorittimen nopeudesta.[2] Suorittimen nopeus riippuu sekä sen käyttämästä arkkitehtuurista että kellotaajuudesta. Kellotaajuus ilmoitetaan yleensä megahertseinä (MHz) tai gigahertseinä (GHz), ja suoritin toimii sen tahdissa. Nykyään pelkän kellotaajuuden merkitys suorittimen laskentatehon määrittämisessä on kuitenkin vähentynyt, ja suorittimen tehokkuuteen vaikuttavat monet tekniset ratkaisut, kuten

  • kuinka leveitä prosessorin lukuja käsittelevät yksiköt ja liityntäväylät ovat (yleensä 4-, 8-, 16-, 32- tai 64-bittiä),
  • kuinka monta ja minkä tyyppisiä käskyjä suoritin kykenee suorittamaan samanaikaisesti (liukuhihna),
  • kuinka suuria välimuisteja suorittimessa on, ja
  • miten tehokkaasti edelliset on toteutettu ja niihin liittyvät ongelmatilanteet on arkkitehtuurissa ratkaistu.

Prosessorin erikoiskäskyistä voi olla suurta hyötyä etenkin matemaattisissa sovelluksissa. Yksi erikoiskäsky voi korvata kymmeniä peruskäskyjä, vaikka sen suoritukseen aikaa kuluu vain saman verran yhden tai muutaman peruskäskyn suoritukseen. Välimuistin hyöty on, että muistista haettava ja sinne kirjoitettava tieto saadaan nopeasta välimuistista huomattavasti nopeammin kuin hitaammasta keskusmuistista. Merkittäviä nopeusetuja saadaan myös kirjoittamalla tehokasta ohjelmakoodia.

Suorittimissa voi olla kaksi tai useampia ytimiä. Moniytimellisyys mahdollistaa sen, että monia raskaita laskutehtäviä vaativia ohjelmia voidaan ajaa tietokoneella samanaikaisesti ilman, että muiden prosessien suoritus häiriintyy, ja että monisäikeisien yksittäisien prosessien suoritus voidaan jakaa usean ytimen kesken nostaen sen suoritustehoa. Ytimet voivat olla joko identtisiä, tai ne voivat olla erikoistuneita erilaisiin tehtäviin.

Valmistustekniikan kehittyessä mikropiirien sisältämien transistorien määrä kaksinkertaistuu noin puolessatoista vuodessa, kuten ns. Mooren laki on ennustanut. Suorittimien kohdalla tämä on toistaiseksi pitänyt melko hyvin paikkansa, mikä on mahdollistanut yhä monimutkaisempien ja paremman suorituskyvyn mahdollistavien arkkitehtuurien toteuttamisen. Lisäksi on mahdollista integroida samalle piirille useita suoritinytimiä, suurempia ja monitasoisempia välimuisteja, sekä tukipiirejä kuten muistinhallintayksikkö, tai 2D ja/tai 3D-grafiikan käsittelyyn erikoistunut grafiikkasuoritin.

Suorittimen keskeiset osat ovat laskentayksikkö (engl Arithmetic Logical Unit = ALU)[2], valvontayksikkö [2] ja yleensä useita rekistereiksi kutsuttuja käsiteltävän tiedon tallentavia muistipaikkoja.[2] Prosessorin toimintaa on noutaa muistista käsky ja siihen liittyvä luku tai luvut, suorittaa kyseinen käsky ALU-yksikössään ja palauttaa tulos muistiin. Yksittäinen käsky voi olla esim. "laske yhteen rekisterin A ja muistipaikan xx sisältö ja siirrä tulos rekisteriin B".

Suorittimet tuottavat toimiessaan hukkalämpöä, joka saattaa vaikuttaa suorittimen toiminnan luotettavuuteen tai liiallisena jopa tuhota suorittimen. Hukkalämmön johtamiseksi pois suorittimesta voidaan käyttää esimerkiksi jäähdytysripaa, jota muotonsa vuoksi monesti kutsutaan jäähdytyssiiliksi, ja siihen usein liitettyä ilman virtausta tehostavaa tuuletinta, tai nestejäähdytystä.

Suoritinperheitä[muokkaa | muokkaa wikitekstiä]

Suorittimet voidaan jakaa perheisiin niiden yhteensopivuuden mukaan. Tyypillisesti saman perheen uudempi suoritin pystyy suorittamaan ohjelmia, jotka on tehty saman perheen aikaisimmille suorittimille. Toisin päin tämä ei välttämättä ole mahdollista erilaisten käskykantalaajennusten vuoksi.

  • Intelin 16-bittiset x86 prosessorit, alkaen 8086 mallista, joka esiteltiin vuonna 1978. Käytettiin ensimmäisissa IBM:n PC-koneissa.
  • Intelin IA-32 yhteensopivat suorittimet, edellisten 32-bittiset jatkokehitysversiot (esitelty 1985), ja niiden kloonit, kuten mm. AMD:n, VIA:n ja Transmetan suorittimet.
  • Intelin IA-64-suorittimet.
  • AMD:n kehittämän AMD64-käskykannan suorittimet, ml. Intelin valmistamat yhteensopivat suorittimet.
  • ARM-suorittimet (myös StrongARM/XScale), joihin lähes kaikki nykypäivän älypuhelimet pohjautuvat.
  • Zilog Z80 -suoritinperhe, 8-bittinen, julkaistu 1976.
  • Motorolan 6800-suoritinperhe, 8-bittinen, julkaistu 1974.
  • Edelliseen pohjautuva MOS Technology 6502 ja sen kehitysversiot (julkaistu 1975), joita käytettiin mm. Commodoren kuuluisissa VIC-20 ja C-64 tietokoneissa.
  • Motorolan 68000-suoritinperhe, julkaistu 1979. Käytetty mm. varhaisissa Maceissa ja Amigassa.
  • Texas Instrumentsin TMS320 -signaaliprosessoriperhe (esitelty 1983).
  • SPARC-suoritinperhe.
  • MIPS Technologiesin MIPS-suoritinperhe
  • Hewlett-Packardin PA-RISC
  • Digitalin Alpha-suoritinperhe
  • IBM:n POWER -suoritinperhe
  • Apple-IBM-Motorola -allianssin PowerPC-suoritinperhe
  • Tilera 64-120 ytimiset palvelimille tarkoitetut suorittimet

Suoritinperheet voidaan edelleen jakaa arkkitehtuureihin niiden iän ja sukupolven mukaan. Esimerkiksi SPARC-perheen aikaisemmat arkkitehtuurit, HyperSPARC ja SuperSPARC, toteuttavat SPARC v7 -käskykannan ja uudemmat arkkitehtuurit 64-bittisen SPARC v9 -käskykannan, jota käyttäviä malleja ovat Sun Microsystemsin UltraSPARCin eri mallit ja Fujitsun SPARC64.

PC-yhteensopivissa suorittimissa on useita kilpailevia valmistajia, joiden suorittimet käyttävät kaikki IA-32-käskykantaa (Intelin määrittelemä 32-bittinen käskykanta). Jokaisella valmistajalla on useita arkkitehtuureita, jotka jakaantuvat useisiin malleihin. Esimerkiksi AMD:n Athlon-suorittimen ensimmäinen malli on mallinumeroltaan K7, toinen malli on K75, ja myöhempi neljäs on "Thunderbird"-malli. Edelleen eri malleja on saatavilla eri kellotaajuuksilla.

Lähes jokainen PC-prosessoreiden valmistaja ja suoritinsukupolvi laajentaa suorittimen käskykantaa uusilla käskyillä. Tällaisia laajennuksia ovat mm. MMX, VIS, 3DNow!, SSE ja AltiVec, joista on kaikista lisäksi useampia versioita uusien arkkitehtuurien mukana. Jotkin uudemmat PC-yhteensopivat suorittimet määrittelevät myös oman käskykantansa IA-32 käskykannan lisäksi. Esimerkiksi AMD:n uudemmat suorittimet pystyvät ajamaan oman 64-bittisen käskykantansa, AMD64:n mukaisia ohjelmia IA-32 ohjelmien lisäksi, muodostaen siten tosiasiassa oman suoritinperheensä. Intelillä oli oma IA-64 käskykanta, jota yritys käytti Itanium-suoritinperheessä, mutta se ei ollut taaksepäin yhteensopiva IA-32 käskykantaan minkä vuoksi se ei menestynyt kuin palvelimissa, joskin heikosti. Intel lisensoi AMD:n AMD64 käskykannan ja täten Intelin ja AMD valmistamat suorittimet ovat yhteensopivia. Kyse oli lisenssien vaihdosta, AMD kun maksaa Intelille x86-arkkitehtuurista lisenssimaksuja.

Suoritinarkkitehtuurit voidaan jakaa ryhmiin esimerkiksi konekäskyjen perusrakenteen mukaan seuraavasti:

  • CISC (Complex Instruction Set Computer)
  • RISC (Reduced Instruction Set Computer)
  • VLIW (Very Long Instruction Word)
  • TTA (Transport Triggered Architecture)

Katso myös[muokkaa | muokkaa wikitekstiä]

Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta mikroprosessori.

Lähteet[muokkaa | muokkaa wikitekstiä]