581305-6 Tietokoneen toiminta, 4 op, koe 30.3.2012   

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

  1. [9 p] IEEE standardin mukaiset 32 bitin liukuluvut.
    1. [1 p] Miten liukuluvut eroavat realiluvuista?
    2. [3 p] Mikä on IEEE standardin mukainen liukulukujen esitystapa?
      Mitä tarkoittaa esitysmuodon normalisointi? Mitä hyötyä siitä on ja milloin sitä käytetään?
    3. [3 p] Mitkä ovat lukujen 1.0, -0.25 ja 16.0 IEEE standardin mukaiset esitysmuodot?
    4. [2 p] Liukuluku voidaan tallettaa Little-Endian tai Big-Endian talletusmuodossa. Selitä, miten nämä eroavat toisistaan. Anna joku konkreettinen esimerkki (esimerkiksi luvulla 1.0).
       


  2. [9 p] Keskeytykset
    1. [1 p] Määrittele käsite "keskeytys". Mitä yllättävää keskeytyksissä voi olla?
    2. [4 p] Minkälaisia oleellisesti erilaisia keskeytystyyppejä on olemassa? Anna ainakin 6 erilaista keskeytystä ja kerro mihin keskeytystyyppiluokkaan ne kuuluvat. Anna kuhunkin keskeytystyyppiluokkaan ainakin yksi esimerkki.
    3. [2 p] Miten laitteisto käsittelee keskeytykset? Anna täsmällinen käskyjen suoritussyklitason esimerkki.
    4. [2 p] Miten käyttöjärjestelmä käsittelee keskeytykset? Anna täsmällinen esimerkki.


     
  3. [9 p] Ohjelma ja sen suoritus.
    1. [2 p] Miten tekstimuotoisesta (esim. Java tai C) ohjelmasta saadaan järjestelmässä suorittava ohjelma?
    2. [3 p] Mikä on prosessi ja mikä on sen esitysmuoto järjestelmässä?
    3. [2 p] Mitkä ovat järjestelmässä olevan prosessin elinkaaritilat ja niiden merkitykset?
    4. [2 p] Mikä on etuoikeutettu (privileged) prosessi, miten ne eroavat tavallisista (user) prosesseista ja miksi niitä tarvitaan?


     
  4. [9 p] Titokone, TitoTrainer ja ttk-91. Funktio F(a, b, c) palauttaa arvonaan lausekkeen 7a+5b-324c+321 arvon. Esimerkiksi lausekkeen x = F(1,2,0) suorituksen jälkeen muuttujan x arvo on 338. Parametrit a ja c ovat arvoparametreja ja parametri b on viiteparametri. Muuttujat x ja y on määritelty pääohjelmatasolla.
    1. [3 p] Toteuta ttk-91 symbolisella konekielellä (funktiota F kutsumalla) lauseke x = F(x, y, y).
    2. [3 p] Toteuta ttk-91 symbolisella konekielellä (funktiota F kutsumalla) lauseke x = F(x+5, y-1, 20).
    3. [3 p] Toteuta ttk-91 symbolisella konekielellä funktio F.
       
    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