Laskuharjoitus
Tietokoneen rakenne, S2006, LH 3
Käsitellään laskuharjoituksissa viikolla 38 (18-22.9.2006)
- Tehtävät B.4 ja B.6 [Stal06, p. 731] (A.4, A.6 [Stal03])
(A.4, A.6 [Stal99])
- [2 HTP] Tehtävä B.8 [Stal06] (A.8 [Stal03]) (A.8 [Stal99])
HUOM: vain kokonaiskuva ja Z1:n detaljit
Osa (d): Anna SOP-muotoa vastaava Z1:n Karnaugh-kartta ja sen avulla
muodostettu mahdollisimman yksinkertainen Z1:n SOP-muotoinen Boolean
lauseke.
- Tehtävä 4.9 [Stal06] (4.8 [Stal03]) (4.14 [Stal99])
Ks. myös Fig
4.15.pdf [Stal06 tai Stal03].
Anna esimerkki tilanteesta, jolloin approksimaatio ei toimi (esim. korvataan
välimuistin rivi A, vaikka riviin B viittauksesta on kulunut pidempi aika).
Miksi se ei toimi?
- Prosessorilla on yhdistetty lopuksi kirjoittava välimuisti (unified write
back cache). Siitä löytyy 98% kaikista muistiviitteistä (hit ratio).
Keskimäärin joka käskyä kohden on 1.4 muistiviitettä (siis käsky itse
plus 0.4 dataviitettä). Välimuistin rivin pituus on 4 sanaa.
Systeemiväylällä on tapahtumatyyppi, jonka avulla koko välimuistin rivi
voidaan lukea muistista tai kirjoittaa muistiin 50 kellopulssin aikana (CPU
cycles). Yhden sanan lukemiseen tai kirjoittamiseen menee 30 kellopulssia.
Välimuistin lohkoista noin 20% ovat sellaisia datalohkoja, johin on
kirjoitettu. Käskyn suoritukseen kuluu keskimäärin 5 kellopulssia plus
aika niiden muistiviitteiden käsittelyyn, jotka eivät löydy
välimuistista. Muistiviitteen käsittelyn aikana prosessori odottaa.
Prosessori suorittaa yhden käskyn kerrallaan.
- Montako kellopulssia menee käskyn suorittamiseen keskimäärin
tällä prosessorilla?
- Montako kellopulssia menisi käskyn suorittamiseen keskimäärin, jos
prosessorissa ei olisi välimuistia?
">Teemu Kerola