TIK-61.123 TIETOKONEEN ARKKITEHTUURI
Tentti 12.1.2000, laatija Mikko Huttunen
Merkitse jokaiseen tenttipaperiin selvästi :
- nimi ja opintokirjan numero
- osasto ja vuosikurssi
- harjoitustöiden suorittamisvuosi (jos tehty)
Kuuma vihje malttamattomille: Lue tehtävä loppuun ja ymmärrä se ennenkuin vastaat !!
-
Kuvaa lyhyesti ja ytimekkäästi seuraavat käsitteet (Varoitus: Jokin akkronyymi tai sen
englanninkielinen aukikirjoitus EI yleensä riitä vastaukseksi !) :
a) keskeytyskäsittelijä
b) kernel-moodi
c) LRU
d) PC-suhteellinen osoitus (PC-relative addressing)
e) SRAM
f) superskalaari
-
Tee R2000-assemblerilla funktioaliohjelma UNSETBITS. Ohjelma saa kutsuvalta
pääohjelmalta datavektorin A (A:n alkuosoite rekisterissä 4 ja pituus rekisterissä 5) sekä
kaksi arvoa B1 (rekisterissä 6) ja B2 (rekisterissä 7). Vektorin A alkiot ovat 32-bittisiä. B1 ja
B2 voivat saada arvon välillä 0-31. Ohjelman tehtävänä on asettaa bitit B1 ja B2 kustakin A:n
alkiosta nollaksi. Tulos palautetaan vektorissa C. C:n alkuosoitteen aliohjelma saa
rekisterissä 8.
Käytä SYMBOLISIA muisti- ja hyppyosoitteita (siirtymiä ei tarvitse laskea). Virhetilanteista ei
tarvitse huolehtia mutta keskeytykset oletetaan sallituiksi.
-
Selvitä yksityiskohtaisesti kuvien ja tekstin avulla virtuaaliosoitteeseen perustuvan
muistihaun proseduuri (MMU, Cache jne.). Huom! Proseduurin lähtökohtana on prosessorin
muistille tarjoama virtuaaliosoite ja päätepisteenä prosesessorin saadessa muistista
haluamansa datan .
-
a) Mitkä ovat liukuhihnan hasardityypit?
b) Selosta lyhyesti miten kunkin luokan hasardit voidaan ratkaista?
-
Mitä tarkoitetaan termillä arbitrointi? Mitkä ovat arbitroinnin neljä pääluokkaa ja niiden
perusperiaate?
Liitteenä jaettiin tiivistelmä R2000-assemblerin käskyistä.