Tilbake
2.7

2.7 DRILL — Arkitektur-fakta, cache og abstraksjonsnivå

Full drill på sjanger E + F: sant/usant om arkitektur (med de faste distraktorene), cache-beregning og abstraksjonsrangering.

80 min
14 oppgaver
DRILLArkitektur-faktacacheabstraksjonsnivå
Din fremgang i kapitlet
0 / 14 oppgaver
Kapitlets plass i kurset

Forkunnskaper — sist du var her

Drillen bygger på kap. 2.4, kap. 2.5 og kap. 2.6. Alt du trenger, står ferdig oppfrisket her — slå ikke opp underveis.

1. De fem faste usanne påstandene. Alle fem er usanne:

PåstandSannheten
Teknologiutviklingen gir færre transistorerDet blir flere, og de blir mindre
Klokkesignalet er lagret i RAMDet genereres av en krets, det lagres ikke
Et register er bygd av RAMRegistre er egne, raske kretser i CPU-en
ALU-en ligger utenfor CPU-enDen er en av CPU-ens tre faste deler
En 64-bits ALU krever 65 en-bits ALU-erDet kreves 64 — én per bit

2. Cache-formelen. Et treff koster 1 klokkesykel; et bom koster det oppgaven oppgir.
T=treff1+bomktˉ=TnT = \text{treff} \cdot 1 + \text{bom} \cdot k \qquad \bar{t} = \frac{T}{n}
Snittet skal alltid ligge mellom 1 og bom-kostnaden.
3. Abstraksjonsstigen, høyest til lavest: instruksjon, pipeline, register, logiske porter og invertere, transistor, logiske verdier, volt.
4. Hva som er inne i CPU-en: ALU, kontrollenhet og alle registre. Hovedminnet, disken og inn- og utenhetene ligger utenfor.
Notasjons- og konstruksjonsliste
📜Løsningsoppskriften for sjanger E og F
A. Arkitektur-fakta, svarform F2 (mål: under 30 sekunder per rad).

1. Sjekk mot de fem faste usanne først. Er rada en av dem eller en nær variant, er svaret usant, og du er ferdig.
2. Er den ikke det: still ett av tre spørsmål — hvor ligger det? (inne i eller utenfor CPU-en), hva gjør det? (regner, styrer eller lagrer), hva måler påstanden? (per instruksjon eller per tidsenhet).
3. Les avgrensningen bokstavelig. «Per instruksjon» og «per sekund» gir motsatt svar på samme tema.

B. Cache-beregning, svarform F4 (mål: under 2 minutter).

1. Les om oppgaven oppgir treffrate eller bom-rate. Skriv ned begge tallene.
2. Regn ut de to gruppene, og kontroller at de summerer til n.
3. Vekt hver gruppe: treff med 1 sykel, bom med k sykler. Summer.
4. Regn gjennomsnittet hvis oppgaven ber om det, og kontroller at det ligger mellom 1 og k.
5. Regn med enheter hele veien: «instruksjoner × sykler per instruksjon = sykler».

C. Abstraksjonsrangering, svarform F3 (mål: under ett minutt).

1. Skriv opp sjuerlisten i margen.
2. Noter hvilken retning oppgaven ber om — høyest først eller lavest først.
3. Plasser hvert gitte element i listen. Hopp over nivåer som ikke er med.
4. Les av i den retningen oppgaven ba om.

Den ene fellesregelen: hvert galt alternativ i denne seksjonen svarer til en bestemt feil — en fast usann påstand, en bestemt regnefeil, eller en snudd liste. Kan du hvilke, kan du kontrollere ditt eget svar mot dem.

✏️Eksempel 1: Gjennomarbeidet case — cache med alle feiltallene forklart

Svarform F4. Et program utfører 3200 instruksjoner. Bom-raten er 25 %, og et bom koster 12 klokkesykler.

a) Hvor mange klokkesykler tar kjøringen?

b) Hva er gjennomsnittet per instruksjon?

Alternativene til a): A. 12 000 · B. 9600 · C. 38 400 · D. 29 600

Steg 1 — les ordlyden. Det er bom-raten som er oppgitt: 25 % bom, altså 75 % treff.

Steg 2 — del i to grupper, og kontroller summen.

bom = 0,25 · 3200 instruksjoner = 800 instruksjoner

treff = 3200 − 800 = 2400 instruksjoner

Kontroll: 2400 + 800 = 3200. Stemmer.

Margnotat om uttelling: det er dette steget som gir poengene. Nesten alle feilsvarene i sjangeren oppstår før det er gjort.

Steg 3 — vekt og summer, med enheter.

treff: 2400 instruksjoner · 1 sykel/instruksjon = 2400 sykler

bom: 800 instruksjoner · 12 sykler/instruksjon = 9600 sykler

T = 2400 sykler + 9600 sykler = 12 000 sykler

Svar a): A — 12 000 klokkesykler.

Steg 4 — gjennomsnittet.

12 000 sykler ÷ 3200 instruksjoner = 3,75 sykler per instruksjon

Svar b): 3,75 sykler per instruksjon.

Kontroll: 3,75 ligger mellom 1 og 12, og nærmere 1 enn 12 — som det skal når tre av fire oppslag er treff.

Hvert galt alternativ forklart:

B — 9600. Bommenes bidrag alene, 800 · 12. Feilen er å glemme at treffene også koster én sykel hver. Dette er den farligste distraktoren, fordi tallet står midt i din egen utregning.

C — 38 400. 3200 · 12, altså regnet som om alle instruksjonene var bom. Bom-raten er ikke brukt i det hele tatt.

D — 29 600. Ombyttingen: 800 · 1 + 2400 · 12 = 800 + 28 800 = 29 600. Her er de 800 bommene talt som treff og de 2400 treffene som bom.

Margnotat om negativ poenggiving: alle tre feiltallene er av «rimelig» størrelsesorden. Det er derfor du ikke kan sjekke svaret ditt ved å se om det ser fornuftig ut — du må gjøre kontrollen med gjennomsnittet.

Økt 1 — Arkitektur-fakta og cache (oppgave 1–8, ~45 min)

Første økt er de to store: sant/usant om maskinvare, og regningen. Ta tida på hver oppgave.

📝Oppgave 1
Eksamensnivå, sjanger F

Vurder hver påstand som sann eller usann, og begrunn hver rad.

#PåstandSant/usant
aALU-en ligger inne i CPU-en
bEt register er bygd opp av RAM-celler
cHovedminnet ligger utenfor CPU-en
dKlokkesignalet lagres i RAM mellom hver sykel

📝Oppgave 2
Eksamensnivå, sjanger E

Et program utfører 600 instruksjoner. Halvparten av oppslagene er bom, og et bom koster 8 klokkesykler. Hvor mange klokkesykler tar kjøringen, og hva er snittet per instruksjon?

📝Oppgave 3
Eksamensnivå, sjanger E

Et program utfører 7000 instruksjoner. Treffraten er 80 %, og et bom koster 15 klokkesykler.

a) Hvor mange klokkesykler tar kjøringen?

b) Hvor stor andel av syklene skyldes bom?

📝Oppgave 4
Eksamensnivå, sjanger F

Kryss av alle påstandene som er sanne, og begrunn hvert av de fem.

a) En 64-bits ALU bygges av 65 en-bits ALU-er.

b) Kode og data ligger i samme minne i von Neumann-arkitekturen.

c) Registre er raskere enn hovedminnet.

d) Adressebussen bærer verdien som skal lagres i cellen.

e) Pipeline øker antall instruksjoner som blir ferdige per sekund.

📝Oppgave 5
Eksamensnivå, sjanger E

Et program utfører 2400 instruksjoner. En tredjedel av oppslagene er bom, og et bom koster 9 klokkesykler. Kryss av alle påstandene som stemmer, og begrunn hvert av de fire.

a) Kjøringen tar 8800 klokkesykler.

b) Snittet er omtrent 3,67 sykler per instruksjon.

c) Kjøringen tar 7200 klokkesykler.

d) Bommene står for over 90 % av syklene.

📝Oppgave 6
Eksamensnivå, sjanger F

Koble hver komponent (1–6) til riktig plassering (A–B). Hver plassering kan brukes flere ganger.

1. Programtelleren · 2. Hovedminnet · 3. Kontrollenheten · 4. Harddisken · 5. ALU-en · 6. Instruksjonsregisteret

A. Inne i CPU-en · B. Utenfor CPU-en

📝Oppgave 7
Eksamensnivå, sjanger E

En maskin kjører 9000 instruksjoner med bom-kostnad 25 klokkesykler. I dag er bom-raten 10 %.

a) Hvor mange klokkesykler tar kjøringen i dag?

b) Et nytt mellomlager ville gitt bom-rate 2 % med 10 000 instruksjoner og bom-kostnad 50 sykler i en annen maskin. Regn ut den kjøringen også, og sammenlign gjennomsnittene per instruksjon.

📝Oppgave 8
Eksamensnivå, sjanger E

Et program utfører 4500 instruksjoner. Bom-raten er 40 %, og et bom koster 6 klokkesykler.

a) Regn ut totalt antall klokkesykler og snittet per instruksjon.

b) Tre kandidater svarer 10 800, 27 000 og 18 000. Forklar nøyaktig hvilken regnefeil hver av dem har gjort.

— naturlig pausepunkt —

Økt 2 — Abstraksjonsnivå og blandede sett (oppgave 9–14, ~35 min)

Andre økt er rangeringen og de blandede oppgavene der alle tre temaene møtes i samme sett. Ta pause før du starter.

📝Oppgave 9
Eksamensnivå, sjanger F

Sorter disse fem fra høyest til lavest abstraksjonsnivå.

A. Transistor · B. Pipeline · C. Volt · D. Instruksjonen STA 04 · E. Register

📝Oppgave 10
Eksamensnivå, sjanger F

Sorter disse seks fra lavest til høyest abstraksjonsnivå, og pek ut hvilke to som ofte forveksles.

A. Logiske verdier · B. Instruksjonen ADD 06 · C. Logisk port · D. Volt · E. Pipeline · F. Register

📝Oppgave 11
Eksamensnivå, sjanger F

Fyll ut fulladderens sannhetstabell for de tre radene under, og kontroller hver rad mot regnestykket A + B + C_inn.

ABC_innSumC_ut
011
101
111

📝Oppgave 12
Eksamensnivå, sjanger E…

Vurder hver påstand som sann eller usann, og begrunn hver rad.

#PåstandSant/usant
aVed 60 % bom og bom-kostnad 10 sykler er snittet 6,4 sykler per instruksjon
bPipeline ligger på et lavere abstraksjonsnivå enn registeret
cMellomlageret styres av programmet med egne instruksjoner
dEn fulladder gir mente ut når minst to av de tre inngangene er 1

📝Oppgave 13
Eksamensnivå, sjanger F

Vurder hver påstand som sann eller usann, og begrunn hver rad. Merk at to av radene handler om samme tema med ulik ordlyd.

#PåstandSant/usant
aPipeline gjør hver enkelt instruksjon raskere gjennom prosessoren
bPipeline gjør at flere instruksjoner blir ferdige per sekund
cHøyere klokkefrekvens gir alltid en raskere maskin
dHøyere klokkefrekvens gir kortere klokkesykel

📝Oppgave 14
Eksamensnivå, sjanger E…

En maskin kjører 1500 instruksjoner med bom-rate 60 % og bom-kostnad 10 klokkesykler. Kryss av alle påstandene som stemmer, og begrunn hvert av de fem.

a) Kjøringen tar 9600 klokkesykler.

b) Snittet er 6,4 sykler per instruksjon.

c) Kjøringen tar 9000 klokkesykler.

d) Bommene står for under halvparten av syklene.

e) Et bedre mellomlager som halverer bom-raten til 30 %, ville gitt 5550 sykler.

Begrepsbank til eksamen

Begrepsbanken er flashcard- og repetisjonsstoff — den gjentar det du nettopp har lest. Hopp trygt over ved førstegangslesing; tidsanslaget for kapitlet gjelder kjernestoffet.

Sjekklisten for sant/usant om maskinvare

Møter du en sant/usant-matrise om arkitektur, gå gjennom denne først:

1. Færre transistorer? → usant
2. Klokke lagret i RAM? → usant
3. Register bygd av RAM? → usant
4. ALU utenfor CPU? → usant
5. 65 enheter for 64 bit? → usant

De radene som ikke står på listen, avgjøres med tre spørsmål: hvor ligger komponenten, hva gjør den, og hva måler påstanden?

De tre feiltallene i cache-oppgaver

For n instruksjoner, bom-rate r og bom-kostnad k:

TallFeilen
n·r·kGlemt at treffene koster 1 sykel hver
n·kRegnet som om alt var bom — raten er ikke brukt
n·r·1 + n·(1−r)·kByttet om treff og bom

Alle tre gir tall av rimelig størrelsesorden. Du kan derfor ikke sjekke svaret ved å se om det «ser fornuftig ut» — du må kontrollere gruppene og gjennomsnittet.

Snittet uten å kjenne n
Gjennomsnittet per instruksjon avhenger bare av bom-raten og bom-kostnaden:

tˉ=(1r)1+rk\bar{t} = (1 - r) \cdot 1 + r \cdot k

Ved 60 % bom og kostnad 10: 0,40 + 6 = 6,4 sykler per instruksjon, uansett programlengde.

Snarveien er nyttig når oppgaven bare spør om snittet, og den er dessuten den raskeste kontrollen på en totalsum du allerede har regnet ut.

Kontrollen som fanger flest feil

Skriv opp begge gruppene med navn og kontroller at de summerer til n:

treff: 2700 bom:   1800 sum:   4500  = n  ✓

Denne kontrollen fanger ombyttingsfeilen, som gjennomsnittkontrollen ikke alltid gjør — både 4,0 og 2,4 kan ligge pent mellom 1 og 6 uten å være riktige.

To kontroller er derfor bedre enn én: gruppene mot n, og snittet mot intervallet fra 1 til k.

Retningen i rangeringsoppgaven

Oppgaven ber enten om «høyest til lavest» eller «lavest til høyest». Listen er den samme; retningen er ikke.

Et helt snudd svar gir null poeng selv om innholdet er riktig, og det er den vanligste måten å tape en ellers sikker oppgave på.

Arbeidsmåten: skriv opp sjuerlisten i margen, noter retningen ved siden av, plasser elementene, og les av.

De to forvekslingsparene i stigen
ParRiktig rekkefølgeHvorfor man bommer
Pipeline og registerPipeline over registerRegisteret føles mer håndfast
Logiske verdier og voltVerdier over voltFysikken føles som «grunnlaget»

Begge er nabopar i listen, og nesten alle feil i sjangeren skjer i ett av dem. Resten av rekkefølgen følger byggeregelen og er intuitiv.
Ordlyd avgjør, ikke tema

Samme tema gir ofte både en sann og en usann rad, avhengig av avgrensningen:

PåstandSvar
Pipeline gjør hver instruksjon raskereUsann
Pipeline gjør at flere blir ferdige per sekundSann
Høyere frekvens gir alltid raskere maskinUsann
Høyere frekvens gir kortere klokkesykelSann

Stryk under hva rada faktisk måler — per instruksjon eller per tidsenhet — før du krysser av.

Bom-rate slår bom-kostnad

En maskin med 2 % bom og kostnad 50 sykler har snitt 0,98 + 1,0 = 1,98 sykler per instruksjon.

En maskin med 10 % bom og kostnad 25 sykler har snitt 0,90 + 2,5 = 3,4.

Den første har dobbelt så dyre bom, men er likevel klart raskere per instruksjon. Når kostnaden allerede er høy, er det antallet bom som avgjør — og det er derfor prosessorer bruker så mye areal på mellomlagre.

Fulladderen i en drilloppgave

Fulladderen bryr seg bare om hvor mange av de tre inngangene som er 1, ikke om hvilke:

Antall ettall innSumMente ut
000
110
201
311

Kontrollen for hver rad: svaret på addisjonen er 2·C_ut + Sum, og det skal være lik antall ettall inn.

Tidsbudsjettet i seksjon 2

Retningsgivende tider når du har drillet ferdig: en sant/usant-rad under 30 sekunder, en cache-beregning under 2 minutter, en abstraksjonsrangering under 1 minutt.

Seksjonen har omtrent 60 minutter til rådighet på eksamen, og med disse tidene rekker du å kontrollere svarene også.

Blir du sittende lenger på en enkeltrad, er det nesten alltid fordi du ikke har skrevet ned sjekklisten eller sjuerlisten — de to tar femten sekunder hver og gjør resten mekanisk.

Repetisjon — sitter seksjon 2?

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.

Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Universitetet i Oslo. Dette er ikke offisielt studiemateriell. Les mer.