581305-6 Tietokoneen toiminta, 2 ov, kurssikuulustelu 13.5.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.
- [12 p] Tiedon esitys ja lukujärjestelmät.
- [4 p] Anna Big Endian 16-bittisten
desimaalilukujen +43 ja -17 esitys koneessa, kun kokonaislukujen
esitysmuoto on
- etumerkkibitti erikseen
- kahden komplementti
- yhden komplementti
- lisättynä 32767:lla (32767=215-1)
- [1 p] Mikä on desimaalijärjestelmän luvun 125 esitys heksadesimaalijärjestelmässä.
- [1 p] Mikä on desimaalijärjestelmän luvun 125 esitys oktaalijärjestelmässä.
- [2 p] Mikä on desimaalijärjestelmän luvun 88.375 binääriesitys
- [2 p] Selitä miten liukuluvut esitetään käyttäen IEEE:n 32
bitin standardia liukuluvuille.
- [2 p] Anna desimaaliluvun 71.625 IEEE:n liukustandardin
mukainen esitys.
- [12 p] Suoritin ja prosessi (processor and process)
- [3 p] Piirrä suorittimen suoritusaikaisista tiloista (processor
state) tilakaavio. Kerro tilojen nimet ja piirrä niiden väliset tilasiirtymät.
- [3 p] Miten ja milloin suorittimen tila muuttuu? Käsittele kukin
mahdollinen tilasiirtymä erikseen esimerkkitapahtuman avulla.
- [3 p] Piirrä prosessin suoritusaikaisista tiloista (process
state) tilakaavio. Kerro tilojen nimet ja piirrä niiden väliset tilasiirtymät.
- [3 p] Miten ja milloin prosessin tila muuttuu? Käsittele kukin
mahdollinen tilasiirtymä erikseen esimerkkitapahtuman avulla.
- [12 p] Konekäskyjen suoritus.
- [2 p] Määrittele käsite käskyjen suoritussykli. Mitkä
ovat
sen vaiheet? Piirrä kuva suoritussyklistä.
- [4 p] Mitä suorittimella tapahtuu konekäskyä "SUB
R4,
@300" suoritettaessa suoritussyklin eri vaiheissa?
- [6 p] Vertaile Ttk91-koneen konekieltä ja Java byte-koodia. Mitä
eroja löytyy? Mikä on samanlaista? Entä suoritusaikana?
- [12 p] Ttk-91 koneen konekieli. Kokonaislukuarvoinen taulukko T[40]
on määritelty pääohjelmatasolla. Taulukossa on siis 40 alkiota (alkiot
0,...,39).
- [1 p] Anna taulukon T määrittely.
- [5 p] Tee funktio Laske(S, N), joka palauttaa arvonaan
N-alkioisen taulukon S positiivisten alkioiden lukumäärän. Noudata suositusten mukaista
aliohjelmien (funktioiden) toteutustapaa ja kutsumekanismia. Parametri S
on viiteparametri ja parametri N on arvoparametri.
- [4 p] Anna ttk-91 symbolisen konekielen konekäskyt, joilla
em. funktiota käyttäen tulostetaan (muualla, pääohjelmatasolla
määritellyn) 40 alkioisen taulukon T positiivisten alkioiden lukumäärä. Noudata
suositusten mukaista aliohjelmien kutsumekanismia. Parametri S on
viiteparametri ja parametri N on arvoparametri.
- [2 p] Miten funktiota Laske tulisi muuttaa, jos se
palauttaisikin taulukon S positiivisten alkioiden lukumäärän sijaan
taulukon S parittomien alkioiden lukumäärän.
- Bonus kysymys [2 p]: Piirrä aktivointiotietuepino kohdan b) aliohjelman kutsun jälkeen ja juuri ennen aliohjelmasta 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