Maurice Wilkes

Tietojenkäsittelyn pioneeri

Raine Kauppinen
Helsingin yliopisto
Tietojenkäsittelytieteen laitos
Tietojenkäsittelytieteen historia -seminaari, kevät 2001
26.1.2001

Sisältö


1 Johdanto

Maurice Wilkes on todellinen tietojenkäsittelyn pioneeri, jonka pitkä ja ansiokas ura on kiehtova. Wilkes tunnetaan ensimmäisen talletettua ohjelmaa käyttäneen tietokoneen, EDSAC:n luojana. EDSAC:in myötä hän käynnisti tietokoneiden ja ohjelmointitekniikkojen nopean kehityksen, johon hän myös itse osallistui aktiivisesti esitellen muiden muassa mikro-ohjelmoitavan ohjausyksikön ja välimuistin periaatteet.

Seuraavassa luodaan katsaus Wilkesin uraan tietojenkäsittelyn edistäjänä hänen merkittävimpien saavutustensa ja niiden taustojen kautta. Esitys jakautuu neljään osaan: Wilkesin nuoruusvuosiin, vuosiin Cambridgessä ennen toista maailmansotaa, suurten edistysaskeleiden vuosiin 1945-1965 ja Wilkesin myöhempiin vuosiin.

Wilkesin nuoruusvuodet ja vuodet Cambridgessä ennen toista maailmansotaa kertovat Wilkesin taustoista ja siitä, miten hän kiinnostui tietokoneista. Toisen maailmansodan jälkeen, vuosina 1945-1965 Wilkes edesauttoi tietojenkäsittelyn kehitystä suurimmilla saavutuksillaan Cambridgen yliopistolla. Myöhempinä vuosina hän jatkoi tutkimuksiaan ja toimi myös aktiivisesti yritysmaailmassa yliopistouransa jälkeen.


Kuva 1: Maurice Wilkes
URL (tarkistettu 25.1.2001): http://cc.kzoo.edu/~k98th01/MVwilkes.html

2 Wilkesin nuoruusvuodet

Maurice Vincent Wilkes syntyi kesäkuun 26. päivänä Dudley Staffordshiressa, Englannissa. Ensimmäinen maailmansota päättyi, kun hän oli 5 vuoden ja 4 kuukauden ikäinen. Koulussa hän piti matematiikasta ja fysiikasta, ja tiesi jo 11-vuotiaana haluavansa tiedemieheksi tai insinööriksi. Tämä päämäärä mielessään Wilkes keskittyi koulussa jo varhain matemaattisiin aineisiin.

Wilkes kiinnostui radioista, kun hänen isänsä hankki radiolaitteen vuonna 1924. Wilkesin opettaja tutustutti hänet radioamatööritoimintaan. Wilkes suoritti itsekin radioamatööritoimintaan vaaditun Morse-kokeen vuonna 1931, jonka jälkeen hän toimi itsekin pitkään radioamatöörinä. [WIL85]

3 Vuodet Cambridgessa ennen II maailmansotaa

Wilkes aloitti opintonsa Cambridgen collegessa vuonna 1931 ja yliopistossa vuonna 1934. Wilkes tutki radioaaltojen käyttäytymistä ionosfäärissä ja kirjoitti aiheeseen liittyen myös ensimmäisen kirjansa. Tutkimustensa yhteydessä häntä alkoivat yhä enemmän kiinnostaa myös laskentaan käytetyt koneet ja menetelmät. [WIL95]

Vuonna 1937 Wilkes osallistui yliopistolle kaavaillun uuden laskentalaboratorion suunnitteluun. Laboratorion ehdotettu nimi oli "Computing Laboratory", mutta nimeksi tuli aluksi "Mathematical Laboratory". Wilkes työskenteli laboratoriossa toiseen maailmansotaan asti. Toisen maailmansodan aikana Wilkes palveli ilmavoimissa työskennellen tutka-asemilla ja sai näin paljon kokemusta armeijan käyttämästä teknologiasta, kuten monet muutkin aikansa tiedemiehet ja tutkijat. [WIL85]

4 Vuodet 1945-1965 - suuret edistysaskeleet

Sodan ajan palveluksensa jälkeen vuonna 1945 Wilkes palasi Cambridgeen, jolloin hänet nimitettiin Mathematical Laboratoryn johtajaksi. Vuotta myöhemmin Wilkes korjasi omien sanojensa mukaan "suuren historiallisen virheen" ja muutti laboratorion nimen muotoon "Computer Laboratory". [WIL95]

Lopullisesti Wilkesin kiinnostus tietokoneisiin heräsi, kun hän vuoden 1946 kesällä osallistui elektronisia tietokoneita käsittelevään luentosarjaan, jonka pitopaikkana oli kuuluisa Moore School Philadelphiassa. Tapahtumaan osallistuivat Wilkesin lisäksi käytännössä käytännössä kaikki silloiset tietokoneista kiinnostuneet tiedemiehet. Luentosarja käsitteli muiden muassa J. Mauhclyn ja J.P. Eckertin rakentaman ENIAC-koneen toimintaperiaatetta ja John Von Neumannin suunnitelmia EDVAC-tietokoneesta. Luentosarjan yhteydessä Wilkes kävi useita keskusteluja J. Mauchlyn ja J.P. Eckertin tietokoneiden tulevaisuuden näkymistä. [WWW1]

4.1 EDSAC

Kesän 1946 luentosarjan innoittamana Wilkes alkoi suunnitella ja rakentaa luentosarjan käsittelemien periaatteiden mukaista tietokonetta, jonka nimeksi tuli EDSAC (Eletronic Delay Storage Automatic Calcilator). Koneen suunnittelun suurin ongelma oli riittämätön muistiteknologia. Ongelman ratkaisi kuitenkin T. Gold, joka oli suunnitellut elohopeatankkeihin perustuvan muistin toteutuksen. Wilkes innostui suunnitelmista ja, testattuaan Goldin kanssa suunnitelmia käytännössä, päätti käyttää elohopeatankkeihin perustuvaa muistia EDSAC-tietokoneessaan.

EDSAC-koneella ajettiin ensimmäinen ohjelma, joka laski kokonaislukujen neliötä, kesäkuun 6. päivänä vuonna 1949. EDSAC oli käytössä vuoteen 1958, jolloin se korvattiin seuraajallaan EDSAC 2:lla. EDSAC oli ensimmäinen talletettua ohjelmaa käyttävä tietokone ja näin ollen monien historioitsioiden mielestä ensimmäinen todellinen tietokone. Vaikka EDSAC perustuikin suurelta osin John Von Neumannin suunnitteleman EDVAC-koneen toimintaperiaatteisiin, EDSAC valmistui melkein kaksi vuotta ennen EDVAC-konetta. [WIL85]


Kuva 2: Lokimerkintä EDSAC:n ensimmäisestä ajosta
URL (tarkistettu 25.1.2001): http://www.cl.cam.ac.uk/UoCCL/misc/EDSAC99/

EDSAC oli kuuden jalan korkuinen ja se käytti 30 kilowattia sähkövirtaa. Ohjelmat painettiin reikäkorteille ja tulokset tulostuivat telekirjoittimelle. Kone suoritti noin 650 käskyä sekunnissa ja sen kellotaajuus oli 500 kHz. Kokonaislukujen neliöitä laskevan ensimmäisen ohjelman suoritus ennen tulosten tulostuksen alkamista kesti 30 sekuntia. Muistia oli 1024 17-bittistä sanaa. Lisäksi EDSAC:ssa oli 31 sanan kokoinen "käyttöjärjestelmä", eli sarja käskyjä, jotka suoritettiin koneen alustamiseksi. Järjestelmään lisättiin vuonna 1952 magneettinauhaasema varmuuskopiointia varten, mutta sitä ei koskaan saatu toimimaan kunnolla. [WWW2 WWW3]

EDSAC:ia käyttiin tieteelliseen laskentaan, kuten sääennusteisiin, genetiikkaan, teoreettisen kemian laskuihin ja molekyyli-biologiaan. Wilkes auttoi myös Lyons Computer-yritystä suunnittelemaan ja toteuttamaan EDSAC:iin läheisesti perustuvan LEO-tietokoneen, joka oli tarkoitettu toimistokäyttöön. Projekti onnistui hyvin ja LEO-tietokoneesta rakennettiin myös kaksi kehittyneempää mallia. [WIL85 WWW3]


Kuva 3: EDSAC, W.Rennes ja M.Wilkes
URL (tarkistettu 25.1.2001): http://www.cl.cam.ac.uk/Relics/jpegs/edsac_wilkes.jpg

EDSAC:n valmistumisen jälkeen Wilkes ryhmineen keskittyi ohjelmointitekniikoiden tutkimiseen, lähinnä EDSAC:ia käyttäen. Wilkes päätyi nopeasti johtopäätökseen, jonka mukaan ohjelmoinnissa on välttämätöntä käyttää apuna aliohjelmakirjastoja. Tässä yhteydessä myös EDSAC:in ohjelmoinnin helpottamiseksi sitä varten toteutettiin aliohjelmakirjasto, joka sisälti valmiita funktioita mm. yleisten laskutoimistusten suorittamiseen ja tulostuksen muotoiluun. Wilkes kirjoitti aiheesta myös kirjan ([WIL51]), joka julkaistiin vuonna 1951. [WIL85]

4.2 Mikro-ohjelmoitava ohjausyksikkö

Wilkes ei ollut tyytyväinen EDSAC:in ohjausyksikköön. Vaikka siitä oli yritetty tehdä mahdollisimman selkeä, sisälsi se hyvin monimutkaisia piirejä ja logiikkaa. Pohtiessaan ongelmaa Wilkes päätyi siihen, että tietokoneen ohjausyksikön tulisi itsessään olla pieni tietokone, jolla on oma käskykanta ja joka suorittaa omaa ohjelmaansa, mikrokoodia. [WIL85]

Wilkes esitteli ajatuksensa mikro-ohjelmoitavasta ohjausyksiköstä ensimmäisen kerran heinäkuussa 1951 Manchesterin yliopistossa pidetyssä konferenssissa. Käytetty muistiteknologia, esimerkiksi EDSAC:ssa käytetyt elohopeatankit, ei kuitenkaan tuolloin ollut vielä riittävän kehittynyttä mikro-ohjelmoitavan ohjausyksikön toteuttamiseen. Ensimmäinen tietokone, jossa mikro-ohjelmoitavaa ohjausyksikköä käytettiin, oli Wilkesin itsensä kehittämä EDSAC 2 vuonna 1958. Kaupallisissa tietokoneissa mikro-ohjelmoitavaa ohjausyksikköä alettiin käyttää vasta 60-luvulla. [WIL95]

4.3 EDSAC 2 ja välimuisti

Wilkes alkoi suunnittelemaan EDSAC 2:sta jo vuonna 1951. Tässä vaiheessa suurimpana ongelmana oli muistiteknologia: alkuperäisessä EDSAC:ssa käytetty elohopeatankkeihin perustuva tekniikka ei oli liian hidasta verrattuna suunnitellun laitteen muihin osiin. Wilkes kuitenkin jatkoi EDSAC 2:n kehitystä elohopeatankkimuistiin perustuen ajatellen, että muistiteknologian kehityttyä riittävästi koneen muisti voitaisiin vaihtaa. Ongelma ratkesi kuitenkin jo vuonna 1953, jolloin MIT:ssä (Massachusetts Institute of Technology) esiteltiin magneettisiin renkaisiin perustuva ferriittirengasmuisti. Tällä muistitekniikalla Wilkes pystyi toteuttamaan EDSAC 2:een suunnitelmiensa mukaan, joskin projekti myöhästyi jonkin verran, koska uusi muistitekniikka aiheutti muutoksia alkuperäisiin suunnitelmiin. EDSAC 2 otettiin käyttöön vuonna 1958 ja se korvasi alkuperäinsen EDSAC:n kokonaan 11. heinäkuuta samana vuonna. EDSAC 2 oli käytössä vuoteen 1965 asti. [WIL85]

Paremman muistiteknologian lisäksi EDSAC 2 oli kaikin puolin paranneltu versio alkuperäisestä EDSAC:stä. Se oli myös ensimmäinen tietokone, jossa oli mikro-ohjelmoitu ohjausyksikkö, joten sen toimintaa ohjasi mikrokoodi. Mikrokoodi oli toteutettu samalla tekniikalla, ferriittirenkailla, kuin keskusmuistikin. Muutenkin EDSAC 2:n tekniikka oli kehittyneempää kuin edellisen versionsa, joka oli toteutettu tyhjiöputkia ja elohopeatankkimuistia käyttäen. EDSAC 2:n ongelmaksi osoittautui myöhemmin liian pieni keskusmuisti. Alunperin EDSAC 2:ssa oli keskusmuistia 1024 sanaa, saman verran kuin edeltäjässäänkin, mutta muistin määrää lisättiin myöhemmin. [WIL85 WWW1]


Kuva 4: EDSAC 2
URL (tarkistettu 25.1.2001): http://www.cl.cam.ac.uk/Relics/jpegs/edsac99.15.jpg

EDSAC 2:n jälkeen Wilkes kiinnostui tietokoneiden etäkäytöstä tietoliikenneverkkojen avulla. Toinen hänen kiinnostuksensa kohde oli laitteistotuki moniajolle, erityisesti muistin suojaus laitteistotasolla monen käyttäjän järjestelmässä. Näiden aiheuden tutkimisen ohella Wilkes esitteli myös tietokoneiden kehitykselle hyvin tärkeäksi osoittautuneen periatteen, jota hän nimitti orjamuistiksi. Orjamuistin nimeksi vakiintui myöhemmin välimuisti. Wilkesin vuonna 1965 kirjoittama lyhyt artikkeli esitteli ensimmäisen kerran välimuistin periaatteen. [WIL95]

5 Myöhemmät vuodet

Tietokoneiden moniajoa alettiin tutkia ja toteuttaa 60-luvulla. Vuonna 1967 Wilkes julkaisi kirjan perustuen kokemuksiinsa MIT:n CTSS:n (Compatible Time-Sharing System) ja oman laboratorionsa Cambridge Multiple Access Systemin kanssa. Moniajon kehittäminen johti tietokonealan huomion kiinnittymiseen tietoturvallisuuteen, muistin suojaukseen ja moniajon tukemiseen laitteistotasolla.

Moniajon laitteistotason tukeen liittyen Wilkes aloitti Cambridgessa projektin, joka tutki muistin suojauksen toteuttamista laitteistotasolla. Projektin yhteydessä suunniteltiin kokeellinen laitteisto CAP Computer, jossa laitteistotason muistin suojaus oli toteuttu. Wilkes julkaisi projektin tuloksia käsittelevän teoksen ([WIL79]) vuonna 1979, mutta huolimatta aiheen laajasta tutkimisesta 70-luvulla, ei laitteistotason tuki moniajolle tullut tuolloin laajempaan käyttöön. [WIL95]

5.1 Cambridge Ring

EDSAC 2:n valmistumisen jälkeen Wilkes kiinnostui myös tietoliikenneverkoista. Tähän vaikutti epäilemättä hänen opiskeluvuotensa yliopistolla, jolloin hän tutki radioaaltojen käyttäytymistä ja palveluksensa armeijassa toisen maailman sodan aikana, jolloin hän työskenteli tutka-asemilla. Wilkes alkoi tutkia tietoliikennettä jo vuonna 1960, jolloin hän osallistui tiedonsiirtoa käsittelevään konferenssiin.

Vuonna 1974 Wilkes huomasi, että puolijohdeteknologia oli kehittynyt riittävästi laajakaistaisten paikallisverkkojen toiminnan toteuttamiseksi tietokonetekniikoin, kun ne oli aikaisemmin toteutettu puhelinliikenteessä käytetyin tekniikoin. Wilkes aloitti kokeellisen Cambridge Ring -verkon rakentamisen. Kokeilun tulokset julkaistiin vuonna 1975 ja niiden pohjalta kehitettiin vuonna 1980 valmistunut Cambride Model Distributed System -verkko. [WIL95]

Cambridge Ring -verkon siirtonopeus oli 10 megabittiä sekunnissa ja se oli aikaisempia toteutuksia luotettavampi ja helpompi ylläpitää. Cambridge Ring -verkon tulosten julkaisun jälkeen monet yritykset toteuttivat tietoliikenneverkkonsa esitetyin periaattein. Wilkesin kehittämästä verkkototeutuksesta tuli näin omana aikanaan laajalti käytetty tietoliikenneverkkomalli. Malli toimi myös useiden myöhempien tekniikkojen kehittämisen lähtökohtana. [WWW1]


Kuva 5: Cambridge Ring, kesä 1979
URL (tarkistettu 25.1.2001): http://www.cl.cam.ac.uk/Relics/archive_photos.html

5.2 Yliopistolta yritysmaailmaan

Wilkes jäi eläkkeelle Cambridgen yliopistolta vuonna 1980, jonka jälkeen hän siirtyi työskentelemään DEC:in (Digital Electronic Corporation) insinööriosastolle Yhdysvaltoihin, jossa hänestä tuli tutkimus- ja kehityskomitean puheenjohtaja. Hän toimi myös professorina MIT:ssä. Wilkes palasi Englantiin vuonna 1986 ja toimi sen jälkeen Olivetin tutkimusosaston johtokunnan jäsenenä ja myöhemmin Olivetin strategiakonsulttina. Wilkes kirjoitti myös kaksi kirjaa eläkkeelle jäämisensä jälkeen ([WIL85], [WIL95]).

6 Loppusanat

Wilkes on monessa suhteessa uraauurtava tietojenkäsittelyn pioneeri. Hänen tärkein saavutuksensa on EDSAC-tietokone, joka aloitti talletettua ohjelmaa käyttävien tietokoneiden aallon ja johti ohjelmoinnin ensiaskeleisiin ja ohjelmointitekniikkojen kehittämiseen, joihin Wilkes itsekin osallistui.

Wilkesin ideat mikro-ohjelmoitavasta ohjausyksiköstä ja välimuistista ovat myös osoittautuneet hyvin tärkeiksi periaatteiksi. Mikro-ohjelmointi on nykyisissäkin tietokoneissa laajalti käytössä langoitetun ratkaisun ohella. Välimuistia sen sijaan käytetään nykyään poikkeuksetta sen tehokkuuden vuoksi.

Wilkesin arvostusta tietojenkäsittelyn asiantuntijoiden keskuudessa kuvaavat hyvin hänen saamansa saamansa useat kunnianosoitukset, kuten Eckert-Mauchly -palkinto vuodelta 1980 ja Kyoto Prize -palkinto vuodelta 1992. Wilkes on myös Cambridgen yliopiston kunniatohtori vuodesta 1993 ja useiden tieteen ja tietojenkäsittelyn järjestöjen kunniajäsen.


Viitteet

WIL51Maurice V. Wilkes, David J. Wheeler, and Stanley Gill, The Preparation of Programs for an Electronic Digital Computer with special reference to the EDSAC and the use of a library of subroutines, Cambrigde, Massachusetts: Addison-Wesley Press, Inc. 1951; reprinted by Tomash Publishers and The MIT Press, 1982
WIL79Maurice V. Wilkes, Roger M. Needham, The Cambridge CAP computer and its operating system. (Operating and programming systems series ; 6), North-Holland, New York (NY) 1979
WIL85 Maurice V. Wilkes, Memoirs of a Computer Pioneer, The MIT Press 1985
WIL95 Maurice V. Wilkes, Computing Perspectives, Morgan Kaufmann Publishers, Inc. 1995
WWW1Tom Hillemeier, opiskelijaesitelmä, Kalamazoo College, URL (tarkistettu 25.1.2001): http://cc.kzoo.edu/~k98th01/MVwilkes.html
WWW2Sandi Poniatowski, opiskelijaesitelmä , Kalamazoo College, URL (tarkistettu 25.1.2001): http://cc.kzoo.edu/~k96sp02/EDSAC.html
WWW3EDSAC 99: Some EDSAC statistics, University of Cambridge Computer Laboratory 1999, URL (tarkistettu 26.1.2001): http://www.cl.cam.ac.uk/UoCCL/misc/EDSAC99/statistics.html

Lisätietoa

1Maurice Wilkesin kotisivu, URL (tarkistettu 25.1.2001): http://www.uk.research.att.com/~mvw/
2Wilkesin esitelmä "Predicting The Future" (ACM97), URL (tarkistettu 25.1.2001): http://www.research.microsoft.com/acm97/mw/
3EDSAC 99, EDSAC:n 50-vuotisjuhlatapahtuman (15.4.-16.4.1999) kotisivut (Cambrigen yliopisto), URL (tarkistettu 25.1.2001): http://www.cl.cam.ac.uk/UoCCL/misc/EDSAC99/