Tietokoneen rakenne, kurssikuulustelu 2.11.2001 Arvostelija: Raine Kauppinen ---------------------------------------------------- Tehtävä 1 (12 pistettä) [Laskuharjoitus 2, tehtävä 2.] a) 3 pistettä X Z 1 2 3 4 5 A B C D 0: 0 0 0 0 1 1: 0 0 0 1 0 2: 0 0 1 0 1 3: 0 0 1 1 0 4: 0 1 0 0 0 5: 0 1 0 1 0 6: 0 1 1 0 1 7: 0 1 1 1 0 8: 1 0 0 0 1 9: 1 0 0 1 0 10: 1 0 1 0 d 11: 1 0 1 1 d 12: 1 1 0 0 d 13: 1 1 0 1 d 14: 1 1 1 0 d 15: 1 1 1 1 d (d = don't care) Arvostelu: - 3p: oikea ratkaisu - 2p: pieni virhe tai puute ratkaisussa, esimerkiksi totuustaulu lievästi puutteellinen tms. - 1p: periaate oikea, mutta vastaus selvästi virheellinen esimerkiksi useiden virheiden johdosta, esimerkiksi totuustaulussa useita virheitä tai totuustaulussa useampia puutteita tms. - 0p: ratkaisu niin virheellinen, ettei sen periaate tule ilmi b) 3 pistettä SOP: [A][B][C][D] + [A][B]C[D] + [A]BC[D] + A[B][C][D] (AB = A AND B, A+B = A OR B, [A] = NOT A) Arvostelu: - 3p: oikea ratkaisu - 2p: pieni virhe ratkaisussa - 1p: periaate oikea, mutta vastaus selvästi virheellinen esimerkiksi useiden virheiden johdosta - 0p: ratkaisu niin virheellinen, ettei sen periaate tule ilmi c) 3 pistettä CD 00 01 11 10 00 1 1 AB 01 1 11 d d d d 10 1 d d Valinnat: CD 00 01 11 10 00 1 1 AB 01 => [B][D] 11 10 1 d ja CD 00 01 11 10 00 1 AB 01 1 => C[D] 11 d 10 d => [B][D]+C[D] Arvostelu: - 3p: oikea ratkaisu - 2p: pieni tulokseen vaikuttava virhe ratkaisussa, esimerkiksi bittiparien järjestys kartassa väärin; po. 00-01-10-11 tai don't care -bittejä ei käytetty tms. - 1p: ajatus oikea, mutta tulos pahasti väärin, esimerkiksi ykkös+d -bittinen valinnat huonot tai valinnoista saadut tulokset pahasti väärät tai useita pieniä tulokseen vaikuttavia virheitä tms. - 0p: ratkaisu niin pahasti virheellinen, ettei siitä selviä kartan käytön ideaa d) 3 pistettä [([A][B][C]D) AND ([A][B]CD) AND ([A]B[C][D]) AND ([A]B[C]D) AND ([A]BCD) AND (A[B][C]D) =>] POS: (A+B+C+[D]) AND (A+B+[C]+[D]) AND (A+[B]+C+D) AND (A+[B]+C+[D]) AND (A+[B]+[C]+[D]) AND ([A]+B+C+[D]) Arvostelu: - 3p: oikea ratkaisu - 2p: pieni virhe ratkaisussa - 1p: periaate oikea, mutta vastaus selvästi virheellinen esimerkiksi useiden virheiden tai komplementoinnin unohtamisen johdosta - 0p: ratkaisu niin virheellinen, ettei sen periaate tule ilmi Pistejakauma: 0p: 1 1p: 0 2p: 0 3p: 1 4p: 0 5p: 0 6p: 2 7p: 1 8p: 8 9p: 2 10p: 9 11p: 4 12p: 2 Keskiarvo 8,7 pistettä. ---------------------------------------------------- Tehtävä 2 (12 pistettä) a) 2 pistettä - virtuaalimuisti ratkaisee ongelman, jossa tarvitaan enemmän muistia kuin keskusmuistia on (eli: miten saada muisti yhtä suureksi kuin levymuisti) (1p) - virtuaalimuistin avulla ongelma ratkaistaan pitämällä osa tiedoista (äskettäin tarvitut) keskusmuistissa, loput levyllä (1p) b) 2 pistettä - alueelliseen ja ajalliseen paikallisuuteen, ts. suoritettavat käskyt ovat usein lähekkäin (peräkkäinen suoritus) (1p) ja samoja käskyjä toistetaan usein lyhyen ajan sisällä paljon (esim. silmukat) (1p) c) 3 pistettä - TLB:ssä (Translation Lookaside Buffer) pidetään lähiaikoina käytettyjä osoitteenmuunnostietoja (1p) - TLB on virtuualimuistin "välimuisti", ts. se nopeuttaa hidasta osoitteenmuunnosta (sivutaulun tiedot keskusmuistissa, TLB prosessorin yhteydessä) (1p) - TLB:stä on hyötyä, koska prosessori odottaa osoitteenmuutoksen ajan; osoitteenmuunnostiedot TLB:ssä => huomattavasti nopeampi toiminta (1p) d) 3 pistettä Yhteistä (2p, 1p/yhteinen tekijä) esimerkiksi: - huti molemmissa johtaa prosessorin odottamiseen - molemmat toteutettu laitteistotasolla ja näkymättömiä prosesseille Erilaista (1p) esimerkiksi: - TLB:hen kopioidaan tietoja sivutaulusta (osoitteenmuunnos), välimuistiin sivun tietoja (muistipaikkojen sisältöjä) e) 2 pistettä - käänteinen sivutaulu: rivi jokaista muistissa olevaa sivua kohti (vrt. sivutaulussa rivi jokaista osoiteavaruuden sivua kohti) (1p) - hyöty: vie vähemmän tilaa, haitta: monimutkaisempi etsintä (hajautusfunktio) (1p) Pistejakauma: 0p: 0 1p: 0 2p: 0 3p: 2 4p: 1 5p: 2 6p: 2 7p: 6 8p: 4 9p: 3 10p: 6 11p: 3 12p: 1 Keskiarvo 7,9 pistettä. ---------------------------------------------------- Tehtävä 3 (12 pistettä) a) 8 pistettä - datariippuvuudet (2p): - myöhempi käsky tarvitsee aiemman kirjoittamaa tietoa (write-read eli todellinen datariippuvuus, true data dependency) - I1/I2, I1/I4, I1/I7, I2/I5, I3/I4, I3/I7, I4/I5, I7/I8 - rakenteelliset riippuvuudet (2p): - useampi käsky tarvitsee samaa resurssia (esimerkiksi yhteenlaskupiiriä) samanaikaisesti - I1/I3, I2/I4, I2/I7, I4/I7, I1/I6, I3/I6 (oletuksena 1-vaiheiset ALU-käskyt ja 1 väylä muistiin (MBR/MAR)) - kontrolliriippuvuudet (2p): - ehdollisten hyppykäskyjen jälkeisten käskyjen suorittaminen riippuu ehdon toteutumisesta (hypätäänkö vai ei) - I6/I7 - välttäminen/vaikutusten vähentämiskeinoja (2p, 1p / keino) esimerkiksi: - rakenteelliset riippuvuudet: lisäresurssit (esim. useampi yhteenlaskupiiri), resurssien jako pienempiin osiin (esim. useampivaiheinen yhteenlasku) - kontrolliriippuvuudet: delay-slotin käyttö b) 4 pistettä - kirjoitusriippuvuus (1,5p): - aiempi käsky ei ole vielä ehtinyt kirjoittaa paikkaan, johon myöhempi käsky kirjoittaa (write-write) - I1/I3, I4/I5 - antiriippuvuus (1,5p): - aiempi käsky ei ole vielä ehtinyt lukea paikasta, johon myöhempi käsky kirjoittaa (read-write) - I2/I3, I4/I5 - välttäminen/vaikutusten vähentäminen (1p): - esimerkiksi uudelleennimeämisrekisterit (tai kolmen operandit käskyt tai lisärekisterit) Pistejakauma: 0p: 2 1p: 1 2p: 1 3p: 0 4p: 2 5p: 1 6p: 3 7p: 2 8p: 2 9p: 5 10p: 6 11p: 4 12p: 1 Keskiarvo 7,5 pistettä. ---------------------------------------------------- Tehtävä 4 (12 pistettä) a) 3 pistettä - langoitettu kontrolliyksikkö ohjaa CPU:n toimintaa, eli saa tietokoneen suorittamaan konekielisiä käskyjä (1p) - tämä tapahtuu mikro-operaatioiden avulla (1 kellopulssi / operaatio) (1p) - langoitetussa kontrolliyksikössä mikro-operaatiot on toteutettu fyysisellä langoituksella, ei ohjelmana (1p) b) 3 pistettä - esim. kuva 14.10 kirjasta tai luentokalvojen luvun 14 kuva sivulla 20 (1p) - kuvaa vastaava selitys (2p) c) 2 pistettä (1p/ongelma), esimerkiksi: - vaikeampi suunnitella, toteuttaa ja optimoida - vaikeampi tehdä muutoksia d) 2 pistettä (1p/etu), esimerkiksi: - nopeampi, pienempi - yksinkertaisempi rakenne kuin ohjelmoidussa e) 2 pistettä - RISC kannattaa toteuttaa langoitettuna (1p), koska RISC-käskykanta on pienikokoinen ja yksinkertainen (1p) Pistejakauma: 0p: 0 1p: 0 2p: 1 3p: 1 4p: 3 5p: 2 6p: 3 7p: 3 8p: 6 9p: 5 10p: 2 11p: 2 12p: 2 Keskiarvo 7,5 pistettä. ---------------------------------------------------- Kokeesta saadut pistemäärät satunnaisessa järjestyksessä (max 48): 28, 18, 40, 33, 26, 23, 22, 34, 29, 22, 06, 38, 31, 33, 33, 36, 35, 33, 23, 37, 32, 45, 35, 36, 34, 29, 39, 42, 40, 39. Keskiarvo 31,7 pistettä. ----------------------------------------------------