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.
Prioritet: faktadelen må sitte perfekt; cache og rangering skal du kunne. Alt hører til seksjon 2, maskinvare og arkitektur, en av de fire seksjonene som hver må bestås for seg.
Svarformene du møter her, skrevet ut i klarspråk:
- F1 — «velg ett eller flere alternativer»: flere kan være riktige samtidig.
- F2 — sant/usant-matrise: én rad per påstand, du krysser sant eller usant for hver.
- F3 — dra-og-slipp: koble eller sorter elementer. I boka skrevet som koblings- og sorteringsoppgaver.
- F4 — nedtrekksmeny: velg ett alternativ per delspørsmål.
Om bonuspoeng: maskinvaredelen kan gi bonuspoeng for full pott på en oppgave, og minus per feil avkryssing. Det gjør sjekklisten over de fem faste usanne påstandene ekstra godt betalt her.
Slik bruker du kapitlet. Fjorten oppgaver på eksamensnivå, omtrent 80 minutter samlet. Del gjerne over to økter — de er merket under. Ta tida: en sant/usant-rad skal avgjøres på under et halvt minutt, en cache-beregning på under to.
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åstand | Sannheten |
|---|---|
| Teknologiutviklingen gir færre transistorer | Det blir flere, og de blir mindre |
| Klokkesignalet er lagret i RAM | Det genereres av en krets, det lagres ikke |
| Et register er bygd av RAM | Registre er egne, raske kretser i CPU-en |
| ALU-en ligger utenfor CPU-en | Den er en av CPU-ens tre faste deler |
| En 64-bits ALU krever 65 en-bits ALU-er | Det kreves 64 — én per bit |
2. Cache-formelen. Et treff koster 1 klokkesykel; et bom koster det oppgaven oppgir.
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.
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.
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 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.
Vurder hver påstand som sann eller usann, og begrunn hver rad.
| # | Påstand | Sant/usant |
|---|---|---|
| a | ALU-en ligger inne i CPU-en | |
| b | Et register er bygd opp av RAM-celler | |
| c | Hovedminnet ligger utenfor CPU-en | |
| d | Klokkesignalet lagres i RAM mellom hver sykel |
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?
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?
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.
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.
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
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.
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.
Sorter disse fem fra høyest til lavest abstraksjonsnivå.
A. Transistor · B. Pipeline · C. Volt · D. Instruksjonen STA 04 · E. Register
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
Fyll ut fulladderens sannhetstabell for de tre radene under, og kontroller hver rad mot regnestykket A + B + C_inn.
| A | B | C_inn | Sum | C_ut |
|---|---|---|---|---|
| 0 | 1 | 1 | ||
| 1 | 0 | 1 | ||
| 1 | 1 | 1 |
Vurder hver påstand som sann eller usann, og begrunn hver rad.
| # | Påstand | Sant/usant |
|---|---|---|
| a | Ved 60 % bom og bom-kostnad 10 sykler er snittet 6,4 sykler per instruksjon | |
| b | Pipeline ligger på et lavere abstraksjonsnivå enn registeret | |
| c | Mellomlageret styres av programmet med egne instruksjoner | |
| d | En fulladder gir mente ut når minst to av de tre inngangene er 1 |
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åstand | Sant/usant |
|---|---|---|
| a | Pipeline gjør hver enkelt instruksjon raskere gjennom prosessoren | |
| b | Pipeline gjør at flere instruksjoner blir ferdige per sekund | |
| c | Høyere klokkefrekvens gir alltid en raskere maskin | |
| d | Høyere klokkefrekvens gir kortere klokkesykel |
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.
1. De fem faste usanne påstandene (felle #11). Færre transistorer, klokke i RAM, register av RAM, ALU utenfor CPU, 65 enheter for 64 bit. Sjekk hver sant/usant-rad mot listen først — det avgjør ofte halvparten av radene på sekunder.
2. Å bytte om treff og bom. «40 % bom» betyr 40 % bom og 60 % treff. Skriv opp begge gruppene og kontroller at de summerer til n før du ganger med noe.
3. Å glemme at treffene koster. bom · k er den farligste distraktoren, fordi tallet står midt i din egen utregning. Fullfør summeringen før du ser på alternativene.
4. Å regne som om alle oppslag var bom. n · k betyr at bom-raten ikke er brukt. Kontrollspørsmålet: står raten noe sted i utregningen din?
5. Å blande treffrate og bom-rate. Oppgavene veksler bevisst mellom de to formuleringene. Les ordlyden, og skriv ned begge tallene.
6. Å snu abstraksjonsrangeringen. Oppgaven kan be om høyest eller lavest først. Noter retningen ved siden av listen din før du sorterer.
7. Å plassere register over pipeline, eller volt over logiske verdier. De to forvekslingsparene står alltid som naboer i listen, og nesten alle feil skjer der.
8. Å anslå en prosentpåstand i stedet for å regne den. «Under halvparten» og «over 80 %» tar ti sekunder å avgjøre nøyaktig. Under negativ poenggiving er det godt betalt tid.
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.
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?
For n instruksjoner, bom-rate r og bom-kostnad k:
| Tall | Feilen |
|---|---|
n·r·k | Glemt at treffene koster 1 sykel hver |
n·k | Regnet som om alt var bom — raten er ikke brukt |
n·r·1 + n·(1−r)·k | Byttet 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.
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.
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.
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.
| Par | Riktig rekkefølge | Hvorfor man bommer |
|---|---|---|
| Pipeline og register | Pipeline over register | Registeret føles mer håndfast |
| Logiske verdier og volt | Verdier over volt | Fysikken 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.
Samme tema gir ofte både en sann og en usann rad, avhengig av avgrensningen:
| Påstand | Svar |
|---|---|
| Pipeline gjør hver instruksjon raskere | Usann |
| Pipeline gjør at flere blir ferdige per sekund | Sann |
| Høyere frekvens gir alltid raskere maskin | Usann |
| Høyere frekvens gir kortere klokkesykel | Sann |
Stryk under hva rada faktisk måler — per instruksjon eller per tidsenhet — før du krysser av.
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 bryr seg bare om hvor mange av de tre inngangene som er 1, ikke om hvilke:
| Antall ettall inn | Sum | Mente ut |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 0 |
| 2 | 0 | 1 |
| 3 | 1 | 1 |
Kontrollen for hver rad: svaret på addisjonen er
2·C_ut + Sum, og det skal være lik antall ettall inn.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.
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.