Tietokoneen toiminta
Vaikka tietokoneen pystyykin toteuttamaan lukemattomilla tekniikoilla, valtaosa tietokoneista on kautta historian perustunut elektronisiin piireihin, joiden alkeellisimmat perusosat suorittavat Boolen algebraonan kuuluvia perusoperaatioita. Koska Boolen algebra perustuu kahteen totuusarvo, 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 muistiinaa tallennettua data. Tietokone suorittaa ohjelmaa yleensä lukemalla peräkkäisiä muistipaikkoja 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.
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ää grafiikkaaa 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.
Tietokoneen arkkitehtuuri
Tietokonejärjestelmään kuuluvat
Ohjelmisto jaetaan edelleen
Tietokoneen laitteiston perusrakenne (niin sanottu von Neumannin arkkitehtuuri) on säilynyt suunnilleen samana aina 1940-luvulta asti. Laitteistoon kuuluvat
- suoritin (prosessori, ), joka suorittaa ohjelmaa
- muisti (), johon tallentuvat sekä ohjelmat että niiden käyttämät tiedot
- oheislaitteet (), joita voidaan käyttää tiedon syöttöön ja tulostukseen
Pöytätietokoneen osat
Nykyaikaisen pöytämallisen työasema- tai kotitietokoneen laitteisto koostuu erillisistä osista, joita ovat tyypillisesti
- yksi tai useampi suoritin
- emolevy, jonka välityksellä laitteiston muut osat ovat yhteydessä suorittimeen
- keskusmuisti (käyttömuisti, työmuisti, engl. active memory), johon ohjelmat ja niiden käsittelemä data tallentuvat siksi aikaa, kun tietokone on päällä
- massamuistilaitteet, joiden avulla dataa voi varastoida pidemmäksi aikaa
- yksi tai useampi kiintolevy
- yksi tai useampi (tallentava) DVD- tai CD-asema (jopa joissain ammattikäyttöisissä Blu-ray)
- levykeasema (jota nykyään on tosin pidettävä jo vanhentuneena tallennustekniikkana)
- näytönohjain (emolevyyn sulautettuna tai erillisenä laajennuskorttina), johon kytketään yksi tai useampi näyttö
- äänenohjain eli äänikortti (emolevyyn sulautettuna tai erillisenä laajennuskorttina), johon voidaan kytkeä muun muassa kaiuttimet ja mikrofoni
- ohjauslaitteet
- tietoliikenneyhteyden (esim. Internet) mahdollistava laite (yleensä verkkokortti (emolevyyn sulautettuna tai erillisenä laajennuskorttina) tai modeemi)
- tulostin
- kuvanlukija eli skanneri.
Lisäksi tarvitaan osia, joita ei käytetä tiedonkäsittelyyn, kuten
- kotelo
- virtalähde
- tuulettimia tai vesijäähdytysjärjestelmä, joilla estetään laitteiston ylikuumeneminen
Tietokoneiden kehitys
Ensimmäiset tietokoneet 1940-luvulla oli tehty sotilaallisiin tarkoituksiin, muun muassa Saksan ja Japanin salakirjoitusjärjestelmien murtamiseen.
Tietokonetta käytettiin aluksi ensisijaisesti laskemiseen (vrt. engl. computer). ENIAC, joka suoritti 385 kertolaskua sekunnissa, pystyi korvaamaan noin 23 000 ihmistä (jos oletetaan, että ihminen pystyy ratkaisemaan keskimäärin yhden kertolaskun minuutissa). Nykyinen mikroprosessori on noin 3 000 000 kertaa ENIACia nopeampi eli saman laskutavan mukaan korvaa kertolaskuissa noin 60 miljardia ihmistä.
Tietokone ohjaa monesti laajoja järjestelmiä, esimerkiksi tietokoneohjattua tuotantoa, ase-, tiedustelu- tai johtamisjärjestelmää, liikennevaloja, puhelinkeskuksia, Internetin reitittimiä, autoja, pesukoneita, lähes kaikkia teknisiä järjestelmiä. Nykyaikaisen yhteiskunnan teknologinen pohja on keskeisesti tietokonetekniikkaa.
Tietokonesukupolvet
Etenkin vanhemmassa kirjallisuudessa tietotekniikan historia kuvataan usein jakamalla tietokoneet neljään sukupolveen:
- rele- ja putkikoneet
- transistorikoneet
- mikropiirikoneet
- mikroprosessorikoneet
Varhaisissa tietokoneissa 1940-luvulla käytettiin peruskomponentteina yleensä joko elektroniputkia tai sähkömekaanisia releitä. Liikkuvat osat rajoittivat sähkömekaanisten koneiden nopeuden enintään muutamiin kymmeniin laskutoimituksiin sekunnissa, kun taas täysin elektroniset putkitoteutukset suorittivat samassa ajassa useita tuhansia operaatioita. Komponentit olivat kuitenkin joka tapauksessa suurikokoisia, epäluotettavia ja kuluttivat paljon energiaa.
1950-luvun jälkipuoliskolla otettiin käyttöön puolijohteisiin perustuvat transistorit, jolloin tietokoneiden komponentit ja energian tarve pienenivät oleellisesti ja luotettavuus parani. 1960-luvulla siirryttiin mikropiireihin, mikä pienensi jälleen komponenttien kokoa. Alkoi Mooren lakina tunnettu kehitys, jossa samalle mikropiirille saatiin kaksinkertainen komponenttimäärä puolessatoista vuodessa. Seuraava mullistus oli mikroprosessorin keksiminen, joka mahdollisti henkilökohtaisen tietokoneen eli PC:n synnyn. 1980- ja 1990-luvuilla siirryttiin suuritiheyksisiin mikropiireihin (VLSIC) ja edelleen suurnopeuksisiin mikropiireihin (VHSICen). 2000-luvun merkittävimmät kehitysaskelet lienevät yhä voimissaan olevan Mooren lain mahdollistama usean suorittimen mahduttaminen samalle mikropiirille, joka on mahdollistanut moniydin-prosessori kehittämisen, sekä suorittimien kehityksen painopisteen siirtyminen nopeuden asemasta virrankulutuksen optimointiin.
Ensimmäiset tietokoneet
Kysymys ensimmäisestä tietokoneesta ei ole kovin yksiselitteinen, sillä tietokoneen määritelmät vaihtelevat, ja useimmat varhaiset laitteet jättävät joitakin yleisiä vaatimuksia täyttämättä. Muun muassa seuraavassa lueteltuja laitteita on pidetty ensimmäisenä tietokoneena:
- Charles Babbagen Analyyttinen kone (1837) - ensimmäinen yleiskäyttöisen tietokoneen tekninen kuvaus. Toteutus jäi pahasti kesken, mutta koneelle suunniteltu konekieli todettiin yli sata vuotta myöhemmin Turing-täydelliseksi.
- Konrad Zusen Z1 (1937) - ensimmäinen ohjelmoitava binääriaritmetiikkaa käyttänyt laskukone, saksalainen. Z1 oli rakenteeltaan täysin mekaaninen ja käytössä hyvin epäluotettava. Laitteessa oli pieni hajasaantimuisti (64 sanaa), mutta käskyt luettiin muistin sijaan reikänauhalta, eikä käskykantaan kuulunut hyppykäskyjä.
- Konrad Zusen Z3 (1941) - ensimmäinen luotettava ohjelmoitava binäärilaskukone. Vastasi loogisilta ominaisuuksiltaan Z1:tä mutta oli toteutettu releillä ja oli sen myötä riittävän luotettava insinöörien työkäyttöön. Zusen varhaiset koneet tuhoutuivat sodassa, joten niiden asema tunnustettiin vasta suhteellisen myöhään.
- Atanasoff-Berry Computer (1942) - ensimmäinen täysin elektroninen binäärilaskukone, amerikkalainen. Ei sisältänyt varsinaista ohjelmoitavuutta vaan oli tarkoitettu pelkästään yhtälöryhmien automaattiseen ratkaisemiseen.
- Harvard Mark I (1944) - amerikkalainen relepohjainen laskukone. Vastasi ohjelmointiominaisuuksiltaan suunnilleen Z3:ea mutta käytti desimaalijärjestelmää binäärijärjestelmän sijaan.
- Colossus (1944) - ensimmäinen täysin elektroninen tietokone, brittiläinen. Suunniteltiin varta vasten salakirjoituksen murtamiseen eikä ollut yleiskäyttöinen vaikka olikin jossain määrin ohjelmoitavissa.
- ENIAC (1944) - ensimmäinen täysin elektroninen yleiskäyttöinen tietokone, amerikkalainen. ENIAC oli Turing-täydellinen, mutta sen ohjelmointi vaati fyysistä johtojen uudelleenvetämistä.
- SSEM (1948) - ensimmäinen prototyyppi von Neumannin arkkitehtuurin toteuttavasta tietokoneesta, brittiläinen. Ei ollut kovinkaan käyttökelpoinen vaan tarkoitettu lähinnä teknisten ideoiden testaamiseen.
- EDSAC (1949) - ensimmäinen käyttökelpoinen von Neumannin arkkitehtuurin toteuttanut tietokone. Brittiläinen.
Colossus kehitettiin natsien viestiliikenteessä käyttämän salauksen purkamiseen. Koska kyse oli tiedustelutoiminnasta, Britannian hallituksen salassapitomääräys koski myös Colossusta. Yhdysvaltalaisen ENIACin käyttötarkoitusta, tykistön ampumataulukoiden laskentaa, ei sen sijaan luokiteltu salaiseksi, joten ENIACin dokumentaatio voitiin julkistaa heti 2. maailmansodan päätyttyä.
Mikroprosessori (suoritin)
Mikroprosessori on tietokoneen keskusyksikkö, 'aivot', yhdellä mikropiirillä. Ensimmäinen mikroprosessori, Intelin 4004 vuodelta 1971, sisälsi noin 2 300 transistoria. Sen kellotaajuus eli nopeus oli 0,1 MHz, kerralla käsiteltävän tiedon leveys 4 bittiä (yksi numero), ja se pystyi käsittelemään 0,06 miljoonaa käskyä sekunnissa.
Kolmekymmentä vuotta myöhemmin, vuonna 2001, uusin mikroprosessori Intelin perheessä oli Itanium. Se sisälsi noin 25 000 000 transistoria, sen kellotaajuus oli 733 MHz, kerralla käsiteltävän tiedon leveys oli 64 bittiä (16 numeroa), ja Itanium pystyi suorittamaan 7 491 miljoonaa käskyä sekunnissa.
Tietokoneen tulevaisuudesta
Mooren laki pätenee vielä jonkin aikaa eli tietokoneiden kehitys jatkuu ainakin nykyisenlaisena. Tämä kehitys merkitsee
- teknisen älykkyyden radikaalin kasvun jatkumista (ks. Epistemologia: Tekninen ja inhimillinen tieto)
- yhä älykkäämpien, suurempien ja ajantasaisempien tehtävien siirtymistä tietokoneille
- tekniikan ja ihmiskunnan tietokoneistumista.
Tietokoneiden tulevaisuus on
tietokoneverkoissa. Mullistusta tietokonetekniikassa on esitetty
kvanttitietokoneista.
Kirjallisuutta
Katso myös