45214 Datamaskinarkitektur - Øvinger 1995


Løsning 4


Oppgave 1

a)

Snittkostnad:

b)

Snittkosten går mot når .

c)

Forventet tilgangstid for systemet
= P(Data finnes i ) Tilgangstid for
+ P(Data finnes ikke i ) Tilgangstid for
.

d)

Setter inn for fra c) i uttrykket for E:

e)

Oppgave 2

a)

Instruksjonshenting:

Skalar RISC henter en instruksjon pr. sykel, mens superskalar RISC kan vanligvis hente mer enn en instruksjon pr. sykel.

Samlebåndsarkitektur:

I en superskalar RISC med m enheter, kan opp til m samlebånd være aktive i en base-sykel. En skalar prosessor tilsvarer en superskalar prosessor med m = 1.

Prosessor-ytelse:

En superskalar RISC med m enheter kan ha en ytelse som tilsvarer m ganger en skalar RISC, når vi antar at de har samme klokke-rate og at det ikke er noen data-avhengigheter, kontroll-avhengigheter eller andre ressurs-konflikter mellom instruksjonene.

b)

Både superskalar arkitektur og VLIW-arkitektur har flere funksjonelle enheter. Superskalar arkitektur trenger imidlertid mer avansert maskinvare som f.eks. store ``reorder'' registre og reservasjons-tabeller. Dette er nødvendig for å utnytte ressursene fullt ut. I tillegg trengs programvare løsninger for å håndtere data- og kontroll-avhengigheter og for å øke effektiviteten.

For VLIW-arkitekturer blir instruksjonene ``pakket'' sammen av kompilatoren, slik at flest mulig instruksjoner kan utføres samtidig uten at program-rekkefølge eller algoritme endres. På grunn av denne eksplisitte formen for parallellitet, trengs bare enkel maskinvare- og programvare-støtte under kjøring av programmer. Dekodings-logikk kan f.eks. være enkel.

c)

For skalar CISC eller RISC er bare ett samlebånd aktivt samtidig. I en superskalar RISC kan flere samlebånd være aktive samtidig. For å utnytte alle samlebåndene i en superskalar RISC trengs det derfor avansert maskinvare og programvare. I en VLIW-arkitektur kan flere samlebånd være aktive samtidig. Avanserte kompilatorer samler instruksjoner til lange instruksjons-ord (very long instruction word) slik at flest mulig av de funksjonelle enhetene brukes samtidig.

Oppgave 3

a)

Temporal lokalitet:

Data og kode som har nettopp blitt aksessert, vil med stor sannsynlighet aksesseres om igjen, i nær framtid.

Romlig lokalitet:

Data og kode som har blitt aksessert, vil med stor sannsynlighet ligge i ``nærheten'' av tidligere aksesser.

Sekvensiell lokalitet:

Utførelses-rekkefølgen av instruksjoner vil følge den sekvensielle program-rekkefølgen.

b)

Arbeids-settet (Eng: the working set) er de adresser eller sider som blir referert i et tidsrom. Sider i arbeids-settet brukes ofte og bør ligge i hoved-lageret.

Hvis vindus-størrelsen er stor, vil de residente sidene omslutte flere lokalitets-regioner og størrelsen på arbeids-settet vil sannsynligvis vokse. En stor vindus-størrelse vil øke treff-raten. Men i et multiprogrammert miljø med mange sider som holdes i hoved-lageret for hver prosess, kan ``trashing'' oppstå. På den andre siden vil en liten vindus-størrelse medføre et mindre arbeids-sett og kan dermed gi en lavere treff-rate siden de aktive brukte sidene endres raskt med tiden.

c)

90-10 regelen: Det har blitt observert at 90% av utførelses tiden blir brukt på ca. 10% av koden. Denne regelen viser at små segmenter av kode utføres flere ganger (løkker) og at data som aksesseres er kontinuerlige elementer i en stor tabell-struktur.


Pauline Haddow(pauline@idt.unit.no)
Last modified: Thu Feb 1 16:53:27 MET 1996