581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 19.8.2003
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: oma nimi,
henkilötunnus, kokeen tai kurssin nimi, nimikirjoitus ja sivunumero.
- [15 p] Prosessi
- [5 p] Mikä on prosessi? Mikä on prosessin esitysmuoto järjestelmässä?
Tarkenna.
- [5 p] Missä eri tiloissa prosessi voi olla? Missä ovat prosessin
tiedot prosessin eri tilojen aikana? Suorittimella, muistissa, levyllä?
- [5 p] Oletetaan, että levy-I/O:ta odottavalle prosessille Q tulee
laitekeskeytys (device interrupt) kun joku toinen prosessi P on suoritusvuorossa.
Mitä järjestelmässä tapahtuu tälläin? Kerro erityisesti kaikki
tilanvaihdot prosesseille P ja Q.
- [15 p] Ohjelmassa viitattava data voi sijaita (i) konekäskyssä,
(ii) erillisellä data-alueella tai (iii) laiterekisterissä (esim.
R2:ssa) . Kerro kustakin tavasta,
- [6 p] Miten dataan viittaus tapahtuu käytännössä?
Anna konekielinen (ttk-91) esimerkki.
- [6 p] Mitä etuja/haittoja sillä on verrattuna muihin kahteen
tapaukseen?
- [3 p] Anna esimerkki tilanteesta, jolloin sen käyttäminen
olisi järkevämpää kuin kummankaan toisen vaihtoehdon.
Perustele esimerkkisi.
- [15 p] Konekäskyjen suoritus.
- [3 p] Miten konekäsky "ADD R5, T(R1)" esitetään
muistissa?
- [6 p] Miten suorittimella tapahtuu konekäskyä "ADD R5,
T(R1)" suoritettaessa käskyn suoritussyklin eri vaiheissa?
- [3 p] Määrittele käsite keskeytys (exception, interrupt). Minkä
tyyppisiä keskeytyksiä on olemassa? Miten keskeytykset käsitellään suorittimella?
- [3 p] Mitä keskeytyksiä voi laitteistossa tapahtua konekäskyn "ADD
R5, T(R1)" suorituksen aikana?
- [15 p] Kymmenalkioinen taulukko Taulu[0..9] sekä muuttujat X ja
I oletetaan määritellyksi pääohjelmatasolla. Toteuta seuraavien tehtävät ttk-91
koneen symbolisella konekielellä.
- [3 p] Tulosta taulukon Taulu alkion Taulu[7] arvo.
- [3 p] Tulosta taulukon Taulu alkion Taulu[I] osoite.
- [3 p] Sijoita muuttujan X arvo taulukon Taulu alkion Taulu[I] arvoksi.
- [3 p] Alusta taulukko Taulu siten, että sen kaikkien alkioiden
arvoksi tulee 0 (nolla).
- [3 p] Alusta taulukko Taulu aliohjelmaa Init(Arr, Dim) käyttäen. Parametri
Arr on viiteparametri ja parametri Dim on arvoparametri. Arr on alustettava
taulukko ja Dim on k.o. taulukon alkioiden lukumäärä. (Huom: Aliohjelmaa
Init ei siis tarvitse toteuttaa itse.)
Noudata suositusten mukaista aliohjelmien (funktioiden) kutsumekanismia.
TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL, DIV,
MOD, AND, OR, XOR, SHL, SHR, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER,
JNPOS, JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR,
POPR, SVC