Arvosteluperusteita, koe 16.12.1999 ----------------------------------- 1)(a) LH A.8 (2p) (b) totuustaulun ykkösrivit SOP muotoon (2p) tarkasteltiin nollarivejä, mutta muuten OK -1p (c) kartan järjestys muuttuu 1 bitti kerrallaan: 00 01 11 10 (2p) järkevä optimointi "don't care" combinaatioden avulla, ks. s. 678-681 (d) totuustaulun nollarivit SOP muotoon (ehto arvolle 0) ja (2p) siitä negaatiolla DeMorganin lain avulla POS muotoon (ehto arvolle 1) 2)(a) ongelman ratkaisutapoja: liukuhihnan tyhjennys, NOP-käsky, (6p) viive-tila, viivästetty haarautuminen (delayed branch), monta käskyvirtaa, hyppykäskyn kohteen ennakoiva nouto, silmukkapuskuri, haarautumisen ennustaminen (branch prediction) staattisesti (joko aina samoin tavoin tai esim operaatiokoodin perusteella), haarautumisen ennustaminen dynaamisen käyttäytymisen perusteella, haarautumisen ja sen kohteen ennustamistaulu (branch history table) (b) Ne eivät vaikuta, koska seuraavaa käskyä ei haeta ennen (2p) kuin edellinen on suoritettu loppuun. Ennakoivan noudon yhteydessä haarautumiskäskyllä on kuitenkin vaikutusta, mutta tätä voi ajatella myös eräänlaisena liukuhihnoituksena. 3)(a) Horisontaalinen vs vertikaalinen: yksinkertaisempi kontrolli, (2p) voi olla nopeampi, vie enemmän tilaa, voi tehdä monta asiaa samaan aikaan, vaikeampi suunnitella (samanaikaisuuden hallinta) (b) LOAD (Ri) MAR <- Ri (3p) Read Skip Rj <- MDR % Rj apurekisterinä, arvo tuhoutuu ACC <- Rj % 5 jaksoa ADD (Ri+) MAR <- Ri Read Rj <- ACC % arvo talteen ACC <- Ri+1 Ri <- ACC ACC <- Rj % alkuperäinen arvo Rj <- MDR ACC <- ACC + Rj % 8 jaksoa ei skippiä tai turha skip -1p, ACC tuhoutuu Ri:n kasvatuksessa -1p (c) Yhdellä kertaa voi olla kukin kenttä (reg, mem, seq, ALU, (3p) reg. sel, const) olla käytössä. Samasta rekisteristä ei voi lukea ja kirjoittaa samanaikaisesti. Tärkeätä on saada jotain samanaikaisuutta aikaiseksi, vähemmän jaksoja. LOAD (Ri) MAR <-Ri Read Skip Rj <- MDR % Rj apurek. ACC <- Rj % 5 jaksoa ADD (Ri+) MAR <- Ri Read Rj <- ACC % Rj apurek ACC <- Ri + 1 Ri <- ACC ACC <- Rj Rj <- MDR ACC <- ACC + Rj % 7 jaksoa MAR:n asetus ja Read ehkä samalla kertaa... ok ei skippiä tai turha skip 1-p, ACC tuhoutuu -1p, usea rekisteriviite per käsky -1p, jälkimmäisessä ei samanaikaisuutta -2p Kokeesta sai 24 p, ne tuplataan kurssin arvosanan laskemista varten.