581305-6 Tietokoneen toiminta, 2 ov, kurssikuulustelu 27.2.2001
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
- [12 p] Prosessi ja suoritin (process and processor)
- [2 p] Mikä on prosessin esitysmuoto järjestelmässä?
- [3 p] Mitkä ovat prosessin suoritusaikaiset tilat (state)?
- [1 p] Miten prosessin tila näkyy käyttöjärjestelmälle?
- [1 p] Miten prosessin tila näkyy prosessille?
- [5 p] Miten ja milloin prosessin tila muuttuu?
Käsittele kukin mahdollinen tilasiirtymä erikseen.
Kerro kustakin tilasiirtymästä esimerkkitapahtuma,
joka voisi aiheuttaa kyseisen tilasiirtymän.
- [14 p] Muistihierarkia (memory hierarchy)
- [5 p] Mainitse 4 eri nopeuksista muistihierarkian tasoa
(fyysistä laitetta tai laitteistoa),
joissa konekäskyssä viitattava tieto voi sijaita.
Mitkä ovat eri tasojen nopeudet (karkealla tasolla)?
- [5 p] Anna jokaiselle tasolle ttk-91 symbolista konekieltä
käyttäen esimerkki (konekäsky),
jossa kyseiselle tasolle sijaitsevaan tietoon viitataan.
Kerro erityisesti, missä käskyn suorituksen vaiheessa
kyseinen viittaus tapahtuu ja mikä käskyn osa viittauksen aiheuttaa.
Mainitse myöskin, onko kyseessä data- vai koodiviite.
- [4 p] Mitkä ensimmäisen kohdan (a) tasoista
liittyvät välimuistiin (cache memory)?
Millä tavoin välimuisti on toteutettu näiden tasojen avulla?
Onko toteutus laitteisto- vai ohjelmistotasolla (HW- or SW-level)?
Tämän kohdan vastaus voi olla korkeintaan 1 sivun mittainen.
- [14 p]
Java-ohjelmia voidaan suorittaa ainakin kolmella hyvin erilaisella tavalla.
- [10 p] Kuvaile nämä kolme erilaista tapaa.
Kiinnitä erityistä huomiota siihen, miten
Java-ohjelmien suoritus suorittimen konekäskytasolla
todella tapahtuu kussakin suoritustavassa
ja miten suoritustavat eroavat toisistaan tässä suhteessa.
Mainitse myös kunkin suoritustavan edut ja haitat muihin
suoritustapoihin verrattuna. Vastauksen pituus ei saa ylittää 3 sivua.
- [4 p] Mitä Java-ohjelmien suoritustapaa
ttk-91 ohjelmien suoritus Koksi-simulaattoria käyttäen muistuttaa?
Miksi?
-
Bonus kysymys [1 p]: Mitä Java-ohjelmien suoritustapaa
Transmetan Crusoe-suorittimen toteutus muistuttaa?
Miksi?
- [14 p] Funktio.
- Toteuta ttk-91 symbolisella konekielellä funktio Aver(Arr, N),
joka palauttaa arvonaan N-alkioisen taulukon Arr alkioiden keskiarvon.
Esimerkiksi, jos taulukolla T[0..4] on arvot {7, 5, 24, 5, 9},
niin funktion kutsu Aver(T, 5) palauttaa arvonaan luvun 10.
Noudata suositusten mukaista aliohjelmien (funktioiden)
toteutustapaa ja kutsumekanismia.
Parametri N on arvoparametri ja parametri Arr on viiteparametri.
-
Anna ttk-91 symbolisen konekielen konekäskyt,
joilla em. funktiota käyttäen tulostetaan
(muualla, pääohjelmatasolla määritellyn)
34-alkioisen taulukon Salary alkioiden arvojen keskiarvo.
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, LEGU, JGRE, LNLES, LNEQU, NGRE,
CALL, EXIT, PUSH, POP, PUSHR, POPR,
SVC
<