581365-8 Tietokoneen rakenne, erilliskoe 16.1.2004
Kirjoita jokaiseen vastauspaperiin: oma nimi, henkilötunnus,
kurssin nimi, nimikirjoitus ja sivunumero.
- [14 p] Boothin algoritmi kokonaislukujen kertolaskuun.
- [2 p] Minkä ongelman Boothin algoritmi ratkaisee?
- [6 p] Miten Boothin algoritmi toimii?
- [2 p] Mitä Boothin algoritmissa tapahtuu kertolaskun 60*60 tapauksessa?
(Lukujen desimaaliarvo on siis 60)
- [2 p] Miksi Boothin algoritmi on parempi kuin perinteinen ratkaisu?
Anna kuvaava esimerkki.
- [2 p] Onko tilanteita, joissa perinteinen ratkaisu olisi parempi tai
yhtä hyvä kuin Boothin algoritmiin perustuva ratkaisu? Anna kuvaava esimerkki.
- [16 p] Ehdottomat hypyt ja ehdolliset haarautumiset aiheuttavat ongelmia
liukuhihnoitetuissa suorittimissa. Näitä ongelmia on ratkottu usealla eri
tavalla. Kerro kustakin allamainitusta ratkaisumenetelmästä, (i) minkä ongelman
se ratkaisee, (ii) miten ratkaisu on toteutettu sekä (iii) ratkaisun hyvät/huonot
puolet.
- [2 p] Viivästetty haarautuminen (delayed branch)
- [2 p] Silmukkapuskuri (loop buffer)
- [2 p] Ennakoiva käskyn nouto (prefetch branch target)
- [2 p] Haarautumisen ennustaminen (branch prediction)
- [2 p] Haarautumisen historiataulu (branch history table)
- [2 p] IA-64:n predikoitu suoritus (predicated execution)
- [2 p] IA-64:n data spekulointi (data speculation)
- [2 p] IA-64:n haarautumisrekisteri (branch register)
- [15 p] Välimuisti. Oletetaan, että (epärealistisen pienessä välimuistiratkaisussa)
4-tavuisen sanan 8-bittinen tavuosoite on 0xB6 (heksadesimaali B6). Välimuistin
koko on 128 tavua ja rivin pituus (cache line size) on 16 tavua. Tee (kuvallinen)
esimerkki ja näytä miten viitattu muistipaikka löytyy välimuistista, kun käytössä
on
- [5 p] Suoraa kuvausta (direct mapping) käyttävä kuvausfunktio (mapping
function)?
- [5 p] Täysin assosiatiivista (associative or fully associative) kuvausta
käyttävä kuvausfunktio.
- [5 p] Joukkoassosiatiivista kuvausta joukon koolla 2 (2-way set associative
mapping) käyttävä kuvausfunktio?
Voit olettaa esimerkissäsi, että viitattu muistipaikka löytyy välimuistista.
Mitkä ovat eri osoitekenttien nimet/pituudet kunkin kuvaustyypin yhteydessä?
Missä kaikkialla kyseinen muistipaikka voi välimuistissa sijaita
kunkin kuvaustyypin yhteydessä?
- [15 p] Langoitettu kontrolli (hardwired control)
- [2 p] Minkä ongelman (langoitettu) kontrolli ratkaisee?
- [7 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?