581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 8.2.2005
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimesi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
- [15 p] Tiedon esitys.
- [3 p] Selitä millainen esitysmuoto on kahden komplementti.
- [2 p] Selitä millainen esitysmuoto on etumerkkibitti erikseen.
- [4 p] Anna 16-bittisten
desimaalilukujen +129 ja -9 esitys koneessa, kun kokonaislukujen
esitysmuoto on
- etumerkkibitti erikseen
- kahden komplementti
- [3 p] Selitä miten liukuluvut esitetään käyttäen IEEE:n 32
bitin standardia liukuluvuille.
- [3 p] Anna desimaaliluvun -9,75 IEEE:n liukustandardin
mukainen esitys.
- [15 p] Prosessi (process)
- [3 p] Mikä on prosessi?
- [4 p] Mitä tietoja prosessin kuvaaja
(Process Control Block) tyypillisesti sisältää.
- [4 p] Piirrä prosessin suoritusaikaisista tiloista (process
state) tilakaavio. Kerro tilojen nimet ja piirrä niiden väliset
tilasiirtymät.
- [4 p] Miten ja milloin prosessin tila muuttuu? Käsittele kukin
mahdollinen tilasiirtymä erikseen esimerkkitapahtuman avulla.
- [15 p] Java
- Miksi ohjelman yleinen esitysmuoto systeemissä on
tavukoodi (Java bytecode) eikä korkean tason kieli (Java)?
- Miten tavukoodina esitetyn Java-ohjelman suoritus tapahtuu
tulkitsemalla?
- Vertaile Ttk91-koneen konekieltä ja Javan tavukoodia. Mitä eroja
löytyy? Mikä on samanlaista?
- [15 p] Ttk-91 koneen symbolinen konekieli.
Kokonaislukuarvoiset muuttujat I ja C sekä kokonaislukuarvoinen taulukko T[50]
on määritelty pääohjelmatasolla. Taulukossa on siis 50 alkiota
(alkiot
0,...,49).
- [2 p] Anna muutujien I ja C sekä taulukon T määrittely.
- [4 p] Tee funktio Sijoita(S, N, Ind, Arvo), joka tarkistaa
että N-alkioisen taulukon S indeksi Ind on sallitulla välillä
(eli ei pienempi kuin nolla
eikä suurempi kuin N-1) ja tarkistuksen onnistuessa sijoittaa arvon Arvo
S[Ind]:n arvoksi.
Lisäksi funktio palauttaa arvon yksi, jos sijoitus onnistui ja arvon
nolla, jos sijoitus epäonnistui (eli indeksi Ind ei ollut sallitulla välillä.)
Parametri S on viiteparametri ja parametrit N, Ind ja Arvo ovat
arvoparametreja.
- [3 p] Anna käskyt, joilla
funktiota Sijoita käyttäen sijoitetaan (pääohjelmatasolla
määritellyn) 50 alkioisen taulukon T alkion T[5] arvoksi 8.
- [3 p] Anna käskyt, joilla
funktiota Sijoita käyttäen sijoitetaan (pääohjelmatasolla
määritellyn) 50 alkioisen taulukon T alkion T[I] arvoksi muuttujan C arvo.
Lisäksi jos sijoitus ei onnistunut, niin tulosta funktion palauttama arvo.
- [3 p]Piirrä aktivointitietuepino (tarkasteltaessa kutsua kohdassa d)
- funktion Sijoita kutsun jälkeen
(CALL käskyn jälkeen)
- pino-osoittimen SP arvon ollessa
suurimmillaan funktiota Sijoita suoritettaessa
- ennen funktion Sijoita EXIT-käskyn suoritusta
- funktion Sijoita EXIT-käskyn suorituksen jälkeen.
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