581305-6 Tietokoneen toiminta, 4 op, erilliskoe 13.6.2008   

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi ja nimikirjoitus, opiskelijanumero, kurssin nimi ja sivunumero.
(Jos et muista opiskelijanumeroa, käytä henkilötunnusta)
  1. [9 p] Tiedon esitysmuodot
    1. Nimeä neljä erilaista kokonaislukujen bittitason esitysmuotoa?
      Anna 8-bittinen luvun -5 esitysmuoto jokaiselle.
    2. Miten liukulukuja talletetaan tietokoneessa?
      Mikä on IEEE:n liukulukustandardi?
      Miten liukuluku -4.0 esitetään 32-bitin IEEE standardin mukaan?
    3. Mitä tarkoittaa tiedon talletuksen käsite "Little Endian"?
      Milloin sillä on merkitystä?
      Anna konkreettinen 32-bittinen esimerkki käyttäen muuttujan B arvoa 0x12345678.

     
  2. [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?

     
  3. [9 p] Java
    1. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu tulkitsemalla?
    2. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu kääntämällä?
      Miten tämä suoritus eroaa edellämainitusta tavasta (a)?
    3. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu JIT:llä?
      Miten tämä suoritus eroaa edellämainituista tavoista (a ja b)?
    4. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu Java-suorittimessa?
      Miten tämä suoritus eroaa edellämainituista tavoista (a, b ja c)?

     
  4. [9 p] Aliohjelma Subr( pX, A, B) muokkaa viiteparametrin pX osoittaman kokonaisluvun arvoparametrien A ja B arvojen erotukseksi. Esimerkiksi, kutsu Subr(k, k, i+7) vähentää muuttujan k arvosta luvun, jonka arvo on muuttujan i arvo plus 7.
    1. Toteuta ttk-91 symbolisella konekielellä aliohjelman Subr(...) kutsu, jonka avulla muuttujan i arvoksi tulee muuttujien j ja k arvojen erotus. Muuttujat i, j ja k on määritelty pääohjelmatasolla.
    2. Toteuta ttk-91 symbolisella konekielellä aliohjelman Subr() kutsu Subr(t[i], t[i], 5), jossa taulukko t[] ja muuttuja i on määritelty pääohjelmatasolla. Voit olettaa, että i:n arvo on sallituissa rajoissa.
    3. Toteuta ttk-91 symbolisella konekielellä aliohjelman Subr().

    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