581305-6 Tietokoneen toiminta, 4 op, erilliskoe 17.8.2007
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
nimi ja nimikirjoitus, henkilötunnus tai opiskelijanumero, kurssin nimi
ja sivunumero.
- [9 p] Tiedon esitysmuodot
- Nimeä neljä erilaista kokonaislukujen bittitason esitysmuotoa?
Anna 8-bittinen luvun -8 esitysmuoto jokaiselle.
- Miten liukulukuja talletetaan tietokoneessa? Mikä on IEEE:n liukulukustandardi?
Miten liukuluku 2.0 esitetään 32-bitin IEEE standardin mukaan?
- Mitä tarkoittaa käsite "Little Endian" talletusmuoto?
Milloin sillä on merkitystä? Anna konkreettinen 32-bittinen esimerkki.
- [9 p] Prosessi (process).
- Mikä on prosessi? Mikä on sen esitysmuoto käyttöjärjestelmässä?
- Piirrä prosessin suoritusaikaisista tiloista (process state) 5-tilainen tilakaavio.
Kerro tilojen nimet. Piirrä ja selitä niiden väliset tilasiirtymät.
- Anna luonteeltaan esimerkki tilanteesta,
jossa prosessi P siirtyy odotustilasta (waiting) johonkin toiseen tilaan. Erityisesti mainitse, kuka (mikä prosessi) aiheutti tilasiirtymän ja mitä
järjestelmässä tapahtuu rekisteritasolla tämän tilanteen aikana?
- [9 p] Konekäskyjen suoritus. Miten konekäskyjä suoritetaan? Mikä on keskeytys ja miten keskeytykset toteutetaan konekäskyjen suoritustasolla?
- [9 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 T={2, 4, 6, 8}, niin kutsun Keskiarvo(T, 4, m) paluun jälkeen muuttujan m arvo olisi 5. Parametri Arr on viiteparametri, n on kokonaislukuarvoinen arvoparametri ja ka on kokonaislukuarvoinen viiteparametri.
- 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 taulukon Salaries alkioiden keskiarvo, kun taulukon pituus on talletettu rekisteriin R4.
- 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, 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