581305-6 Tietokoneen toiminta, 2 ov, loppukoe 6.10.2000

  1. [12 p] Prosessin tilat
    1. Mitkä ovat mahdolliset prosessin tilat (5 kpl)?
    2. Milloin tilanvaihto tapahtuu? Käsittele kukin mahdollinen tilanvaihto erikseen.
    3. Mitä tilanvaihdon yhteydessä tapahtuu? Käsittele kukin mahdollinen tilanvaihto erikseen.

  2. [12 p] Keskeytykset (interrupt, trap, exception, ...)
    1. Anna neljä eri tyyppistä keskeytystä? Kerro, miten tyypit eroavat toisistaan.
    2. Miten keskeytys näkyy suoritusvuorossa olevalle ohjelmalle?
    3. Miten keskeytys näkyy suorittimelle (processor)?
    4. Miten keskeytys käsitellään?
    5. Miksi keskeytysten käsittely voidaan estää? Anna esimerkki.
    6. Miten keskeytysten ollessa estettynä tapahtuva keskeytys käsitellään?

  3. [12 p] Virheen korjaus
    1. Minkälaisia virheitä varten Hamming koodi on keksitty? Anna esimerkkejä Hamming koodin sovellusalueista.
    2. Anna esimerkki virheestä, joka voidaan korjata Hamming koodin avulla.
    3. Anna esimerkki virheestä, jota Hamming koodin avulla ei voida korjata.
    4. Anna esimerkki, josta käy ilmi, miten Hamming koodi korjaa virheen.

  4. [12 p] Java ohjelmien suoritus
    1. Millä eri tavoin (ainakin 3 kpl) Java ohjelmia voi suorittaa? Kuvaile kukin tapa lyhyesti sillä tarkkuudella, että erot muihin tapoihin tulevat selkeästi esille.
    2. Mikä näistä tavoista on nopein? Perustele.
    3. Mikä näistä tavoista on joustavin? Perustele.
    4. Mikä näistä tavoista on paras? Perustele.
    5. Mitä tarkoittaa käsite "JIT käännös"? Mihin edellä mainituista suoritustavoista se liittyy?

  5. [12 p] Oletetaan, että käytössä on (ttk-91 symbolisella konekielellä toteutettu) aliohjelma Statistics(Arr, N, Min, Ave, Max). Tällä aliohjelmalla on kaksi sisäänmenoparametria ja kolme ulostuloparametria. Sisäänmenoparametrit ovat kokonaislukuarvoinen taulukko Arr ja kyseisen taulukon alkioiden lukumäärä N. Ulostuloparametrit ovat Min, Ave, ja Max, joissa palautetaan taulukon Arr pienimmän alkion arvo (Min), alkioiden keskiarvo (Ave) ja suurimman alkion arvo (Max). Parametri N on arvoparametri ja muut parametrit ovat viiteparametreja. Aliohjelma on toteutettu käyttäen suositusten mukaista aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia.

    Aliohjelma Statistics oletetaan annetuksi - sinun ei tarvitse ohjelmoida sitä.

    Toteuta ttk-91 symbolisella konekielellä ohjelma, joka (ainakin)

    1. Varaa tilaa 100-alkioiselle taulukolle T (alkiot T[0] ... T[99]) ja kokonaislukuarvoisille muuttujille Tmin, Tave, Tmax.
    2. Alustaa taulukon T siten, että T[i] = 100 - i + i*i (i=0,...,99)
    3. Käyttää aliohjelmaa Statistics apunaan ja sijoittaa sen avulla lasketut arvot muuttujiin Tmin, Tave ja Tmax. Kyseisiksi arvoiksi tulevat siis taulukon T pienimmän alkion arvo (Tmin), taulukon T alkioiden keskiarvo (Tave) ja taulukon T suurimman alkion arvo (Tmax).


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