in English Other side in English

Tietokoneen rakenne, kuulustelu 7.6.2011

Voit vastata suomeksi, ruotsiksi tai englanniksi.
Kirjoita jokaiseen vastauspaperiin: nimi, nimikirjoitus, opiskelijanumero, kurssin nimi ja sivunumero.
Kirjoita vastauspaperiin kaikki tekemäsi olettamukset. Kuhunkin tehtävään riittää 1-2 sivun vastaus.
Koe arvostellaan vasta heinäkuussa.

  1. [10 p] Lyhyesti
    1. Mitä tarkoittavat termit ”big endian” ja ”little endian”? Anna bittitason esimerkki.
    2. Mikä on sivunpuutoskeskeytys ja miten se käsitellään järjestelmässä?
    3. Mikä on TLB? Mihin ja milloin sitä käytetään?
    4. Selitä mistä on kyse, kun väylä käyttää aikavuorottelua (multiplexing). Anna PCI-väylään liittyvä esimerkki.
    5. Mitä tarkoittaa väylän vuoronvalinta? Millä kahdella tavalla se voidaan toteuttaa?
       
  2. [8 p] Välimuisti.
    1. [4 p] Mihin ongelmaan MESI-protokolla on ratkaisu? Miten MESI-protokolla pääpiirteittäin toimii?
       
    2. [4 p] Selitä kuinka joukkoassosiatiivinen välimuisti toimii. Käytä esimerkkinä (epärealistisen pientä) välimuistia, jossa osoitteet ovat 16-bittisiä, välimuistirivin pituus on 16 tavua ja välimuistin koko on 512 tavua. Toteutus perustuu joukkoassosiatiiviseen kuvaukseen joukon koolla 2. Käsittelyssä on lukuviite 4-tavuiseen sanaan tavuosoitteessa 0x61A4.

      Selitä esimerkkivälimuistin rakenne yksityiskohtaisesti ja piirrä kuva, josta se käy ilmi. Huolehdi, että vastauksestasi käy selkeästi ilmi kuinka annettu tavuosoite jakautuu osiin (bittitasolla). Selitä, miten viitattu muistipaikka löytyy välimuistista. Oleta, että viitattu muistipaikka löytyy välimuistista tällä kertaa.

  3. [10 p] Kontrolliriippuvuudet. Haarautumiskäskyt vaikuttavat liukuhihnoitetun suorittimen toimintaan merkittävästi. Niiden tehokasta käsittely varten on kehitetty useita menetelmiä. Kerro kustakin menetelmästä kuinka se ratkoo tätä ongelmaa, kuinka ratkaisu on toteutettavissa sekä selvitä ratkaisun hyvät /huonot puolet.
    1. viivästetty haarautuminen (delayed branch)
    2. monta suorituspolkua (multiple streams)
    3. silmukkapuskuri (loop buffer)
    4. haarautumisen dynaaminen ennustaminen (branch prediction)
    5. predikoitu suoritus (predicated execution)

  4. [8 p] Kontrolli
    1. [4 p] Miten mikro-ohjelmoitu (microprogrammed) kontrolli toteutetaan?
    2. Mitkä etuja/haittoja mikro-ohjelmoitulla kontrollilla on langoitetulla (hardwired) kontrolliin verrattuna?
    3. Miten horisontaalinen mikrokoodi eroaa vertikaalisesta mikrokoodista. Anna esimerkki.