in Finnish Other side in English

581305-6 Tietokoneen toiminta, 4 op, koe 3.5.2010   

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi ja nimikirjoitus, opiskelijanumero ja kurssin nimi. Kuhunkin tehtävään riittää noin yhden sivun vastaus.

  1. [10 p] Tiedon esitys.
    1. [6 p] Tavun sisältönä on bittiyhdistelmä 1111 0000. Mikä on tavun kokonaislukuarvo, jos kokonaislukujen esitysmuoto on
      1. etumerkkibitti erikseen
      2. kahden komplementti
      3. lisättynä 127:lla (Huomaa, että 127=27-1)
    2. [4 p] Nelitavuisen sanan sisältö on bittiyhdistelmä 0x40900000. Jos kyseinen sana tulkitaan IEEE:n 32 bitin liukulukustandardin mukaisesti, mitä on luvun desimaaliarvo?

  2. [10 p] Konekäskyjen suoritus.
    1. [6 p] Määrittele käsite "käskyjen suoritussykli". Mitkä ovat sen vaiheet ja mitä vaiheissa tapahtuu? Anna konkreettinen esimerkki, kun suoritusvuorossa on konekäsky "ADD R4, 4(R1)".
    2. [4 p] Oletetaan, että käskyn suoritusaikana tapahtuu jokin virhetilanne. Kuinka tämä havaitaan? Kuinka käyttöjärjestelmä saa kontrollin ja käsittelee virhetilanteen? Mitä sitten tapahtuu? Anna konkreettinen esimerkki, kun suoritusvuorossa on konekäsky "ADD R4, 4(R1)" ja yhteenlaskun tulos ei mahdukaan rekisteriin R4.

       
  3. [10 p] Java, JVM, tavukoodi
    1. [1 p] Minkälaisia rekistereitä JVM:ssä on ja miten niihin viitataan tavukodissa?
    2. [3 p] Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu tulkitsemalla?
    3. [3 p] Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu JIT:llä? Miten tämä suoritus eroaa tulkitsemisesta?
    4. [3 p] Mitä Java-ohjelmien suoritustapaa (tulkitseminen, kääntäminen, JIT-kääntäminen, Java- suoritin) ttk-91 ohjelmien suorittaminen Titokoneella eniten muistuttaa? Miksi? Miksi ei niiden muiden kohdalla?

       
  4. [10 p] Ttk-91, Titokone ja TitoTrainer. Aliohjelma SmaLrg(T, n, small, large) palauttaa parametrina annetun n-alkioisen taulukon T pienimmän ja suurimman alkioiden arvot ulostuloparametreissa small ja large. T, small ja large ovat viiteparametreja ja n on arvoparametri.
    1. [5 p] Toteuta ttk-91 symbolisella konekielellä aliohjelmakutsu SmaLrg(Salar, 300, min, max), kun Salar on pääohjelmatasolla määritelty 300-alkioinen taulukko ja min ja max ovat pääohjelmatasolla määriteltyjä muuttujia.
    2. [5 p] Toteuta ttk-91 symbolisella konekielellä aliohjelma SmaLrg().
    Noudata suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia.

TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL, DIV, MOD, AND, IR, XOR, SHL, SHR, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER, JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR, POPR, SVC