in English Other side in English

Tietokoneen toiminta, kurssikuulustelu 27.4.2009   

Kirjoita jokaiseen vastauspaperiin: nimi ja nimikirjoitus, opiskelijanumero, kurssin nimi ja sivunumero.
  1. [9 p] Konekäskyjen suoritus.
    1. Milloin ja miten keskeytyskäsittelijään siirtyminen tapahtuu käytännössä? Anna konekäskytason esimerkki.
    2. Milloin ja miten keskeytyskäsittelijästä palataan keskeytyneen ohjelman suorittamiseen? Anna konekäskytason esimerkki.
    3. Mitä tarkoittaa käsite suorittimen etuoikeutettu suoritustila? Mihin sitä tarvitaan?
    4. Milloin ja miten suorittimen suoritustila vaihtuu tavallisesta etuoikeutettuun? Milloin ja miten suorittimen suoritustila vaihtuu etuoikeutetusta tavalliseen? Anna konekäskytason esimerkit.

     
  2. [9 p] Tiedon esitysmuodot ja tiedon muuttumattomuuden tarkistus. Kokonaisluku -5 on talletettu muistiin tavuosoitteeseen 0x1230 ja liukuluku 4.50 on talletettu muistiosoitteeseen 0x1234.
    1. Mikä on tavujen 0x1230-0x1233 sisältö, kun luvun -5 esitysmuotona on 32-bittinen Big-Endian kahden komplementti?
    2. Mikä on tavujen 0x1230-0x1233 sisältö, kun luvun -5 esitysmuotona on 32-bittinen Little-Endian kahden komplementti?
    3. Mikä on tavujen 0x1234-0x1237 sisältö, kun luvun 4.5 esitysmuotona on 32-bittinen Big-Endian IEEE:n liukukustandardi?
    4. Näytä, miten virheenkorjaava Hamming koodi havaitsee ja korjaa yhden bitin virheen 7-bittisessä data-alkiossa "001 0100". Data-alkiossa on 4 bittiä varsinaista dataa ja 3 pariteettibittiä. Bitit on numeroitu oikealta vasemmalle ja pariteettibitit noudattavat parillista pariteettia. Mikä bitti oli väärin ja kuinka se korjattiin?

    1.  
  3. [9 p] Ohjelman suoritus
    1. Mikä on prosessi ja mikä on sen esitysmuoto järjestelmässä?
    2. Mitä järjestelmässä tapahtuu konekäskytasolla prosessin vaihdon yhteydessä? Käytä esimerkkinä tilannetta, jossa suorituksessa oleva prosessi P joutuu odottamaan I/O:n päättymistä ja seuraavaksi suoritetaan prosessia Q.
    3. Milloin ja miten b-kohdan tapauksessa prosessi P pääsee taas takaisin suoritukseen? Miten taataan, että P:n suoritus jatkuu juuri oikeasta kohdasta ja että P:n suoritusympäristö on juuri samanlainen kuin mitä se oli P:n suorituksen keskeytyessä aikaisemmin?

     
  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, y ja z on määritelty pääohjelmatasolla. 10-alkioinen taulukko T ja muuttuja i on määritelty pääohjelmatasolla.
    1. Toteuta ttk-91 symbolisella konekielellä (funktiota F kutsumalla) lauseke X = F(x, y, 20).
    2. Toteuta ttk-91 symbolisella konekielellä funktio F.
    3. Toteuta ttk-91 symbolisella konekielellä käskysarja, joka tulostaa taulukon T alkion T[i] arvon ja osoitteen. Voit olettaa, että i:n arvo on välillä 0-9.

    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