581365-8 Tietokoneen rakenne, erilliskoe 18.1.2002

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

Vastaa vain neljään annetusta viidestä kysymyksestä. Jos vastaat kaikkiin, niin paras vastaus jätetään huomioimatta.

  1. [15 p] S-R kiikku (latch, flip-flop). Mitä S-R kiikku tekee? Minkä ongelman se ratkaisee? Mikä on sen rakenne? Anna sille NOR-portteihin (NOR gate) perustuva toteutus. Miten se toimii eri tilanteissa? Anna kuvaava esimerkki.

    Jos et muista, mikä oli S-R kiikku, niin anna vastauksesi jollekin toiselle (nimeämällesi) kiikulle.

    (Vastauksesi saa olla korkeintaan 2 sivua pitkä, kuvat mukaanluettuna)


     

  2. [15 p] Välimuisti (cache). Minkä ongelman välimuisti ratkaisee? Millä eri menetelmillä välimuisti voidaan toteuttaa? Anna kuvaava esimerkki. 

    (Vastauksesi saa olla korkeintaan 2 sivua pitkä, kuvat mukaanluettuna)



  3. [15 p] Boothin algoritmi kokonaislukujen kertolaskuun. Minkä ongelman Boothin algoritmi ratkaisee? Miten Boothin algoritmi toimii? Miksi Boothin algoritmi on parempi kuin perinteinen ratkaisu? Onko tilanteita, joissa perinteinen ratkaisu olisi parempi tai yhtä hyvä kuin Boothin algoritmiin perustuva ratkaisu? Anna kuvaava esimerkki.

    (Vastauksesi saa olla korkeintaan 2 sivua pitkä, kuvat mukaanluettuna)



  4. [15 p] Miten kellopulssi saa suorittimen (prosessorin) suorittamaan konekäskyjä. Vastauksen pituus saa olla korkeintaan kaksi sivua. Anna kuvaava esimerkki.

    (Vastauksesi saa olla korkeintaan 2 sivua pitkä, kuvat mukaanluettuna)


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