581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 23.3.2004
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot: nimi, henkilötunnus,
kokeen/kurssin nimi, nimikirjoitus ja sivunumero.
- [15 p] Konekäskyjen suoritus.
- [3 p] Millä tavoin suoritin (processor) suorittaa konekäskyn?
- [3 p] Miten suoritin tietää, mikä konekäsky on
kulloinkin suoritusvuorossa?
- [3 p] Mitä ovat keskeytykset (exception, interrupt) ja minkä tyyppisiä keskeytyksiä on
olemassa?
- [3 p] Miten keskeytykset käsitellään suorittimella?
- [3 p] Mitä tarkoittaa käsite "etuoikeutettu tila" (supervisor
state, priviledged state) ja miten se vaikuttaa käskyjen suoritukseen?
- [15 p] Hamming koodi. Oletetaan, että meillä on 4-bittinen data
(0xC eli 1011), joka suojataan Hamming koodin avulla. Oletetaan, että bitit
numeroidaan oikealta vasemmalle (kuten luennolla esitettiin). Käytössä on
parillinen pariteetti.
- [2 p] Montako pariteettibittiä tarvitaan suojaamaan näitä neljää data-bittiä?
- [4 p] Anna Hamming koodilla suojattu kyseisen datan esitysmuoto (pariteettibitteineen).
- [3 p] Oletetaan nyt, että kolmas (3) bitti oikealta (kyseisessä datassa
pariteettibitteineen) on tiedon siirron aikana muuttunut. Havaitaanko
virhe Hamming koodin avulla? Voidaanko se korjata? Miten tai miksi ei?
Näytä yksityiskohtaisesti.
- [3 p] Oletetaan nyt, että sekä toinen (2) että kolmas
(3) bitti oikealta ovat molemmat muuttuneet tiedon siirron aikana. Havaitaanko
virhe Hamming koodin avulla? Voidaanko se korjata? Miten tai miksi ei?
Näytä yksityiskohtaisesti.
- [3 p] Jos databittejä olisi 16, niin montako pariteettibittiä tarvittaisiin?
- [15 p] Prosessi (process).
- [2 p] Määrittele käsite prosessi. Miten se eroaa ohjelmasta?
- [4 p] Mikä on prosessin esitysmuoto järjestelmässä?
Mitä tietoja siinä on? Missä se sijaitsee?
- [2 p] Mikä on käyttöjärjestelmäprosessi?
Miten se eroaa tavallisesta prosessista?
- [3 p] Mitä järjestelmässä tapahtuu prosessin
vaihdon yhteydessä? Mitä aikaisemmalle prosessille tapahtuu?
- [2 p] Anna esimerkki tilanteesta, jossa suoritustilassa (running)
oleva prosessi siirtyy valmis suoritukseen -tilaan (ready-to-run).
- [2 p] Anna esimerkki tilanteesta, jossa odotustilassa (waiting)
oleva prosessi siirtyy ensin valmis suoritukseen -tilaan (ready-to-run)
ja sitten välittömästi suoritustilaan (running).
- [15 p] Sata-alkioinen taulukko Taulu[0..99] 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[87] arvo.
- [3 p] Tulosta alkion Taulu[I] osoite. Voit olettaa,
että I:n arvo on välillä 0..99.
- [2 p] Sijoita muuttujan X arvo alkion Taulu[I] arvoksi.
- [3 p] Alusta taulukko Taulu siten, että kunkin alkion Taulu[i]
arvoksi tulee 3 * i + 7654321.
- [4 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ä.
Huomaa, että sinun siis ei tarvitse toteuttaa aliohjelmaa
Init().
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