581365-8 Tietokoneen rakenne, erilliskoe 11.10.2002

Kirjoita jokaiseen vastauspaperiin: oma nimi, henkilötunnus, kurssin nimi, nimikirjoitus ja sivunumero.

  1. [15 p] Perus S-R kiikku (latch, flip-flop) on esitetty allaolevassa kuvassa.
    1. [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)?
    2. [4 p] Todista, että se säilyttää tilansa.
    3. [4 p] Miten sen tila muuttuu? Todista, että tilanmuutos on pysyvä.
    4. [3 p] Mihin perus S-R kiikkua voidaan käyttää? Anna käytännöllinen esimerkki.

                                                  

     

  2. [15 p] Virtuaalimuisti
    1. [2 p] Minkä perusongelman virtuaalimuisti ratkaisee?
    2. [2 p] Mihin ilmiöön virtuaalimuistin ratkaisu perustuu?
    3. [3 p] Miten TLB liittyy perusongelman ratkaisuun? Minkä ongelman TLB ratkaisee? Miksi TLB:stä on hyötyä?
    4. [3 p] Mitä TLB:llä ja välimuistilla (cache) on yhteistä ja miten ne eroavat toisistaan?
    5. [2 p] Mitä etua olisi erillisistä TLB:stä verrattuna yhteisen TLB:n ratkaisuun?
    6. [3 p] Mikä on käänteinen sivutaulu (inverted page table) ja mitä hyötyä/haittaa siitä on tavanomaiseen sivutauluun verrattuna?



  3. [15 p] Langoitettu kontrolli (hardwired control)
    1. [2 p] Minkä ongelman (langoitettu) kontrolli ratkaisee?
    2. [5 p] Miten langoitettu kontrolli toimii? Anna (kuvallinen) esimerkki.
    3. [2 p] Mitä ongelmia langoitetussa kontrollissa on verrattuna mikro-ohjelmoituun (microprogrammed) kontrolliin?
    4. [2 p] Mitä etuja langoitetussa kontrollissa on verrattuna mikro-ohjelmoituun (microprogrammed) kontrolliin?
    5. [2 p] Kannattaisiko RISC suoritin toteuttaa langoitetulla vai mikro-ohjelmoidulla kontrollilla? Miksi?
    6. [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?




  4. [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)