581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 20.8.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. [15 p] Määrittele seuraavat käsitteet
    1. [2 p] pariteettibitti
    2. [2 p] etuoikeutettu tila
    3. [2 p] aikaviipalekeskeytys
    4. [2 p] aktivointitietue
    5. [2 p] aktivointietuepino
    6. [2 p] symbolitaulu
    7. [3 p] prosessin kuvaaja

  2. [15 p] Tiedon esitys ja lukujärjestelmät.
    1. [4p] Selitä millainen esitysmuoto on kahden komplementti. Mitä etuja tällä esitysmuodolla on?
    2. [4 p] Anna Big Endian 16-bittisten desimaalilukujen +11 ja -21 esitys koneessa, kun kokonaislukujen esitysmuoto on
      1. etumerkkibitti erikseen
      2. kahden komplementti
    3. [2 p] Mikä on desimaalijärjestelmän luvun 47 esitys heksadesimaalijärjestelmässä.
    4. [2 p] Mikä on desimaalijärjestelmän luvun 47 esitys oktaalijärjestelmässä.
    5. [3p] Oletetaan, että käytössä on yleisin Big Endian tavujärjestys. Mitä liukulukua 32-bittinen IEEE standardin (8 bitin exponentti) mukainen arvo 0x41580000 esittää?
      (Etuliite "0x" tarkoittaa, että perässä tuleva luku on heksadesimaalimuotoinen)

  3. [15 p] Oletetaan aluksi, että kyse on "tavallisella" ohjelmointikielellä (kuten esim. C tai Pascal) kirjoitetusta ohjelmasta.
    1. [12 p] Minkä vaiheiden kautta saadaan ohjelmasta suorituskelpoinen ohjelma, kun oletetaan, että ohjelmaa ei tulkata? Mitä kussakin vaiheessa tapahtuu?
    2. [3 p] Mitä ovat makrot ja missä vaiheessa ne käsitellään?


  4. [15 p]  Ttk-91 koneen konekieli. Kokonaislukuarvoinen taulukko T[30] on määritelty pääohjelmatasolla. Taulukossa on siis 30 alkiota (alkiot 0,...,29).
    1. [2 p] Anna taulukon T määrittely.
    2. [6 p] Tee funktio Etsi(S, N, Lkm), joka palauttaa arvonaan N-alkioisen taulukon S suurimman alkion arvon. Lisäksi parametrin Lkm avulla palautetaan kuinka monta suurinta alkiota taulukossa on. Noudata suositusten mukaista aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia. Parametrit S ja Lkm ovat viiteparametreja ja parametri N on arvoparametri.
    3. [5 p] Anna ttk-91 symbolisen konekielen konekäskyt, joilla em. funktiota käyttäen tulostetaan (muualla, pääohjelmatasolla määritellyn) 30 alkioisen taulukon T suurimman alkion arvo ja suurimpien alkioiden lukumäärä. Lukumäärä kuitenkin tulostetaan vain, jos se on suurempi kuin yksi. Noudata suositusten mukaista aliohjelmien kutsumekanismia. Parametrit S ja Lkm ovat viiteparametri ja parametri N on arvoparametri.
    4. [2 p] Piirrä aktivointitietuepino funktion kutsun jälkeen ja juuri ennen funktiosta 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