Tietojenkäsittelytiede 581305-6 Tietokoneen toiminta (2 ov) (Avoin yliopisto) /Liisa Marttinen Uusintakoe 8.9.2001 1. a)Muunna binäärijärjestelmän luvut 110111 ja 1100.011 desimaalijärjestelmän luvuiksi. (3 p) b)Muunna kymmenjärjestelmän luvut 0.625 ja 2.75 binäärijärjestelmän luvuiksi. (4 p) c)Suorita laskutoimitus 34 - 47 kahden komplementtimuodossa. (4 p) d)Esitä luku 47.875 bittitasolla IEEE:n yksinkertaisen tarkkuuden liukulukuna. (4 p) 2. a)Laadi funktio Suurin, joka etsii suurimman taulukkoon talletetuista luvuista. Taulukon osoite ja koko välitetään parametreina pinossa. Funktio palauttaa pinossa löytämänsä suurimman luvun ja sen indeksin eli missä taulukon alkiossa suurin luku on. (6 p) b)Laadi myös pääohjelma, joka kutsuu aliohjelmaa Suurin etsimään taulukkoon Taulu talletetun suurimman luvun ja sitten tulostaa näytölle tämän luvun ja sen sen indeksin. Taulukon Taulu koko on 100 alkiota. Voit olettaa, että taulukko on jo valmiina talletettuna muistiin. (6 p) c)Piirrä pinon rakenne kutsun jälkeen ennen aliohjelman ensimmäisen käskyn suoritusta sekä juuri ennen aliohjelmasta paluuta ja heti paluun jälkeen. (3 p) 3. Käytetään esimerkkinä tietokoneesta kurssilla esitettyä TTK-91-tietokonetta, jonka prosessorissa on rekisterit LIMIT, BASE, MAR, MBR, TR, IR, PC, SR, R0 - R5, SP ja FP. a)Kuvaa prosessorin rekistereiden tasolla, miten käsky noudetaan. (7 p) b) Esitä prosessorin rekisterien tasolla, kuinka suoritetaan käskyt: LOAD R2, =6(R1) MUL R2, R1 STORE R2, @R2 (6 p) c) Miten muistin sisältö muuttuu näiden käskyjen suorituksen jälkeen, kun rekisterissä R1 on aluksi 2? (2p) 4. Koneessa on käytössä virtuaalimuisti (virtual memory) ja sivun koko on 1024 tavua. a) Kun ohjelmassa on suoritettavana käsky LOAD R1, 2001, niin kuinka saadaan selville, mistä muistipaikasta data noudetaan? (5 p) b) Mitä hyötyä on osoitemuunnospuskurista TLB (Translation Lookaside Buffer) virtuaalimuistin yhteydessä? Vai onko siitä ylipäänsä mitään hyötyä? Mitä TLB:hen on talletettu? (5 p) c) Onko mahdollista, että ohjelman viittaamaa osoitetta ei löydy keskusmuistista? Miten ohjelmalle tällöin käy? (2 p) d) Miksi ja missä välimuistia (cache) käytetään? Onko siitä hyötyä myös virtuaalimuistia käytettäessä? (3 p) Tentin tulokset toimitetaan avoimen yliopiston kansliaan viimeistään 25.9.