581305-6 Tietokoneen toiminta, 30.3.2010   

Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi ja nimikirjoitus, opiskelijanumero ja kurssin nimi.
Kuhunkin tehtävään riittää 1-2 sivun vastaus.

  1. [9 p] Tiedon esitysmuodot
    1. Nimeä neljä erilaista kokonaislukujen bittitason esitysmuotoa? Anna 8-bittinen luvun -35 esitysmuoto jokaiselle.
    2. Miten merkkijonot talletetaan muistiin? Miten merkkijonoja voi käsitellä laitteistolla, jos siinä ei ole erityisiä merkkijonojen käsittelykäskyjä?
    3. Mitä tarkoittavat käsitteet "Little Endian" ja "Big Endian"? Milloin niillä on merkitystä? Anna konkreettinen 32-bittinen esimerkki käyttäen kokonaislukua 0x11BB33DD (heksadesimaaliesitys)

     
     
  2. [9 p] Ohjelman suoritus järjestelmässä.
    1. Mikä on konekäskyjen suoritussykli?
    2. Mitä tarkoittaa käsite keskeytys (interrupt, exception) ja minkä tyyppisiä keskeytyksiä on olemassa?
    3. Miten keskeytykset on toteutettu laitteisto- ja ohjelmistotasolla?
    4. [3 p] Mitä tarkoittaa käsite etuoikeutettu (priviledged, supervisor) suoritustila ja miten se on toteutettu laitteistotasolla?

     
  3. [9 p] Prosessi (process).
    1. Mikä on prosessi? Mikä on sen esitysmuoto käyttöjärjestelmässä? Minkälaisia eri tiloja prosessilla voi olla sen elinaikana järjestelmässä?
    2. [5 p] Oletetaan, että prosessi P haluaa kirjoittaa jonkin muistialueen M levylle. Olkoon IOstart se hetki, kun P aloittaa levylle kirjoittamis -operaation, ja IOend se hetki, kun M on kirjoitettu levylle ja P jatkaa suoritusta. Mitä prosesseja tähän toimintaan osallistuu? Mitä tilasiirtymiä (milloin ja miksi) nämä prosessit käyvät läpi ajanhetkestä IOstart ajanhetkeen IOend.

     
  4. [9 p] Aliohjelmien toteutus ja käyttö
    1. [2 p] Mikä on aktivointitietue (activation record), mihin sitä käytetään ja mitä tietoja se sisältää?
    2. [2 p] Mikä on aktivointitietuepino (activation record stack), mihin sitä käytetään ja mitä tietoja se sisältää?
    3. [5 p] Aliohjelma mysub(x, y, z) tekee jotain. Parametrit x ja y ovat arvoparametreja ja z on ulostuloparametri. Aliohjelmassa mysub on kaksi paikallista muuttujaa: m ja n. Näytä esimerkinomaisesti kuinka aliohjelman mysub() kutsu toteutetaan ja kuinka aliohjelmassa mysub() viitataan parametreihin, x, y ja z ja paikallisiin muuttujiin m ja n.

    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