581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 22.3.2005    

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimesi, henkilötunnus, kokeen tai kurssin nimi, nimikirjoitus ja sivunumero.
  1. [15 p] Määrittele seuraavat käsitteet
    1. [3 p] Hamming koodi
    2. [3 p] etuoikeutettu tila
    3. [3 p] aikaviipalekeskeytys
    4. [3 p] Epäsuora I/O
    5. [3 p] DMA (Direct Memory Access)

  2. [15 p] Tiedon esitys.
    1. [3 p] Mikä on desimaalijärjestelmän luvun 37 esitys heksadesimaalijärjestelmässä.
    2. [3 p] Selitä millainen esitysmuoto on kahden komplementti.
    3. [4 p] Anna 16-bittisten desimaalilukujen +34 ja -121 esitys koneessa, kun kokonaislukujen esitysmuoto on
      1. etumerkkibitti erikseen
      2. kahden komplementti
    4. [5 p] Selitä miten liukuluvut esitetään käyttäen IEEE:n 32 bitin standardia liukuluvuille ja anna havannollistava esimerkki.

  3. [15 p] Konekäskyjen suoritus.
    1. [5 p] Määrittele käsite "käskyjen suoritussykli". Mitkä ovat sen vaiheet? Piirrä kuva suoritussyklistä.
    2. [5 p] Kerro millainen on TTK-91 koneen käskyrakenne ja mitä tietoja mihinkin kenttään talletetaan. Anna konekäskyn "MUL R4, T(R2)" esitysmuoto muistissa käskyrakenteen mukaan kokonaislukuina (ei tarvitse muuttaa biteiksi), kun symbolitaulussa T:n arvo on 18. (Operaation MUL käskykoodi on 19).
    3. [5 p] Mitä suorittimella tapahtuu konekäskyä "MUL R4, T(R2)" suoritettaessa suoritussyklin eri vaiheissa?

  4. [15 p]  Ttk-91 koneen symbolinen konekieli. Kokonaislukuarvoiset muuttujat A, B, I ja J sekä kokonaislukuarvoinen taulukko T[30] on määritelty pääohjelmatasolla. Taulukossa on siis 30 alkiota (alkiot 0,...,29).
    1. [2 p] Anna muuttujien A, B, I ja J sekä taulukon T määrittely.
    2. [8 p] Tee funktio Lue(S, N, Ind, X), joka tarkistaa, että N-alkioisen taulukon S indeksi Ind on sallitulla välillä (eli ei pienempi kuin nolla eikä suurempi kuin N-1) ja tarkistuksen onnistuessa palauttaa viiteparametrissa X alkion S[Ind] arvon. Lisäksi funktio palauttaa arvon yksi, jos arvon haku onnistui ja arvon nolla, jos arvon haku epäonnistui (eli indeksi Ind ei ollut sallitulla välillä.) Parametrit S ja X ovat viiteparametreja ja parametrit N ja Ind ovat arvoparametreja.
    3. [5 p] Anna käskyt, joilla funktiota Lue käyttäen haetaan ensin (pääohjelmatasolla määritellyn) 30 alkioisen taulukon T alkion T[I] arvo muuttujaan A ja sen jälkeen funktiota Lue käyttäen haetaan alkion T[J] arvo muuttujaan B. Mikäli molemmat arvojen haut onnistuivat, niin laske muuttujien A ja B summa ja tulosta se.
    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