581365-8 Tietokoneen rakenne, erilliskoe 11.10.2002
Kirjoita jokaiseen vastauspaperiin: oma nimi, henkilötunnus,
kurssin nimi, nimikirjoitus ja sivunumero.
- [15 p] Perus S-R kiikku (latch, flip-flop) on esitetty allaolevassa
kuvassa.
- [4 p] Mitä perus S-R kiikku tekee? Minkä ongelman se
ratkaisee? Mikä puute perus S-R kiikussa on (verrattuna esimerkiksi
D-kiikkuun tai J-K -kiikkuun)?
- [4 p] Todista, että se säilyttää tilansa.
- [4 p] Miten sen tila muuttuu? Todista, että tilanmuutos on
pysyvä.
- [3 p] Mihin perus S-R kiikkua voidaan käyttää? Anna
käytännöllinen esimerkki.
- [15 p] Virtuaalimuisti
- [2 p] Minkä perusongelman virtuaalimuisti ratkaisee?
- [2 p] Mihin ilmiöön virtuaalimuistin ratkaisu perustuu?
- [3 p] Miten TLB liittyy perusongelman ratkaisuun? Minkä ongelman TLB
ratkaisee? Miksi TLB:stä on hyötyä?
- [3 p] Mitä TLB:llä ja välimuistilla (cache) on yhteistä ja miten
ne eroavat toisistaan?
- [2 p] Mitä etua olisi erillisistä TLB:stä verrattuna yhteisen TLB:n
ratkaisuun?
- [3 p] Mikä on käänteinen sivutaulu (inverted page table) ja mitä
hyötyä/haittaa siitä on tavanomaiseen sivutauluun verrattuna?
- [15 p] Langoitettu kontrolli (hardwired control)
- [2 p] Minkä ongelman (langoitettu) kontrolli ratkaisee?
- [5 p] Miten langoitettu kontrolli toimii? Anna (kuvallinen) esimerkki.
- [2 p] Mitä ongelmia langoitetussa kontrollissa on verrattuna
mikro-ohjelmoituun (microprogrammed) kontrolliin?
- [2 p] Mitä etuja langoitetussa kontrollissa on verrattuna
mikro-ohjelmoituun (microprogrammed) kontrolliin?
- [2 p] Kannattaisiko RISC suoritin toteuttaa langoitetulla vai
mikro-ohjelmoidulla kontrollilla? Miksi?
- [2 p] Oletetaan, että suorittimen käskykanta on laaja ja että osa
konekäskyistä on toteutettu keskeytyskäsittelijän kautta tapahtuvien
aliohjelmien avulla. Oletetaan edelleen, että haluamme jatkossa
luultavasti päivittää suoraan toteutettujen konekäskyjen joukkoa sen
mukaan, mitkä konekäskyt osoittautuvat useimmiten käytetyiksi.
Kannattaako tässä tapauksessa suorittimen kontrolli toteuttaa
langoitettuna vai mikro-ohjelmoituna? Miksi?
- [15 p] Data riippuvuudet (dependencies, hazards). Minkälaisia käskyjen
samanaikaisen suorittamisen rajoittavia data riippuvuuksia on tavallisessa ei-liukuhihnoitetussa
toteutuksessa? Miten ongelmia niistä tulee ja miten niitä ratkotaan? Miten
tilanne muuttuu, jos toteutus tehdään tavallista (ei super-skalaaria) liukuhihnoitusta
käyttäen? Miten tilanne edelleen muuttuu, jos toteutus tehdäänkin superskalaaria
liukuhihnoitusta (supescalar pipeline) käyttäen? Anna kuvaavia
esimerkkejä.
(Vastauksesi saa olla korkeintaan 3 sivua pitkä, kuvat mukaanluettuna)