Tietojenkäsittelytiede Tietokoneen toiminta (Avoin yliopisto) Liisa Marttinen Uusintakuulustelu 7.9.2002 1.Lukuesityksiä ja muunnoksia. a.Mikä on desimaalijärjestelmän luvun 43.375 binääriesitys? (4 p) b.Mitä desimaalijärjestelmän lukua binääriluku 101010.1010 vastaa? (4 p) c.Mikä on luvun -75 esitys kahden komplementtimuodossa (two's complement) (4p) d.Mikä on desimaaliluvun 43.375 IEEE-liukulukustandardin mukainen esitys? (3 p) 2.Konekäskyjen suoritus. a.Mitä tarkoittaa käsite käskyn suoritussykli. Mitkä ovat sen vaiheet? Mitä näissä vaiheissa tapahtuu? (5 p) b.Mitä suorittimella tapahtuu konekäskyä "MUL R2, @400" suoritettaessa suoritussyklin eri vaiheissa? (5 p) c.Vertaile TTK-91-koneen konekieltä ja Java byte-koodia. Mitä eroja löytyy? Mikä on samanlaista? Entä, miten ne eroavat suoritusaikana? (5 p) 3.Oletetaan, että TTK-91 -koneelle on tehty käyttöjärjestelmä. Käyttöjärjestelmään kuuluu yhtenä osa-alueena prosessien hallinta. Oletetaan, että kellolaitekeskeytyksen takia ollaan päädytty tilanteeseen, jossa suoritusvuorossa olevaa prosessia vaihdetaan. a.Miten ja mihin aikaisemmin suorituksessa olleen prosessin tiedot talletetaan? Mitkä tiedot täytyy ottaa talteen? (5 p) b.Miten ja mistä uuden prosessin tiedot saadaan suorittimelle? Mistä käskystä uuden prosessin suoritus alkaa? Miten suoritusvuoro vaihtuu uudelle prosessille? (5 p) c.Mitä eri tiloja suorittimella voi olla? Mitä merkitystä suorittimen tilalla on ? Miten suorittimen tilan muuttuu kun kellokeskeytyksen aiheuttaessa prosessin vaihdon? Tarkastele tilannetta alkaen hetkeä ennen kellokeskeytystä aina siihen asti, kun uuden prosessin ensimmäinen käsky suoritetaan. (5 p) 4.Laadi TTK-91:n symbolisella konekielellä ohjelma, joka koostuu pääohjelmasta ja funktiosta KArvo. a.Funktio KArvo saa parametrikseen taulukon ensimmäisen muistipaikan osoitteen ja peräkkäisiin muistipaikkoihin tallennetun taulukon koon. Se palauttaa kutsujalle taulukon lukujen keskiarvon. Parametrit välitetään pinossa. (6 p) b.Pääohjelmassa varataan tilaa taulukolle 100 muistipaikkaa, luetaan näppäimistöltä taulukon koko (jonka pitää olla pienempi kuin 100), ja tämän jälkeen luetaan näppäimistöltä taulukon alkiot. Lopuksi tulostetaan funktion KArvo avulla laskettu lukujen keskiarvo. (6 p) c.Esitä pinon sisältö juuri ennen aliohjelmakutsua, aliohjelman aloittaessa, juuri ennen aliohjelmasta paluuta, heti paluun jäkeen ja juuri ennen pääohjelman lopetuskäskyä. (3 p) Onnea ja menestystä kokeeseen!