Tietokone

 on laite, joka käsittelee numeeris-loogista tietoa ohjelmointinsa mukaisesti. Arkikielessä tietokoneella tarkoitetaan yleensä yleiskäyttöistä laitetta, joka on tarkoitettu suorittamaan monenlaisia tietojenkäsittelytehtäviä. Myös esimerkiksi pelikonsolit, matkapuhelimet ja taskulaskimet ovat perusluonteeltaan tietokoneita, vaikka erikoistuneiden käyttötarkoitustensa takia niitä ei sellaisiksi yleensä kutsuta. Myös sulautetuissa järjestelmissä on laitteen sisällä tietokone, vaikka käyttäjä ei aina ole siitä edes tietoinen.

Yksi tietokoneen matemaattisista malleista on Turingin kone, jonka kehitti englantilainen matemaatikko Alan Turing. Tietojenkäsittelyn ekvivalenssiperiaatteen mukaan kaikki tietokoneet pystyvät suoriutumaan samoista tehtävistä, mikäli käytössä on riittävästi tallennustilaa ja aikaa. Jos siis koneella tai formaalilla järjestelmällä (esimerkiksi ohjelmointikielellä) voi toteuttaa Turingin koneen, sillä voi toteuttaa myös minkä tahansa algoritmin tai ohjelman, jonka Turingin kone pystyy ratkaisemaan. Nykyaikaiset yleistietokoneet perustuvat John von Neumannin mallin mukaiseen rakenteeseen, Turingin kone esiintyy vain tietojenkäsittelyteorian oppikirjoissa. Erikoissovelluksissa voi olla käytössä Neumannin mallista poikkeavia tietokoneita. Esimerkiksi signaalinkäsittelyyn tarkoitetut suorittimet ovat usein Harvard-arkkitehtuurin mukaisia.

Tietokoneiden edeltäjinä voidaan pitää yhtäältä reikäkorttien käsittelyyn tarkoitettuja reikäkorttikoneita ja toisaalta esimerkiksi mekaanisia laskimia. Ensimmäiset varsinaiset ohjelmoitavat tietokoneet rakennettiin 1940-luvulla ja niitä käytettiin muun muassa toisen maailmansodan aikaan salakirjoitusten murtamiseen (brittiläinen Colossus), ohjusten ratojen laskentaan (amerikkalainen ENIAC) ja lentokonesuunnittelun lujuuslaskentoihin (saksalainen Z3).

Tietokoneen toiminta

Vaikka tietokoneen pystyykin toteuttamaan lukemattomilla tekniikoilla, valtaosa tietokoneista on kautta historian perustunut elektronisiin piireihin, joiden alkeellisimmat perusosat suorittavat Boolen algebraan kuuluvia perusoperaatioita. Koska Boolen algebra perustuu kahteen totuusarvoon, on luontevaa käyttää niitä kaiken käsiteltävän tiedon ilmaisemiseen: esimerkiksi lukuja on teknisesti yksinkertaisinta käsitellä, jos ne on esitetty binäärijärjestelmän avulla. Yksittäisestä totuusarvosta (binäärijärjestelmän numerosta 1 tai 0) käytetään nimitystä bitti (lyhenne englannin sanoista binary digit, binääriluku).

Useimmat tietokoneet toteuttavat John von Neumannin mallia, jossa sekä ohjelma että sen käsittelemä tieto ovat samaan muistiin tallennettua dataa. Harvinaisemmassa Harvard-arkkitehtuurissa ohjelma ja sen käsittelemä tieto ovat omissa muisteissaan. Tietokone suorittaa ohjelmaa yleensä lukemalla peräkkäisiä muistipaikkoja alueelta johon ohjelmakoodi on tallennettu, ja tulkitsemalla lukemansa bittijonot konekielisiksi käskyiksi. Konekielikäsky suorittaa yleensä jonkin yksinkertaisen alkeisoperaation, kuten bittijonon lukemisen muistipaikasta, kahden bittijonon välisen yhteenlaskun tai ohjelman suoritusosoitteen ehdollisen vaihtamisen. Käskyn suorituksen loppuvaiheessa mahdolliset lopputulokset tallennetaan takaisin muistiin, tai tietokoneen suorittimen sisäiseen välimuistiin.

Konekielikäskyjä suorittavaa tietokoneen osaa kutsutaan suorittimeksi eli prosessoriksi, joka on nykyään yleensä muutaman neliösenttimetrin kokoinen integroitu piiri. Henkilökohtaisissa tietokoneissa on tyypillisesti vain yksi suoritin, mutta suurissa palvelimissa ja supertietokoneissa niitä voi olla jopa useita tuhansia.

Suorittimien lisäksi tietokoneessa on yleensä myös muita piirejä, jotka suorittavat erikoistuneempia tietojenkäsittelytehtäviä ja vapauttavat siten varsinaiset suorittimet näistä tehtävistä. Esimerkiksi

  • levyohjain siirtää tietoa keskusmuistin ja kiintolevyn välillä
  • näytönohjain muuttaa näyttömuistiin tallennetun kuvan näyttölaitteelle sopivaksi ajoitetuksi signaaliksi; monet näytönohjaimet osaavat myös itse piirtää grafiikkaa näyttömuistiin.

Vaikka kaikki tietokoneet pystyvätkin periaatteessa suorittamaan samat tehtävät, jotkin ovat huomattavasti soveltuvampia joihinkin tehtäviin kuin toiset. Suorituskykyä erityyppisissä tehtävissä mitataan vertaillen niin sanotuilla benchmarking-testeillä. Riittävän suorituskyvyn lisäksi merkittäviä tekijöitä ovat muun muassa koneen vakaus, vikasietoisuus, virrankulutus, fyysinen koko, ohjelmistoyhteensopivuus sekä hankinta- ja käyttökustannukset.

Arkipuheessa tietokoneita asetetaan usein paremmuusjärjestykseen vertailemalla suoraan esimerkiksi suorittimien kellotaajuuksia. Kellotaajuus voi antaa suurpiirteisen vihjeen esimerkiksi PC-työaseman teknisestä iästä ja siten sen yleisestä suorituskyvystä ja luotettavuudesta useimmissa tehtävissä, mutta pelkkiin numeerisiin suureisiin katsominen voi esimerkiksi koneen ominaisuuksia arvioitaessa olla hyvinkin harhaanjohtavaa. Suorittimen arkkitehtuurilla on käytännössä erittäin suuri vaikutus siihen miten paljon työtä prosessori saa yhden kellojakson aikana tehtyä, ja mikä lopullinen suorituskyky tulee olemaan.

Tietokoneiden historia

Tietokoneen kehitys vuosikymmenittäin

  • 1940-luvulla tietokone kehitetään ja niitä käyttävät vain valtiot, käyttötarkoituksena oli lähinnä sotilaskäyttö.
  • 1950-luku oli tietokoneen perustekniikan ja teorian kehityskautta, IBM julkistaa ensimmäisen sarjavalmisteisen tietokoneen.
  • 1960-luvulla puolijohteet alkoivat pienentää ja nopeuttaa tietokonetta Mooren lain mukaan.
  • 1970-luvulla tietokonetta käytetään lähinnä tekniseen laskentaan, tietokone vaati vielä kokonaisen oman huoneen.
  • 1980-luvulla Commodore-64, Apple ja IBM PC aloittivat mikrotietokoneiden yleistymisen ja tietokoneiden huvikäytön. Isotkin tietokoneet olivat enää huonekalun kokoisia ja kirjoituskone korvautuu henkilökohtaisella tietokoneella.
  • 1990-luvulla tietokone muuttuu jokaisen pienyrityksen päivittäiseksi apuvälineeksi ja tietoliikenteen kehitys laajentaa käyttötapoja. Tietokone siirtyy myös osaksi autoja ja kodinkoneita.
  • 2000-luvulla tietokoneita käytetään työssä ja kotona päivittäin, kannettavat tietokoneet riittävät vaativiinkin työtehtäviin ja tietokoneen rikkoutuminen estää työnteon konttoritöissä.