Tietokoneen toiminta, 4 op (2 ov)             Kurssikuulustelu 16.10.2006 

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi, opiskelijanumero (tai henkilötunnus),
  kurssin nimi, nimikirjoitus ja sivunumero.

Kurssin tulokset tulevat näkyville verkkoon kurssin kotisivulle linkitettynä heti arvostelun valmistuttua. Muista antaa kurssipalaute jossakin vaiheessa. Kiitos.

  1. [15 p] Tiedon esitysmuodot
    1. [2 p] Anna desimaaliluvut +26 ja -26 8-bittisessä 2-komplementin heksadesimaaliesitysmuodossa
    2. [2 p] Anna desimaaliluvut +26 ja -26 8-bittisessä etumerkkibitin sisältävässä heksadesimaaliesitysmuodossa
    3. [2 p] Anna desimaaliluvut +26 ja -26 8-bittisessä 127-vakiolisäyksen heksadesimaaliesitysmuodossa
    4. [3 p] Mitä desimaalilukua 32-bittinen IEEE:n standardin mukainen bittiesitys 0xC1600000 tarkoittaa?
      (0x-etuliite tarkoittaa siis, että kyseessä on heksadesimaaliesitys)
    5. [3 p] Anna konkreettinen liukulukuesimerkki tilanteesta jossa X+Y = X, kun Y > 0. Perustele.
    6. [3 p] Oletetaan, että muistipaikkaan 0x124 (tavuosoite) on talletettu 0x12345 nelitavuisena kokonaislukuna. Anna muistipaikan 0x124 sisältö (i) Little Endian ja (ii) Big Endian talletusmuodossa. Selitä myös sanallisesti ero Big Endian ja Little Endian talletusmuotojen välillä.

     
  2. [15 p] Konekäskyjen suoritus. Miten konekäskyjä suoritetaan?
     
  3. [15 p] Aikaviipalekeskeytys (time slice interrupt). Mikä se on? Milloin se tapahtuu? Kuka sen tekee? Kuka sen havaitsee ja milloin? Mitä järjestelmässä tapahtuu, kun prosessi P on suorituksessa ja tulee aikaviipalekeskeytys. Mainitse erityisesti prosessien tilasiirtymät ja selosta täsmällisesti, mitä tilasiirtymissä tapahtuu ja miten tilasiirtymät on toteutettu.
     
  4. [15 p]  Aliohjelmat ja funktiot. Aliohjelma Keskiarvo(Arr, n, ka) laskee parametrina annetusta n-alkioisesta taulukosta Arr keskiarvon, palauttaa sen ulostuloparametrin ka avulla. Keskiarvo() ei siis ole funktio! Esimerkiksi, jos parametrina olisi 4-alkioinen taulukko {2, 4, 6, 8}, niin kyseinen aliohjelma palauttaisi ulostuloparametrin arvona luvun 5. Parametri Arr on viiteparametri, n on kokonaislukuarvoinen arvoparametri ja ka on kokonaislukuarvoinen viiteparametri.
    1. Anna ttk-91 koneen symbolisella konekielellä käskyt, joilla aliohjelmaa Keskiarvo() käyttäen lasketaan globaalille (pääohjelmatason) muuttujalle AverSalary arvoksi globaalilla tasolla määritellyn 200-alkioisen taulukon Salaries alkioiden keskiarvo.
    2. Toteuta aliohjelma Keskiarvo.
    HUOM: Aliohjelmaa Keskiarvo() siis ei tarvitse esittää kohdassa a.
    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, OR, XOR, SHL, SHR, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER, JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR, POPR, SVC