581365-8 Tietokoneen rakenne, erilliskoe 1.6.2004  [Suomeksi Other side in English]

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

  1. [15 p] IA-64 ja Itanium.
    1. [3 p] Selitä käsite "predikoitu suoritus (predicated execution)". Miksi siitä on etua?
    2. [4 p] Selitä käsite "spekulatiivinen lataus tai kontrollispekulointi (speculative loading or control speculation)". Miksi siitä on etua? Milloin siitä on haittaa?
    3. [4 p] Selitä käsite "data spekulointi (data speculation)". Miksi siitä on etua? Milloin siitä on haittaa?
    4. [4 p] Selitä käsite "ohjelmisto liukuhihnoitus (software pipelining)". Miksi siitä on etua?
       
  2. [15 p] Boothin algorithmi kokonaislukujen kertolaskuun.
    1. [6 p] Mikä on Boothin algoritmin perusidea?
    2. [5 p] Näytä esimerkkinä, miten algoritmi toimii kertolaskun 14*14 yhteydessä.
    3. [2 p] Milloin Boothin algoritmi on nopeampi kuin tavanomainen ratkaisu? Anna esimerkki.
    4. [2 p] Milloin Boothin algoritmi on hitaampi kuin tavanomainen ratkaisu? Anna esimerkki.
       
  3. [15 p] Välimuisti. Oletetaan, että (epärealistisen pienessä välimuistiratkaisussa) 4-tavuisen sanan 16-bittinen tavuosoite on 0xA0B1 (heksadesimaali A0B1). Välimuistin rivin pituus (cache line size) on 16 tavua ja välimuistin koko (cache size) 256 tavua.
    1. [4 p] Tee (kuvallinen) esimerkki ja näytä miten viitattu muistipaikka löytyy välimuistista, kun käytössä on suoraa kuvausta (direct mapping) käyttävä kuvausfunktio (mapping function)?
    2. [4 p] Tee (kuvallinen) esimerkki ja näytä miten viitattu muistipaikka löytyy välimuistista, kun käytössä on täysin assosiatiivista (associative or fully associative) kuvausta käyttävä kuvausfunktio.
    3. [4 p] Tee (kuvallinen) esimerkki ja näytä miten viitattu muistipaikka löytyy välimuistista, kun käytössä on joukkoassosiatiivista kuvausta joukon koolla 2 (2-way set associative mapping) käyttävä kuvausfunktio?
    4. [3 p] Mitkä ovat eri osoitekenttien nimet/pituudet kunkin kuvaustyypin yhteydessä?
    Voit olettaa esimerkeissäsi, että viitattu muistipaikka löytyy välimuistista.
     
  4. [15 p] Mikro-ohjelmoitu kontrolli (microprogrammed control)
    1. [2 p] Minkä ongelman suorittimen kontrolli ratkaisee?
    2. [5 p] Miten mikro-ohjelmoitu kontrolli on toteutettu?
    3. [3 p] Mitkä etuja/haittoja mikro-ohjelmoidun kontrollilla on langoitettuun (hardwired) kontrolliin verrattuna?
    4. [3 p] Millä kolmella eri tavalla seuraava mikro-ohjelman kontrolliosoite ("micro-program PC", control address) voidaan tuottaa ja missä tilanteessa niitä kutakin käytetään?
    5. [2 p] Miten keskeytykset toteutetaan mikro-ohjelmoidussa kontrollissa?