581365 Tietokoneen rakenne

Erilliskuulustelu 11.11.2008

  1. TOTUUSTAULU, SOP- JA POS- ESITYKSET SEKÄ KARNAUGH-KARTTA [15 p]
    Binääri koodi muutetaan Gray-koodiksi seuraavan taulukon mukaisesti:

    Binäärikoodi     Gray-koodi
          000             000
          001             001
          010             011
          011             010
          100             110
          101             111
          110             101
          111             100
    1. Laadi totuustaulu piirille, joka muuntaa taulukon binäärikoodina esitetyt luvut Gray-koodin mukaisiksi. (2 p)
    2. Esitä totuustaulu SOP- ja POS-muodossa. (5p)
    3. Yksinkertaista Gray-koodin ulostulomuuttujien esitykset Karnaugh-karttoja käyttäen. (8 p)

  2. VÄLIMUISTI JA TLB [15p]

    1. Miksi tarvitaan välimuistia (cache) ja miksi välimuisti toimii? (2 p)
    2. Miksi käytetään TLB:tä ja miksi TLB toimii? (2 p)
    3. Mitä yhteistä/eroa on välimuistilla ja TLB:llä? Miten niiden toiminta liittyy toisiinsa? (3p)
    4. Oleta, että (epärealistisen pienessä) välimuistiratkaisussa viitatun 4-tavuisen sanan 16-bittinen tavuosoite on 0xA0B4. Välimuistin rivin pituus (cache line size) on 16 tavua ja välimuistin koko (cache size) on 256 tavua.
      Piirrä kuva, josta käy ilmi välimuistin rakenne. Selitä miten mainittu muistipaikka löytyy välimuistista, kun toteutus perustuu joukkoassosiatiiviseen kuvaukseen, jossa joukon koko on 2 (2-way set associative). Huolehdi, että vastauksestasi käy selkeästi ilmi, kuinka annettu tavuosoite jakautuu osiin (bittitasolla). Voit olettaa, että viitattu muistipaikka löytyy välimuistista.(8 p)

  3. RISC JA REKISTERI-IKKUNA [15p]

    1. Selvitä kolme RISC-arkkitehtuurin keskeistä piirrettä ja kerro lyhyesti saatavat hyödyt. (6 p)
    2. SPARC-prosessori käyttää 136 fyysistä rekisteriä, mutta ohjelma voi käyttää vain 32 rekisterinumeroa (r0-r31), joilla se voi viitata rekisteri-ikkunaan. Rekisteri-ikkunoita käytetään aliohjelmakutsujen yhteydessä. Prosessorissa on rekisteri-ikkunoiden hallintaa varten lisäksi rekisterit CWP (current window pointer) ja WIM (window invalid mask).
      1. Miten ohjelman käyttämä rekisterinumero muutetaan fyysiseksi rekisterinumeroksi? (2p)
      2. Miten kutsuttu aliohjelma viittaa globaaleihin muuttujiin, parametreihin ja paikallisiin muuttujiinsa? Entä kuinka kutsuja pääsee käsiksi aliohjelman palauttamiin arvoihin? (3 p)
      3. Miten käsitellään tilanne, jossa kaikki rekisteri-ikkunat ovat jo käytössä ja tulee vielä uusi aliohjelmakutsu? (2 p)
    3. Olisiko sittenkin parempi suuren rekisterimäärän sijaan käyttää vain pientä määrää rekistereitä ja välimuistia? (2 p)
  4. MIKR0-OHJELMOITU KONTROLLI [15 p]

    1. Mitkä ovat kontrolliyksikön tehtävät? (2 p)
    2. Miten mikro-ohjelmoitu (microprogrammed) ja langoitettu (hardwired) kontrolli eroavat toisistaan? Mitkä ovat kummankin edut ja haitat? (4 p)
    3. Mikä on mikrokäsky? Miten horisontaalinen (horizontal) mikrokäsky eroaa vertikaalisesta (vertical) mikrokäskystä? Mitkä ovat kummankin edut ja haitat? (4 p)
    4. Mitä tapahtuu mikrokäskyn suorituksessa? Miten tiedetään seuraavan mikrokäskyn osoite? (5 p)