in English Other side in English

581305-6 Tietokoneen toiminta, 4 op, erilliskoe 2.2.2007   

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi ja nimikirjoitus, henkilötunnus tai opiskelijanumero, kurssin nimi ja sivunumero.
  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 1.0 esitetään 32-bitin IEEE standardin mukaan?
    3. Mitä tarkoittaa käsite "Little Endian" talletusmuoto? Milloin sillä on merkitystä? Anna konkreettinen 32-bittinen esimerkki.
       
  2. [9 p] Prosessi (process).
    1. Mikä on prosessi? Mikä on sen esitysmuoto käyttöjärjestelmässä?
    2. Piirrä prosessin suoritusaikaisista tiloista (process state) 5-tilainen tilakaavio. Kerro tilojen nimet. Piirrä ja selitä niiden väliset tilasiirtymät.
    3. Anna luonteeltaan kaksi (2) erilaista esimerkkiä tilanteesta, jossa prosessi P siirtyy "suorituksessa" tilasta johonkin toiseen tilaan. Erityisesti mainitse, kuka (mikä prosessi) aiheutti tilasiirtymän ja mitä tilanmuutoksessa tapahtuu järjestelmässä kunkin tilanteen aikana?
       
  3. [9 p] Java
    1. Miksi Java-ohjelman yleinen esitysmuoto systeemissä on tavukoodi (Java bytecode), eikä korkean tason kieli (Java)?
    2. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu tulkitsemalla?
    3. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu kääntämällä? Miten tämä suoritus eroaa edellämainitusta tavasta?
    4. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu Java-suorittimessa? Miten tämä suoritus eroaa edellämainituista tavoista?
    5. Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu JIT:llä? Miten tämä suoritus eroaa edellämainituista tavoista?

     
  4. [9 p] Taulukot ja aliohjelmat. TW[3,5] on 2-ulotteinen kokonaislukuarvoinen taulukko, jossa on siis 3 riviä (rivit 0-2) ja 5 saraketta (sarakkeet 0-4). Kokonaislukuarvoiset muuttujat i ja j on määritelty pääohjelmatasolla. Oletetaan aluksi, että TW on talletettu normaaliin tapaan riveittäin.

    Oletetaan myös, että meillä on valmiiksi määritelty ja toteutettu aliohjelma MinMax(T, n, m, min, max), joka palauttaa parametrina annetun 2-ulotteisen taulukon T[n, m] minimi- ja maksimiarvot ulostuloparametreissa min ja max. Parametritaulukossa T on siis n riviä ja m saraketta. Parametrit n ja m ovat arvoparametreja ja kaikki muut parametrit ovat viiteparametreja. Aliohjelmaa MinMax ei siis tarvitse toteuttaa, vaan se on valmiiksi annettu!
    1. Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla tulostetaan taulukon TW alkion TW[i, j] arvo.
    2. Oletetaan nyt, että taulukko TW onkin talletettu sarakettain. Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla tulostetaan taulukon TW alkion TW[i, j] arvo.
    3. Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla aliohjelmaa MinMax käyttäen etsitään ja tulostetaan taulukon TW pienimmän ja suurimman alkion arvot.

    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