Tietojenkäsittelytiede (Avoin yliopisto) Tietokoneen toiminta (2 ov) Kuulustelija: Liisa Marttinen Uusintakuulustelu 4.10.2003 1. Olet kirjoittanut isohkon, useasta ohjelmamoduulista koostuvan ohjelman jollakin yleisesti käytetyllä ohjelmointikielellä, esim. C-kielellä, Javalla tai Pascalilla ja tallettanut sen tietokoneesi muistiin. Jotta ohjelmasi voidaan suorittaa, se pitää muuttaa tietokoneen ymmärtämään muotoon. Minkä vaiheiden kautta ohjelmastasi saadaan suorituskelpoinen ohjelma? Selvitä, mitä kussakin vaiheessa tapahtuu? Poikkeaako Javalla kirjoitetun ohjelman käsittely esimerkiksi C-kielellä kirjoitetun ohjelman käsittelystä? 2.Tiedon esitys ja muuttumattomuus a) Muuta kymmenjärjestelmän luku 3.625 binäärijärjestelmän luvuksi ja binäärijärjestelmän luku 11001.011 desimaaliluvuksi. (4 p) b) Millainen esitysmuoto on kahden komplementti? Mitä etuja tällä esitysmuodolla on? (4 p) c) Mikä on Hamming-koodi? Mihin sitä käytetään? Anna esimerkki Hamming-koodin käytöstä.(6 p) d) Mitä tarkoittavat 'big endian' ja 'little endian'? (1 p) 3.Prosessin ja suorittimen tilat a) Piirrä kaavio, jossa on esitetty prosessin tilat ja siirtymät tilojen välillä. Selvitä myös syyt siirtymiin. b) Mitkä ovat suorittimen suoritusaikaiset tilat ja miten ne eroavat toisistaan? Mitkä seikat aiheuttavat suorittimen tilanvaihdot? 4.Konekielistä ohjelmointia a) Laadi funktio Summaa, joka laskee taulukkoon talletettujen lukujen summan. Taulukon osoite ja koko välitetään parametreina pinossa. Funktio palauttaa laskemansa summan pinossa. (6 p) b) Laadi myös pääohjelma, joka kutsuu aliohjelma Summaa laskemaan taulukkoon Taulu talletettujen lukujen summan. Summan saatuaan pääohjelma tulostaa näytölle taulukon lukujen keskiarvon. Taulukon Taulu koko on 100 alkiota ja voit olettaa, että luvut on jo valmiiksi talletettu tähän taulukkoon. (6 p) c) Piirrä pinon rakenne heti kutsun jälkeen ennen aliohjelman ensimmäisen käskyn suoritusta, juuri ennen aliohjelman viimeistä käskyä sekä heti aliohjelman viimeisen käskyn suorituksen jälkeen. (3 p) Tentin tulokset toimitetaan avoimen yliopiston kansliaan viimeistään 21.10.2003