581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 22.3.2005
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimesi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
- [15 p] Määrittele seuraavat käsitteet
- [3 p] Hamming koodi
- [3 p] etuoikeutettu tila
- [3 p] aikaviipalekeskeytys
- [3 p] Epäsuora I/O
- [3 p] DMA (Direct Memory Access)
- [15 p] Tiedon esitys.
- [3 p] Mikä on desimaalijärjestelmän luvun 37 esitys heksadesimaalijärjestelmässä.
- [3 p] Selitä millainen esitysmuoto on kahden komplementti.
- [4 p] Anna 16-bittisten
desimaalilukujen +34 ja -121 esitys koneessa, kun kokonaislukujen
esitysmuoto on
- etumerkkibitti erikseen
- kahden komplementti
- [5 p] Selitä miten liukuluvut esitetään käyttäen IEEE:n 32
bitin standardia liukuluvuille ja anna havannollistava esimerkki.
- [15 p] Konekäskyjen suoritus.
- [5 p] Määrittele käsite "käskyjen suoritussykli". Mitkä
ovat
sen vaiheet?
Piirrä kuva suoritussyklistä.
- [5 p] Kerro millainen on TTK-91 koneen käskyrakenne ja mitä tietoja
mihinkin kenttään talletetaan.
Anna konekäskyn "MUL R4, T(R2)" esitysmuoto muistissa käskyrakenteen
mukaan kokonaislukuina (ei tarvitse muuttaa biteiksi), kun
symbolitaulussa T:n arvo on 18. (Operaation MUL käskykoodi on 19).
- [5 p] Mitä suorittimella tapahtuu konekäskyä
"MUL R4, T(R2)" suoritettaessa suoritussyklin eri vaiheissa?
- [15 p] Ttk-91 koneen symbolinen konekieli.
Kokonaislukuarvoiset muuttujat A, B, I ja J sekä kokonaislukuarvoinen taulukko T[30]
on määritelty pääohjelmatasolla. Taulukossa on siis 30 alkiota
(alkiot
0,...,29).
- [2 p] Anna muuttujien A, B, I ja J sekä taulukon T määrittely.
- [8 p] Tee funktio Lue(S, N, Ind, X), 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 palauttaa viiteparametrissa X
alkion S[Ind] arvon.
Lisäksi funktio palauttaa arvon yksi, jos arvon haku onnistui ja arvon
nolla, jos arvon haku epäonnistui (eli indeksi Ind ei ollut sallitulla välillä.)
Parametrit S ja X ovat viiteparametreja ja parametrit N ja Ind ovat
arvoparametreja.
- [5 p] Anna käskyt, joilla
funktiota Lue käyttäen haetaan ensin (pääohjelmatasolla
määritellyn) 30 alkioisen taulukon T alkion T[I] arvo
muuttujaan A ja sen jälkeen funktiota Lue käyttäen haetaan alkion
T[J] arvo muuttujaan B. Mikäli molemmat arvojen haut onnistuivat, niin laske
muuttujien A ja B summa ja tulosta se.
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