Eksamenspørsmål Flashcards

1
Q

Hva er de to fundamentale enhetene i et digitalt system, på øverste nivå i designhierarkiet?

A

De to fundamentale enhetene er styreenhet (control unit) og utførende enhet (datapath)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er et register?Definer så presist du kan hva vi mener med begrepet register i datamaskinarkitektur.

A

Et register er et antall vipper (flip-flopper), eventuelt med kombinatorisk logikk, som utfører data-
prosesseringsoppgaver (mikrooperasjoner) på lagret informasjon.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hva er en ALU?

A

En ALU er en kombinatorisk krets som utfører et antall grunnleggende aritmetiske og logiske operasjoner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hva er et styreord?

A

Et styreord er en samling av digitale signaler som kontrollerer mikrooperasjonene utført i utførende enhet (datapath).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hva er en ISA (Instruction Set Architecture)?

A

En instruksjon er en samling av biter som utfører en bestemt operasjon. Et instruksjonssett er samlin- gen av instruksjoner en datamaskin kan utføre. En instruksjonssettarkitektur er en presis spesifikasjon av funksjonaliteten i en datamaskins instruksjonssett.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Man grupperer instruksjonene i en ISA i tre kategorier, hvilke? To av tre kategorier gir full uttelling.

A

Instruksjoner grupperes i kategoriene dataoverføring, datamanipulasjon og programkontroll (flyt- kontroll).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hva er en register-til-registerarkitektur (load/store architecture)?

A

I en register-til-register arkitektur vil kun load- og store-instruksjonene adressere minnet. Alle operasjoner på verdier i minnet må foretas via disse instruksjonene.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvordan hentes og avleveres operander i null-adresse instruksjoner sammenlignet med en-, to- og tre-adresse instruksjoner?

A

Null-adresse instruksjoner henter og avleverer operander vha. en stakk (stack).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Nevn minst to karakteristiske egenskaper ved en RISC-arkitektur (ReducedInstructionSetComputer) og gi minst ett eksempel på en RISC-arkitektur som er i bruk i dag.

A

Karakteristiske egenskaper er: Load/store-design, fast lengde på instruksjonene, få adresseringsmodi, mange generelle registre, fast koblet kontrollenhet, samlebåndsdesign. Lite og enkelt instruksjonssett godtas også. Arkitekturer i bruk i dag: ARM, Atmel AVR, PowerPC, SuperH (Hitachi) og SPARC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hva menes med minneavbildet (memory-mapped) I/O?

A

Minneavbildet I/O betyr at det benyttes felles kontroll-, adresse-, og databusser for å aksessere inn- holdet i hovedminnet og I/O-enhetene. Spesielle adresser i adresseringsområdet er avsatt til I/O- enheter og de samme instruksjonene brukes til å aksessere hovedminnet og I/O-enhetene.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hva er DMA (Direct Memory Access)?

A

DMA er direkte overføring av data mellom en I/O-enhet og hovedlageret. Prosessoren tar seg kun av oppstart av dataoverføringen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sorter disse enhetene i minnehierarkiet på aksesstid: cache, RAM, register.

A

Sortert på stigende aksesstid: register, cache, RAM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Forklar kort hva som menes med hot-one tilstandskoding og hvilke fordeler/ulemper dette har.

A

Tilstandkodingen til en tilstandsmaskin bestemmer hvilke verdier (0 eller 1) som står på kretsens vipper når den er i den enkelte tilstand. Med hot-one tilstandskoding bruker man like mange vipper som man har tilstander. Hver vippe har verdien 1 for en og bare en tilstand. Det vil dermed bare være en vippe som har verdi 1 for hver tilstand, og når man går fra en tilstand til en hvilken som helst annen, så er det to og bare to vipper som endrer verdi. Dette gir (potensielt) opphav til en enkel og rask nestetilstandslogikk, noe som igjen kan gi høy klokkehastighet på tilstandsmaskinen. Ulempen med hot-one koding er det store antall vipper, N istedenfor ⎡log2N⎤ hvis du har N tilstander. Selv om nestetilstandslogikken blir enkel for hver vippe blir det også (potensielt) mye av den, siden det er mange vipper. Kretsen vil dermed bli større og derfor dyrere å produsere.
Med fire tilstander trenger vi fire vipper. Vi kan da for eksempel velge S0=0001, S1=0010, S2=0100 og S3=1000.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

T/F
:Oppførselen beskrevet i et ASM-diagram kan implementeres som en tilstandsmaskin ved hjelp av metoden ”sekvensregister og dekoder

A

Riktig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

T/F

:En DMA-enhet avlaster prosessoren for hovedlageroverføringer, men prosessoren må likevel starte overføringene.

A

Riktig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

T/F

:Ved et prosedyrekall er det nødvendig å lagre returadressen.

A

Riktig

17
Q

T/F

:En tønneskifter (eng: barrel shifter) er en kombinatorisk skifter som kan skifte flere bit om gangen.

A

Riktig

18
Q

T/F
:Fremsending av data (eng: data forwarding) er en maskinvareløsning for å løse enkelte dataavhengigheter i samlebåndsprosessorer.

A

Riktig

19
Q

T/F
:Med lageravbildet I/O (eng: memory mapped I/O) kan vi lese fra og skrive til I/O- enheter med de samme instruksjonene som benyttes for å lese fra eller skrive til hovedlager.

A

Riktig

20
Q

Gjør en vurdering av fordeler og ulemper med virtuelt minne.

A

+ gir tilgang til et stort, uniformt, virtuelt adresseringsområde ut over hva som kan være tilgjengelig av fysisk minne uten å programmere eksplisitt for dette (f.eks. vha overlay-programmering mot disk).
+ muligheterfordelingavkodeogdatamellomprosesser(programmer)vedåavbildevirtuelleadresser i forskjellige prosesser til samme fysiske adresse
+ kan gi redusert minnebruk siden prosesser ofte reserverer mer minne enn det som faktisk brukes.
+ gjør programmet uavhengig av størrelsen på fysisk minne
+ flytte et kjørende program i minnet (relokere) eller øke/minske størrelsen av et kjørende program
- oversetting fra virtuell til fysisk adresse kan gi dårlig ytelse på minneaksess, avhengig av applikasjo- nens minneaksessmønster og om det er maskinvarestøtte for oversettingen (TLB),
- kan gi inkonsistente responstider pga ikke-predikterbare interrupts (OS jitter) – embedded-systemer og andre spesialiserte systemer kan derfor velge å ikke implementere VM.

21
Q

Gitt tallet 1110110 på 2’ komplementformat. Hvor mange bit trenger du for å representere tallet når du ønsker å benytte så få bit som mulig? Forklar.

A

For 2’s-komplementtall er det mest signifikante bittet fortegnsbit. Vi kan forlenge eller forkorte fortegn, det vil si legge til eller slette bit som er identiske med fortegnet, så lenge det gjenværende fortegnet er det same. Vi kan altså i dette tilfellet nøye oss med å bruke 10110.

22
Q

Hva er forskjellen på minne-til-minnearkitektur og register-til-registerarkitektur i en instruksjons- settarkitektur (ISA). Gi eksempler på fordeler og ulemper ved de to teknikkene.

A

En minne-til-minnearkitektur henter operand(er) og destinasjon til ev. resultat fra adresser i hovedminnet. En slik arkitektur har kun kontrollregistre. En register-til-registerarkitektur tillatter kun en minneadresse, begrenset til å laste opp eller lagre et datum. Registerarkitekturen krever en registerfil av en viss størrelse, siden alle operasjoner på data skjer gjennom registre. Minnearkitekturene gir gjerne liten kodestørrelse, men er langsom på grunn av det store antallet minneaksesser. Registerarkitekturen er mye brukt i moderne prosessorer, og gir typisk et enklere instruksjonssett som er lettere å dekode, selv om et program ofte tar mer plass i minnet og det er behov for ekstra logikk til registerfilen. Det er også mer komplekst å lagre tilstand ved kontekstbytte i en registerarkitektur.

23
Q

Forklar hva som menes med og hvilken rolle adresseringsmodi har i en ISA? Hva menes med impli- sitt (implied), direkte (immediate) og register adresseringsmodus? Gi minst ett eksempel fra referansekortet på hver av direkte og register adresseringsmodus.

A

Adresseringsmodi angir hvordan operandene til en instruksjon skal hentes inn for å utføre instruksjonen, fra registre eller som en beregnet effektiv adresse (EA).
Implisitt
Operanden er angitt indirekte gjennom opkoden, f.eks. en instruksjon ADD som adderer to elementer
på stakken. Implisitte operander kan også være avledet av andre operander.
Direkte
Operanden er angitt som en konstant i instruksjonen, f.eks. tallet 4 i instruksjonen addi r3,r4,4. Register
Operanden er angitt som et registernummer i instruksjonsordet, f.eks. resultatregistret r3 og kilde- registret r4 i instruksjonen addi r3,r4,4.

24
Q

Hva menes med data-foroversending (data forwarding) i en pipelinet maskin, og hvordan brukes slik maskinvare for å forbedre utførelsestiden?

A

Data-foroversending kobler utgangen av funksjonsenheten(e) (EX-trinnet) tilbake til operand fetch (DOF- trinnet) via en MUX slik at instruksjoner som skal lese en operand skrevet i forrige instruksjon kan hente denne direkte fra EX-trinnet, og slipper å vente til den er skrevet til registerfilen i WB-trinnet. Dette reduserer utførelsestiden ved at man unngår bobler (stalls) samlebåndet (pipelinen).

25
Q

Hva er hovedproblemet når det gjelder ytelse i en ensyklusmaskin, og hvordan brukes samlebånds-
prinsippet (pipelining) for å forbedre dette?

A

Hovedproblemet med en ensyklusmaskin er at portforsinkelsen i lengste sti, gjennom ALU eller andre funk- sjonsenheter, begrenser maksimum klokkefrekvens på designen. Samlebåndsprinsippet deler instruksjons- utførelsen inn i M trinn, og tillater M instruksjoner å være under utførelse samtidig. Etter M − 1 klokke- sykluser (CP) kan man få utført en instruksjon per CP, ideellt med en n ganger høyere frekvens enn en tilsvarende ensyklusmaskin.

26
Q

Nevnt minst to fordeler ved bruk av tristate-bufre fremfor multipleksere (MUX-er) ved konstruksjon av digitale kretser for registeroverføring.

A
Mulige fordeler er
• Færre linjer
• Mulig med mange kilder • Bidireksjonale busser
• Færre pinner
• Mer energieffektiv
27
Q

Gi en redegjørelse for forholdet mellom et styreord og en instruksjon, og begrunn hvorfor man må
ha både styreord og instruksjonssett i en maskinvaredesign.

A

Styreordet er samlingen av kontrollsignaler fra styreenhet til utførende enhet. Instruksjonsordet er en sam- ling av bitfelter som beskriver hvilke operasjoner prosessoren skal kunne utføre, og på hvilke operander. Innholdet i styreordet er nært knyttet til hvilke maskinvareløsninger man velger i utformingen av utførende enhet.
Styreordet kontrollerer utførelsen av mikroinstruksjoner i utførende enhet. En instruksjon kan bestå av en eller flere mikroinstruksjoner. Instruksjoner oversettes til styreord i instruksjonsdekoderen, en kombinatorisk eller sekvensiell krets.
Mulige instruksjoner, instruksjonssettet, bestemmer hvordan enheten programmeres. Den samme program- varen kan benyttes til flere maskinvareløsninger, og flere generasjoner av maskinvaren. Det betyr at styreord og instruksjon må kunne beskrives og utvikles hver for seg.

28
Q

Hva kjennetegner direkteavbildet Cache?

A
  • Cache-linjen er gitt av bitene 2-4 i minneadressen.
  • Tag-feltet lagrer bitene 5-9 av minneadressen
  • Krever logikk for å sammenligne tag når det skal sjekkes om oppslaget er lagret i hurtigbufferet.
  • Et treff i hurtigbufferen er et hit.
29
Q

Hva kjennetegner full-assosiativ avbildning?

A
  • Et ord kan ligge i en vilkjårlig cachlinje 1-8.

- Tagfeltet angir hva som ligger hvor- inneholder hele minneadressen unntatt byte-feltet.

30
Q
Sammenlign direkte og full-assosiativ ut i fra: 
Ordplassering
Utnyttelse
Vanskelighet å slå opp
Kasting av adresser
A

–Direkte–
Ord plassering gitt av hovedlageradresse, dårlig utnyttelse, enkel å slå opp, enkelt å vite hva som skal kastes.
–Full-assosiativ–
Ord plasseres hvor som helst, god utnyttelse, komplisert å slå opp pga mange sammenligninger, first-in-first-out og -least-reacently-used og random.