Suoritin

Suoritin tai prosessori (engl. Central Processing Unit eli CPU) 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). 
Yksittäinen yksinkertainen 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 (ks. Moniajo). Monisäikeistetyssä suorittimessa voidaan suorittaa aidosti yhtä aikaa useampaa kuin yhtä tehtävää, samoin moniydinsuorittimessa on samaan mikropiiriin rakennettu kaksi tai useampia suorittimia.
Suorittimia suunnitellaan useisiin erilaisiin käyttötarkoituksiin. Suorittimia valmistetaan erilaisia supertietokoneisiin, sulautettuihin järjestelmiin ja henkilökohtaisiin tietokoneisiin. Erikoistuneita apusuorittimia ovat digitaalinen signaaliprosessori (DSP), grafiikkaprosessori (GPU) ja matematiikkasuoritin (FPU), joka nykyään usein integroidaan yleiskäyttöiseen suorittimiin. Osa optimoidaan erittäin pieneen tehonkulutukseen, osa suureen laskentatehoon tietynlaiselle datalle, 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 (SoC), joissa voi olla samassa piirissä mukana mm. muisteja, signaaliprosessori ja monipuolinen näytönohjain.

Erikoiskäskyt

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 kuin 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.

Ominaisuuksien laajentaminen

Suorittimelle on mahdollista integroida samalle piirille useita suoritinytimiä, suurempia ja monitasoisempia välimuisteja, sekä tukipiirejä kuten 2D- tai 3D-grafiikan käsittelyyn erikoistunut grafiikkasuoritin tai muistinhallintayksikkö. Nykyaikaisissa suorittimissa on muistinhallintayksikkö (MMU) ja matematiikkasuoritin (FPU) integroituna samalle piirille. Järjestelmäpiirit integroivat suorittimen lisäksi samalle piirille IO-piirejä ja useita muita komponentteja.

Muut ominaisuudet

Muita tehokkuuden parantamiseen tähtääviä keinoja ovat muun muassa epäjärjestyksessä suorittaminen (engl. out-of-order execution) sakkaustilanteiden välttämiseksi ja haarautumisen ennakointi (engl. branch prediction).

Suoritinperheitä

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

Ensimmäisen sukupolven suorittimet

Ensimmäisen sukupolven suorittimet olivat osa laajempaa kokonaisuutta ja osa itse tietokoneen rakennetta ja suunnittelua.
Ensimmäisen sukupolven suorittimet perustuivat elektroniputkien käyttöön.

Käskylaajennukset

Useat valmistajat ja suoritinsukupolvet laajentavat 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.

Toimintatilat

Useat suorittimet toteuttavat supervisor tilan, jossa käyttöjärjestelmän ydin yleensä suoritetaan. Tässä tilassa suoritin asettaa vähemmän rajoituksia kuin käyttäjätilassa (engl. user mode).
Nykyiset suorittimet lisäävät virtualisointitukea hypervisor ominaisuuksilla.