581305-6 Tietokoneen toiminta, 2 ov, loppukoe 27.3.2001
(Other side in English )
Kirjoita jokaiseen vastauspaperiisi seuraavat tiedot:
oma nimesi, henkilötunnus, kokeen tai kurssin nimi,
nimikirjoitus ja sivunumero.
[15 p] Tiedon esitys.
Anna erikseen Big Endian ja Little Endian
16-bittisten desimaalilukujen +23 ja -75 esitys koneessa,
kun kokonaislukujen esitysmuoto on
etumerkkibitti erikseen
kahden komplementti
yhden komplementti
lisättynä 32767:lla (32767=215-1)
Oletetaan, että käytössä on yleisin
Big Endian tavujärjestys.
Mitä liukulukua 32-bittinen IEEE standardin
(8 bitin exponentti) mukainen arvo 0x41300000 esittää?
(Etuliite "0x" tarkoittaa, että perässä tuleva luku
on heksadesimaalimuotoinen)
Tkk-91 koneessa ei ole liukulukuja käyttäviä
konekäskyjä.
Voiko ttk-91:n avulla suorittaa liukulukulaskentaa?
Jos voi, niin miten? Jos ei voi, niin miksi ei?
Ttk-91 koneen kokonaislukukäskyt on tarkoitettu
kokonaislukuarvoilla laskemista varten.
Mitä tapahtuu, jos niiden avulla yritetään
laskea yhteen konekäsky ja kokonaisluku,
esimerkiksi seuraavien konekäskyjen avulla:
LOOP LOAD R1, LOOP
ADD R1, =1
STORE R1, LOOP
Jos tämä johtaa virhetilanteeseen, niin kerro minkälaiseen.
Jos tämä ei johda virhetilanteeseen, niin kerro
mitä tapahtuu.
[15 p] Virtuaalimuisti
Miksi virtuaalimuistijärjestelmiä on olemassa?
Minkä ongelman virtuaalimuisti ratkaisee?
Miten sivuttava virtuaalimuisti pääpiirteissään toimii?
Mitä tarkoittaa käsite "sivunpuutos"
ja mitä järjestelmässä tapahtuu sivunpuutoksen yhteydessä?
Mikä on TLB ja mihin sitä tarvitaan?
Mitä tarkoittaa käsite "TLB huti"
ja mitä järjestelmässä tapahtuu TLB hudin yhteydessä?
Anna konekäskytason esimerkki tilanteesta, jossa
tapahtuu TLB huti, mutta ei sivunpuutosta.
Kerro täsmällisesti, missä kohtaa käskyn suoritusta
TLB huti tapahtuu, ja perustelut sille,
miksi sivunpuutosta ei tapahdu.
Anna konekäskytason esimerkki tilanteesta, jossa
tapahtuu sivunpuutos, mutta ei TLB hutia.
Kerro täsmällisesti, missä kohtaa käskyn suoritusta
sivunpuutos tapahtuu, ja perustelut sille,
miksi TLB hutia ei tapahdu.
[15 p] Ohjelmien suoritus
Miten suoritin suorittaa konekielisiä ohjelmia?
Minkä tyyppiset tapahtumat aiheuttavat
poikkeuksia käskyjen normaaliin suoritusjärjestykseen?
Miten nämä poikkeustilanteet käsitellään?
Miten poikkeustilanteiden käsittely suhtautuu
aliohjelmakutsuun ja aliohjelmasta paluuseen?
Erot/samankaltaisuudet?
[15 p] Ttk-91 koneen konekieli
Meillä on 2-ulotteinen pääohjelmatasolla määritelty
kokonaislukuarvoinen taulukko T[4,6].
Taulukossa on siis 4 riviä (rivit 0,...,3)
ja 6 saraketta (sarakkeet 0,...,5).
Kokonaislukumuuttujat i ja j on määritelty
pääohjelmatasolla.
Anna konekäskyt, joilla
tulostetaan alkion T[i,j] arvo.
Anna konekäskyt, joilla
tulostetaan rivin i alkioiden summa
Tee kokonaislukuarvoinen
funktio RowSum(Tbl, iRow), joka palauttaa arvonaan
taulukon Tbl rivin iRow alkioiden summan.
Taulukko Tbl on samaa tyyppiä kuin taulukko T
ja se välitetään viiteparametrina.
Parametri iRow välitetään arvoparametrina.