in English Other side in English

581305-6 Tietokoneen toiminta, 4 op, erilliskoe 6.11.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 -10 esitysmuoto jokaiselle.
    2. Miten liukulukuja talletetaan tietokoneessa? Mikä on IEEE:n liukulukustandardi? Miten liukuluku 0.5 esitetään 32-bitin IEEE standardin mukaan?
    3. Mitä tarkoittavat tiedon esitysmuodot "Little Endian" ja "Big Endian"? Anna konkreettinen 32-bittinen esimerkki lukua 0x56789ABC (hexadesimaali) käyttäen.
       
  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 käytännön esimerkki tilanteesta, jossa prosessi P siirtyy "suorituksessa" tilasta johonkin toiseen tilaan. Erityisesti mainitse, mikä tapahtuma aiheutti tilasiirtymän ja mitä järjestelmässä tapahtuu rekisteritasolla tämän tapahtuman seurauksena?
       
  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[5,3] on 2-ulotteinen kokonaislukuarvoinen taulukko, jossa on siis 5 riviä (rivit 0-4) ja 3 saraketta (sarakkeet 0-2). 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[2, 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[2, 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 alkio 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