Tietokoneen toiminta, 2 ov, erilliskoe 2.11.2004
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimi,
opiskelijanumero (tai henkilötunnus), kurssin nimi, nimikirjoitus ja sivunumero.
Kokeesta voi saada 60 pistettä.
Pyri vastaamaan kaikkiin kysymyksiin lyhyesti, mutta kokonaisilla lauseilla.
- [15 p] Konekäskyjen suoritus:
- [12 p] Mitä suorittimella tapahtuu konekäskyä "ADD R5,
A(R3)" suoritettaessa? Käy huolellisesti ja
yksityiskohtaisesti läpi käskyn suoritussyklin eri vaiheet ja kaikki
käskyn suorittamiseen liittyvät yksityiskohdat joka kohdassa.
- [3 p] Mitä laitteistossa tapahtuu, jos edellisen kohdan käskyä
suoritettaessa yhteenlaskun tulos on niin suuri, että se ei mahdu tulosrekisteriin?
Miten tämä tapahtuma näkyy käskyn suoritussyklissä vai näkyykö se lainkaan?
- [15 p] Tiedon esitys, lukujärjestelmät ja tiedon muuttumattomuus.
- [2 p] Mikä on desimaalijärjestelmän luvun 37 esitys
binäärijärjestelmässä? Miten luku esitetään tavussa (8 bittiä)?
- [4 p] Mitä desimaalilukuja vastaavat bittijonot 00011101 ja
10011010 kun kokonaislukujen esitysmuoto on
- etumerkkibitti erikseen
- kahden komplementti
- [9 p] Oletetaan, että muistiin on talletettu 8-bittinen data
10011010 ja
että se suojataan virheen korjaavalla Hamming-koodilla.
- [6 p] Miten tuo suojaaminen tapahtuu? Kuinka monta ylimääräistä bittiä tarvitaan? Miten ne
sijaitsevat? Mitkä ovat niiden arvot? Anna koodattu bittijono kokonaisuudessaan.
- [3 p] Miten Hamming-koodia käytetään korjaamaan tilanne, jossa
kyseinen data on muuttunut dataksi 11011010 eikä yksikään
Hamming-koodiin kuuluvista biteistä ole muuttunut.
- [15 p] Tietokoneen rakenne ja oheislaitteiden käyttö
- [3 p] Määrittele käsite keskeytys (exception,
interrupt). Minkä tyyppisiä keskeytyksiä on olemassa?
- [3 p] Mitä tarkoittaa "etuoikeutettu tila"
(supervisor state, priviledged state)? Mihin sitä käytetään?
- [9 p] Mitä kaikkea järjestelmässä tapahtuu siitä hetkestä
alkaen, kun suorituksessa oleva ohjelma P haluaa tallettaa dataa
levylle, siihen asti kun P jatkaa suoritustaan I/O:n jälkeen? Kerro
huolellisesti mitä I/O-mallia kuvauksessasi käytit.
- [15p] TTK-91: Taulukko Taulu[0..49] sekä muuttujat X ja I oletetaan
määritellyiksi pääohjelmatasolla. Toteuta seuraavat tehtävät TTK-91
-koneen symbolisella konekielellä.
- [2 p] Tulosta taulukon Taulu alkion Taulu[42] arvo.
- [2 p] Tulosta alkion Taulu[I] osoite. Voit olettaa, että I:n
arvo on välillä 0..49.
- [2 p] Sijoita muuttujan X arvo alkion Taulu[I] arvoksi.
- [3 p] Alusta taulukko Taulu siten, että kunkin alkion
Taulu[I] arvoksi tulee 5*i + 6875341.
- [6 p] Käytössäsi on funktio ka(Arr, Dim), joka palauttaa
arvonaan Dim-kokoisen taulukon Arr alkioiden keskiarvon. Parametri Arr
on viiteparametri ja Dim on arvoparametri. Laske tätä funktiota käyttäen
taulukon Taulu alkioiden keskiarvo ja sijoita se muuttujan X arvoksi.
Huomaa, että sinun siis ei tarvitse toteuttaa funktiota ka.
Noudata suositusten mukaista aliohjelmien (funktioiden)
kutsumekanismia. Tuo funktio ka on toteutettu näiden suositusten mukaisesti.
TTK-91 konekielen käskyt ovat: NOP, STORE, LOAD, IN, OUT, ADD, SUB, MUL,
DIV,
MOD, AND, OR, XOR, SHL, SHR, NOT, COMP, JUMP, JNEG, JZER, JPOS, JNNEG, JNZER,
JNPOS,
JLES, JEQU, JGRE, JNLES, JNEQU, JNGRE, CALL, EXIT, PUSH, POP, PUSHR,
POPR, SVC, IRET