TQ: Maskinarkitektur Flashcards

Theory Questions

1
Q

Forklar kort hva som er de to hovedoppgavene til et operativsystem

A

Skape et pent grensesnitt for brukere, og styre ressursene til systemet.

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

Hva er et “directive” i Assembly?

A

Metainfo. Sier noe om hvordan Assembly-koden skal kjøres.

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

Hva er pipelining og superskalar i en prosessor?

A

Pipelining er når man kjører flere instruksjoner parallellt. Blir som et samlebånd av mindre instruksjoner.
Superskalar er en utvidelse av pipelining ved at man har flere enheter som kan jobbe med samme steg i pipelinen.

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

Hva menes med kernel mode og user mode?

A

I kernel mode har man ubegrenset tilgang til datamaskinen og all dens funksjonalitet (registre, I/O). I user mode kjører bare brukerapplikasjoner.

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

Hva mener med hyperthreading?

A

Man øker antall kjerner, og kan holde statusen til flere tråder samtidig og bytte mellom dem raskt.

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

Hva er ulempen med direkte mappet cache?

A

Hvis to oppslag i en loop indekseres til samme sted i cache, vil de vekselvis kaste hverandre ut fra cache.

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

Hvordan finner CPU riktig “vei” til sett/associatve cache?

A

Noen av bit-ene i adressen brukes som indeks for å finne sett. For å finne vei søkes det parrallelt på alle tags (kostbart).

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

Nevn de tre typene interrupt, og hvordan de kan oppstå.

A

Hardware: I/O som blir ferdig
Software: En instruksjon fra et program, f.eks lese fra fil
Exceptions: Interne interrupts, f.eks å dele på null

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

Hva er oppgaven til en C-kompilator? Hva er forskjellen på C-kode, Assembly og maskinkode?

A

Kompilator skal “oversette” C-kode til maskinkode. C er høynivåspråk, assembly er tekstlig representasjon av maskinkode og maskinkode er bare binærkode til maskinen.

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

Hvor store cache-lines har en 2-veis-sett-assosiativ cache som er 32KB stor og har 128 sett?

A

2^7 aka 128 bytes (husk å dele på 2 og, 2-veis)

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