581305-6 Tietokoneen toiminta, 4 op, erilliskoe 17.8.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 -8 esitysmuoto jokaiselle.
    2. Miten liukulukuja talletetaan tietokoneessa? Mikä on IEEE:n liukulukustandardi? Miten liukuluku 2.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 esimerkki tilanteesta, jossa prosessi P siirtyy odotustilasta (waiting) johonkin toiseen tilaan. Erityisesti mainitse, kuka (mikä prosessi) aiheutti tilasiirtymän ja mitä järjestelmässä tapahtuu rekisteritasolla tämän tilanteen aikana?
       
  3. [9 p] Konekäskyjen suoritus. Miten konekäskyjä suoritetaan? Mikä on keskeytys ja miten keskeytykset toteutetaan konekäskyjen suoritustasolla?
     
  4. [9 p] Aliohjelmat ja funktiot. Aliohjelma Keskiarvo(Arr, n, ka) laskee parametrina annetusta n-alkioisesta taulukosta Arr keskiarvon, palauttaa sen ulostuloparametrin ka avulla. Keskiarvo() ei siis ole funktio! Esimerkiksi, jos parametrina olisi 4-alkioinen taulukko T={2, 4, 6, 8}, niin kutsun Keskiarvo(T, 4, m) paluun jälkeen muuttujan m arvo olisi 5. Parametri Arr on viiteparametri, n on kokonaislukuarvoinen arvoparametri ja ka on kokonaislukuarvoinen viiteparametri.
    1. Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla aliohjelmaa Keskiarvo() käyttäen lasketaan globaalille (pääohjelmatason) muuttujalle AverSalary arvoksi globaalilla tasolla määritellyn taulukon Salaries alkioiden keskiarvo, kun taulukon pituus on talletettu rekisteriin R4.
    2. Toteuta aliohjelma Keskiarvo.
    HUOM: Aliohjelmaa Keskiarvo() siis ei tarvitse esittää kohdassa a.
    Noudata suositusten mukaista aliohjelmien (funktioiden) toteutustapaa ja 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