581365 Tietokoneen
rakenne
Erilliskuulustelu
16.9.2008
1. YHDISTELMÄPIIRI JA DIGITAALILOGIIKKAA [15p]
BCD-esityksessä (Binary Coded Decimal) numerot koodataan 4-bitin yhdistelminä. Numeroita 0, 1, 2, ..., 9 vastaavat bittiesitykset ovat siten 0000, 0001, 0010, ..., 1001. Yhdistelmäpiiriä (combinatorial circuit) käytetään kasvattamaan BCD-numeron arvoa yhdellä (modulo 10). Piirillä on siis 4 sisäänmenoa (A, B, C ja D) sekä 4 ulostuloa (W, X, Y, Z).
-
Anna totuustaulukko, josta käy ilmi kutakin sisääntuloa vastaava ulostulo. (2p)
- Anna ulostulon X Boolen lauseke SOP-muodossa (sum of products). (3p)
- Anna ulostulon X Boolen lauseke POS-muodossa (product of sums). (4p)
- Anna ulostuloa X vastaava Karnaugh-kartta ja sen avulla muodostettu mahdollisimman yksinkertainen X:n Boolen lauseke.
2. RISC JA REKISTERI-IKKUNA [15p]
-
Selvitä kolme RISC-arkkitehtuurin keskeistä piirrettä ja kerro lyhyesti saatavat hyödyt. (6 p)
- 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).
- Miten ohjelman käyttämä rekisterinumero muutetaan fyysiseksi rekisterinumeroksi? (2p)
- Miten kutsuttu aliohjelma viittaa globaaleihin muuttujiin, parametreihin ja paikallisiin muuttujiiinsa? Entä kuinka kutsuja pääsee käsiksi aliohjelman palauttamiin arvoihin? (3 p)
- Miten käsitellään tilanne, jossa kaikki rekisteri-ikkunat ovat jo käytössä ja tulee vielä uusi aliohjelmakutsu? (2 p)
- Olisiko sittenkin parempi suuren rekisterimäärän sijaan käyttää vain pientä määrää rekistereitä ja välimuistia? (2 p)
3. IA-64 JA ITANIUM [15p]
Selitä seuraavat käsitteet. Anna kullekin (konekielitason) esimerkki.
-
Predikoitu suoritus (predicated execution) (3 p)
- Spekulatiivinen lataus tai kontrollispekulointi (speculative loading or control speculation)(4 p)
- Dataspekulointi (data speculation) (4 p)
- Ohjelmistoliukuhihnoitus (software pipelining) (4 p)
4. MIKR0-OHJELMOITU KONTROLLI [15 p]
-
Mitkä ovat kontrolliyksikön tehtävät? (2 p)
- Miten mikro-ohjelmoitu (microprogrammed)
ja langoitettu (hardwired) kontrolli eroavat
toisistaan? Mitkä ovat kummankin edut ja haitat? (4 p)
- Mikä on mikrokäsky?
Miten horisontaalinen (horizontal) mikrokäsky eroaa vertikaalisesta
(vertical) mikrokäskystä? Mitkä ovat kummankin edut ja haitat?
(4 p)
- Mitä tapahtuu mikrokäskyn suorituksessa? Miten tiedetään seuraavan mikrokäskyn osoite? (5 p)