581365 Tietokoneen
rakenne
Erilliskuulustelu
3.6.2008
1. BOOTHIN ALGORITMI KOKONAISLUKUJEN KERTOLASKUUN [15 p]
-
Mikä on Boothin algoritmin perusidea? (5 p)
- Näytä esimerkkinä, miten algoritmi toimii kertolaskun 14*14 yhteydessä. (6 p)
- Milloin Boothin algoritmi on nopeampi kuin tavanomainen ratkaisu? Anna esimerkki.(2 p)
- Milloin Boothin algoritmi on hitaampi kuin tavanomainen ratkaisu? Anna esimerkki.
(2 p)
2. VÄLIMUISTI JA TLB [15p]
- Miksi tarvitaan välimuistia
(cache) ja miksi välimuisti toimii? (2 p)
- Miksi käytetään
TLB:tä ja miksi TLB toimii? (2 p)
- Mitä yhteistä/eroa on
välimuistilla ja TLB:llä? Miten niiden toiminta liittyy
toisiinsa? (4p)
- 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.(7 p)
3. SUPERSKALAARI [14p]
-
Miten superskalaari eroaa superliukuhihnasta? Miten superskalaari tuo lisää suoritustehoa? (4 p)
-
Mitkä tekijät rajoittavat superskalaariprosessorin liukuhihnan maksimisuorituskykyä? Anna kustakin
hidastavasta tekijästä esimerkkikoodi. Selvitä lisäksi, kuinka noita ongelmia on pyritty ratkomaan? (10 p)
4. IA-64 JA ITANIUM [16p]
Selitä seuraavat käsitteet. Anna kullekin (konekielitason) esimerkki.
-
Predikoitu suoritus (predicated execution) (4 p)
-
Spekulatiivinen lataus tai kontrollispekulointi (speculative loading or control speculation).(4 p)
-
Dataspekulointi (data speculation) (4 p)
-
Ohjelmistoliukuhihnoitus (software pipelining) (4 p)
In English on the other side!