581305-6 Tietokoneen toiminta, 2 ov, erilliskoe 16.8.2005
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimesi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
- [15 p] Hamming koodi. Oletetaan, että meillä on 4-bittinen data
0111, joka suojataan Hamming koodin avulla. Oletetaan, että bitit
numeroidaan oikealta vasemmalle (kuten Stallingsin kirjassa 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, että toinen (2) bitti vasemmalta (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, että joku tarkistusbiteistä muuttuu
tiedon siirron aikana, mutta muut bitit siirtyvät oikein. Havaitaanko
virhe Hamming koodin avulla? Voidaanko se korjata? Miten tai miksi ei?
Näytä yksityiskohtaisesti.
- [3 p] Jos databittejä olisi 64, niin montako pariteettibittiä tarvittaisiin?
- [15 p] Määrittele seuraavat käsitteet
- [3 p] prosessi
- [3 p] etuoikeutettu tila
- [3 p] muistiväylä
- [3 p] Epäsuora I/O
- [3 p] DMA (Direct Memory Access)
- [15 p] Konekäskyjen suoritus, keskeytykset.
- [5 p] Kerro millainen on TTK-91 koneen käskyrakenne ja mitä tietoja
mihinkin kenttään talletetaan.
Anna konekäskyn "SUB R4, T(R3)" esitysmuoto muistissa käskyrakenteen
mukaan kokonaislukuina (ei tarvitse muuttaa biteiksi), kun
symbolitaulussa T:n arvo on 70.
- [5 p] Mitä suorittimella tapahtuu konekäskyä
"SUB R4, T(R3)" suoritettaessa suoritussyklin eri vaiheissa?
- [5 p] Mitä ovat keskeytykset (exception, interrupt) ja minkä tyyppisiä keskeytyksiä on
olemassa?
- [15 p] Ttk-91 koneen symbolinen konekieli.
Kokonaislukuarvoiset muuttujat K1 ja K2 sekä kokonaislukuarvoinen taulukko T[32]
on määritelty pääohjelmatasolla. Taulukossa on siis 32 alkiota
(indeksit
0,...,31).
- [1 p] Anna muuttujien K1 ja K2 sekä taulukon T määrittely.
- [7 p] Tee aliohjelma Bitit(Luku, N, B),
joka palauttaa N vähiten merkitsevää bittiä
kokonaisluvusta Luku N-alkioisessa taulukossa B. Taulukon alkioiden arvojoukko sisältää siis
vain nollia ja ykkösiä. Jos Luku on esimerkiksi 5, niin T[0]=1, T[2]=1
ja muiden alkioiden arvo on nolla.
Parametrit Luku ja N ovat
arvoparametreja ja
parametri B on
viiteparametri.
- [7 p] Anna käskyt, joilla ensin luetaan muuttujaan K1
kokonaisluku ja sen jälkeen
aliohjelmaa Bitit käyttäen haetaan taulukkoon T luvun bittiesitys ja
tulostetaan bitit.
Tämän jälkeen luetaan muuttujaan
K2 kokonaisluku ja aliohjelmaa Bitit käyttäen
haetaan taulukkoon T luvun bittiesitys. Lopuksi tulostetaan kuinka monta
1-bittiä luvussa K2 oli.
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