Tietokoneen toiminta, 2 ov
Helsingin yliopisto, Avoin yliopisto, kurssikuulustelu 7.9.2001

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
kurssin nimi, nimikirjoitus ja sivunumero.
  1. [12 p] Prosessi (process).
    1. [2 p] Mikä on prosessin esitysmuoto järjestelmässä?
    2. [2 p] Mitkä ovat prosessin suoritusaikaiset tilat (state)?
    3. [2 p] Miten prosessin tila näkyy käyttöjärjestelmälle (operating system)?
    4. [2 p] Miten prosessin tila näkyy prosessille itselleen?
    5. [4 p] Miten ja milloin prosessin tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen. Kerro kustakin tilasiirtymästä esimerkkitapahtuma, joka voisi aiheuttaa kyseisen tilasiirtymän.


  2. [12 p] Konekäskyjen suoritus.
    1. [2 p] Millä tavoin suoritin (processor) suorittaa konekäskyn?
    2. [2 p] Miten suoritin tietää, mikä konekäsky on kulloinkin suoritusvuorossa?
    3. [3 p] Mitä ovat keskeytykset (exception, interrupt) ja minkä tyyppisiä keskeytyksiä on olemassa?
    4. [2 p] Miten keskeytykset käsitellään suorittimella?
    5. [3 p] Mitä tarkoittaa käsite "etuoikeutettu tila" (supervisor state, priviledged state) ja miten se vaikuttaa käskyjen suoritukseen?


  3. [12 p] Tiedon muuttumattomuuden valvonta.
    1. [4 p] Mitä tarkoittaa käsite pariteettibitti? Anna esimerkki, jossa käytetään paritettibittiä tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa pariteettibitin käyttö ei ole riittävä (mutta Hamming-koodin käyttö olisi riittävä). Perustele molemmat esimerkkisi.
    2. [4 p] Mitä tarkoittaa käsite Hamming-koodi? Anna esimerkki, jossa käytetään Hamming-koodia tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa Hamming-koodin käyttö ei ole riittävä (mutta CRC:n käyttö olisi riittävä). Perustele molemmat esimerkkisi.
    3. [4 p] Mitä tarkoittaa käsite CRC (Cyclic Redundancy Code)? Anna esimerkki, jossa käytetään CRC:tä tiedon muuttumattomuuden valvonnassa. Anna myös esimerkki tiedon muuttumattomuuden valvontaan liittyvästä tilanteesta, jossa CRC:n käyttö ei ole riittävä. Perustele molemmat esimerkkisi.
  4.  

  5. [12 p]  Ttk-91 koneen (symbolinen) konekieli. Kokonaislukuarvoinen funktio Help(A,B,C) palauttaa arvonaan lausekkeen A+2B+3C arvon. Esimerkiksi kutsu Help(3,2,1) palauttaa siis arvon 10. Kaikki kolme parametria ovat arvoparametreja.
    1. [4 p] Anna ttk-91 koneen symbolisen konekielen konekäskyt, joilla k.o. funktiota käyttäen lasketaan ja tulostetaan arvo Help(321, 987, 1234567).
    2. [3 p] Anna ttk-91 koneen symbolisen konekielen konekäskyt, joilla k.o. funktiota käyttäen (kolmella kutsukerralla) lasketaan ja tulostetaan arvo Help(4, Help(5,6,7), Help(1,2,3)).
    3. [5 p] Anna funktion Help(A,B,C) ttk-91 koneen symbolisella konekielellä tehty toteutus.
    Noudata luennolla esitettyjen 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