in Finnish Other side in English

581305-6 Tietokoneen toiminta, 4 op, erilliskoe 17.4.2009   

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

  1. [9 p] Ohjelma, suoritin ja järjestelmä.
    1. Missä muodossa suoritin näkee suorituksessa olevan ohjelman?
    2. Miten suoritin suorittaa suoritusvuorossa olevaa ohjelmaa?
    3. Missä muodossa käyttöjärjestelmä näkee järjestelmässä olevan ohjelman?
    4. Miten käyttöjärjestelmä suorittaa suoritusvuorossa olevaa ohjelmaa?
       
  2. [9 p] Suorittimen etuoikeutettu suoritustila (privileged execution mode).
    1. Mikä on (suorittimen) etuoikeutettu suoritustila? Mihin sitä tarvitaan?
    2. Miten etuoikeutettu suoritustila eroaa tavallisesta (user mode) suoritustilasta? Anna kaksi konekäskytason esimerkkiä.
    3. Milloin ja miten suoritustila vaihtuu tavallisesta etuoikeutettuun?
    4. Milloin ja miten suoritustila vaihtuu etuoikeutetusta tavalliseen?
       
  3. [9 p] Java
    1. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu tulkitsemalla? Mitä prosesseja on suorituksessa ja milloin?
    2. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu kääntämällä? Miten tämä suoritus eroaa edellämainitusta tavasta? Mitä prosesseja on suorituksessa ja milloin?
    3. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu Java-suorittimessa? Miten tämä suoritus eroaa edellämainituista tavoista? Mitä prosesseja on suorituksessa ja milloin?
    4. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu JIT:llä? Miten tämä suoritus eroaa edellämainituista tavoista? Mitä prosesseja on suorituksessa ja milloin?
       
  4. [9 p] Ttk-91, Titokone ja TitoTrainer. Kaksi-ulotteinen taulukko t[7][8] on määritelty pääohjelmatasolla. Taulukossa t on siis 7 riviä (rivit 0-6) ja 8 saraketta (sarakkeet 0-7). Taulukko t on talletettu riveittäin. Muuttujat i, j ja x on määritelty pääohjelmatasolla. Voit olettaa, että i:n arvo on välillä 0-6 ja j:n arvo on välillä 0-7.
    1. Toteuta ttk-91 symbolisella konekielellä sijoituslauseke x = t[5][3].
    2. Toteuta ttk-91 symbolisella konekielellä sijoituslauseke x = t[i][j].
    3. Oletetaan nyt, että taulukko t on talletettu sarakettain. Toteuta ttk-91 symbolisella konekielellä sijoituslauseke x = t[i][j].

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