581305-6 Tietokoneen toiminta, 2 ov, kurssikuulustelu 13.5.2002

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
kokeen tai kurssin nimi, nimikirjoitus ja sivunumero. Kirjoita jokaisen tehtävän vastaus omalle paperilleen.
  1. [12 p] Tiedon esitys ja lukujärjestelmät.
    1. [4 p] Anna Big Endian 16-bittisten desimaalilukujen +43 ja -17 esitys koneessa, kun kokonaislukujen esitysmuoto on
      1. etumerkkibitti erikseen
      2. kahden komplementti
      3. yhden komplementti
      4. lisättynä 32767:lla (32767=215-1)
    2. [1 p] Mikä on desimaalijärjestelmän luvun 125 esitys heksadesimaalijärjestelmässä.
    3. [1 p] Mikä on desimaalijärjestelmän luvun 125 esitys oktaalijärjestelmässä.
    4. [2 p] Mikä on desimaalijärjestelmän luvun 88.375 binääriesitys
    5. [2 p] Selitä miten liukuluvut esitetään käyttäen IEEE:n 32 bitin standardia liukuluvuille.
    6. [2 p] Anna desimaaliluvun 71.625 IEEE:n liukustandardin mukainen esitys.

  2. [12 p] Suoritin ja prosessi (processor and process)
    1. [3 p] Piirrä suorittimen suoritusaikaisista tiloista (processor state) tilakaavio. Kerro tilojen nimet ja piirrä niiden väliset tilasiirtymät.
    2. [3 p] Miten ja milloin suorittimen tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen esimerkkitapahtuman avulla.
    3. [3 p] Piirrä prosessin suoritusaikaisista tiloista (process state) tilakaavio. Kerro tilojen nimet ja piirrä niiden väliset tilasiirtymät.
    4. [3 p] Miten ja milloin prosessin tila muuttuu? Käsittele kukin mahdollinen tilasiirtymä erikseen esimerkkitapahtuman avulla.

  3. [12 p] Konekäskyjen suoritus.
    1. [2 p] Määrittele käsite käskyjen suoritussykli. Mitkä ovat sen vaiheet? Piirrä kuva suoritussyklistä.
    2. [4 p] Mitä suorittimella tapahtuu konekäskyä "SUB  R4, @300" suoritettaessa suoritussyklin eri vaiheissa?
    3. [6 p] Vertaile Ttk91-koneen konekieltä ja Java byte-koodia. Mitä eroja löytyy? Mikä on samanlaista? Entä suoritusaikana?

  4. [12 p]  Ttk-91 koneen konekieli. Kokonaislukuarvoinen taulukko T[40] on määritelty pääohjelmatasolla. Taulukossa on siis 40 alkiota (alkiot 0,...,39).
    1. [1 p] Anna taulukon T määrittely.
    2. [5 p] Tee funktio Laske(S, N), joka palauttaa arvonaan N-alkioisen taulukon S positiivisten alkioiden lukumäärän. Noudata suositusten mukaista aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia. Parametri S on viiteparametri ja parametri N on arvoparametri.
    3. [4 p] Anna ttk-91 symbolisen konekielen konekäskyt, joilla em. funktiota käyttäen tulostetaan (muualla, pääohjelmatasolla määritellyn) 40 alkioisen taulukon T positiivisten alkioiden lukumäärä. Noudata suositusten mukaista aliohjelmien kutsumekanismia. Parametri S on viiteparametri ja parametri N on arvoparametri.
    4. [2 p] Miten funktiota Laske tulisi muuttaa, jos se palauttaisikin taulukon S positiivisten alkioiden lukumäärän sijaan taulukon S parittomien alkioiden lukumäärän.
    5. Bonus kysymys [2 p]: Piirrä aktivointiotietuepino kohdan b) aliohjelman kutsun jälkeen ja juuri ennen aliohjelmasta paluuta

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