Tietokoneen toiminta, 2 ov, erilliskoe 17.8.2004

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

Kokeesta voi saada 60 pistettä.

Pyri vastaamaan kaikkiin kysymyksiin lyhyesti, mutta kokonaisilla lauseilla.

  1. [15 p] Konekäskyjen suoritus.
    1. [3 p] Miten konekäsky  "ADD  R5, T(R1)" esitetään muistissa?
    2. [6 p] Mitä suorittimella tapahtuu konekäskyä "ADD  R5, T(R1)" suoritettaessa käskyn suoritussyklin eri vaiheissa?
    3. [3 p] Määrittele käsite keskeytys (exception, interrupt). Minkä tyyppisiä keskeytyksiä on olemassa? Miten keskeytykset käsitellään suorittimella?
    4. [3 p] Mitä keskeytyksiä voi laitteistossa tapahtua konekäskyn "ADD  R5, T(R1)" suorituksen aikana?

  2.  
  3. [15 p] Tiedon esitys, lukujärjestelmät ja tiedon muuttumattomuus.
    1. [2 p] Mikä on desimaalijärjestelmän luvun 47 esitys binäärijärjestelmässä.
    2. [4p] Selitä millainen esitysmuoto on etumerkkibitti erikseen. Mitä haittoja tällä esitysmuodolla on?
    3. [4 p] Mitä desimaalilukuja vastaavat bittijonot 00010101 ja 10001010 kun kokonaislukujen esitysmuoto on
      1. etumerkkibitti erikseen
      2. kahden komplementti
    4. [5p] Oletetaan, että muistiin on talletettu 8-bittinen data 11000010 ja että se suojataan virheen korjaavalla Hamming-koodilla.
      1. [2 p] Kuinka monta ylimääräistä bittiä tarvitaan? Miten ne sijaitsevat? Mitkä ovat niiden arvot?
      2. [3 p] Miten Hamming-koodia käytetään korjaamaan tilanne, jossa kyseinen data on muuttunut dataksi 11001010 ja mikään Hamming-koodiin kuuluvista biteistä ei ole muuttunut

  4.  
  5. [15 p] Määrittele seuraavat käsitteet
    1. [3 p] prosessin kuvaaja
    2. [3 p] linkitys
    3. [3 p] etuoikeutettu tila
    4. [3 p] symbolitaulu
    5. [3 p] Java virtuaalikone (JVM)

     
  6. [15p] TTK-91: Funktioiden toteutus.
    1. [2 p] Anna muuttujien Pituus ja Paino määrittely pääohjelmatasolla siten, että muuttujalle Pituus tulee arvoksi 150 ja muuttujalle Paino arvoksi 55.
    2. [6 p] Tee proseduuri Kasvata (X,A), joka lisää X:n arvoon A:n arvon ja tallettaa arvon X:n arvoksi. Noudata suositusten mukaista aliohjelmien toteutustapaa ja kutsumekanismia. Parametri X on viiteparametri ja parametri A on arvoparametri.
    3. [5 p] Anna TKK-91 symbolisen konekielen käskyt, joilla proseduuria Kasvata käyttäen lisätään muuttujan Paino arvoa 20:llä ja sen jälkeen tulostetaan tuo lisätty muuttujan arvo. Tämän jälkeen lisätään muuttujan Pituus arvoa vielä muuttujan Paino arvon verran käyttäen samaa proseduuria.
    4. [2 p] Piirrä aktivointitietuepinon tilanne ennen proseduurin kutsua ja kutsun jälkeen proseduurin suorituksen aikana.

TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL, DIV, MOD, AND, OR, XOR, SHL, SHR, NOT, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER, JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR, POPR, SVC, IRET