8.1 Maskinvare og datamaskinens oppbygning
Hvordan en datamaskin er bygd og virker: CPU, ALU, registre, fetch-execute-syklusen, minne (RAM/SSD) og begreper som Moores lov og pipelining.
- Teoridelen er Oppgave 1 på eksamen: rundt 20 flervalgsspørsmål som til sammen teller ~25 % av settet. Flervalg betyr at du får ferdige alternativer og krysser av for ett — du skriver ingenting selv.
- Sjangeren heter A — teori-flervalg om datateknologi, altså «ett riktig alternativ av fire». Alle oppgavene i dette kapitlet er sjanger A.
- Maskinvare står i ~100 % av settene (10 av 10 sittinger i arkivet 2014–2019). Sammen med tallrepresentasjon er dette det tyngste teoritemaet.
- Prioritet: må sitte — det høyeste av bokas tre nivåer, som er «må sitte», «må kunne» og «bør kjenne til». Grunnen er enkel: stoffet er lite, det endrer seg ikke, og poengene er blant de billigste på hele settet.
Ingen minuspoeng. Fra og med 2015 gir et galt kryss null, akkurat som blankt. Da er blankt aldri lønnsomt: kryss alltid av, også når du bare aner. (Sittingen høsten 2014 trakk et halvt poeng for feil svar. Det er historikk, og det gjelder ikke lenger.)
Kapitlet tar ~55 minutter og går i tre løkker med hvert sitt tidsanslag. Det er helt greit å dele det over to økter — det naturlige skillet er etter løkke 2.
Om karakterer: C er en god og vanlig karakter i dette emnet. Målet her er ikke å kunne datamaskinhistorie, men å kjenne igjen de tjue begrepene som faktisk dukker opp.
Ingen. Hele Del 8 er teori om datamaskinen og krever ikke at du kan programmere — du kan lese den parallelt med kodedelene, eller for seg selv.
Er du helt fersk på ordene, gir Eksamenskartet — slik testes TDT4110 oversikten over hvordan settet er bygd opp.
Vil du ha samme stoff i en bredere og mer utførlig innpakning, dekker IN1020-boka maskinvaren i dybden:
- Datamaskinens arkitektur — von Neumann, CPU, ALU, buss og pipeline — prosessoren og pipelining grundig.
- Minnehierarki og cache-beregning — hvorfor registre, cache og RAM ligger i lag utenpå hverandre.
De to er frivillig tilleggslesing. Alt du trenger for TDT4110s teorioppgave står her.
Løkke 1 — Maskinen utenpå: brikker, transistorer og Moores lov (~15 min)
Ta opp telefonen din og snu den. Inni ligger det en flat, svart brikke på størrelse med en tommelnegl. Den brikken gjør flere milliarder regnestykker i sekundet, og den er bygd av små brytere som bare kan stå i to stillinger: på eller av.
Det er hele hemmeligheten bak en datamaskin. Ingenting av det som skjer inni er magisk — det er svært mange svært små brytere som slås av og på svært fort. Resten av dette kapitlet handler om hvordan de bryterne er organisert, og hva delene heter.
Vi begynner utenfra og jobber oss innover: først brikken og bryteren den er laget av, så prosessoren, og til slutt minnet.
Programvare er instruksjonene maskinvaren utfører: operativsystemet, nettleseren, Python-programmet du skriver.
Skillet er ikke helt skarpt — noen instruksjoner ligger permanent lagret i en brikke og kalles da fastvare (engelsk firmware) — men på eksamen holder hovedregelen: kan du miste det i gulvet, er det maskinvare.
En transistor er en elektronisk bryter uten bevegelige deler. Den slipper strøm gjennom eller stenger den av, styrt av et elektrisk signal på en tredje kontakt.
Transistoren er den minste byggesteinen i all moderne datamaskin-maskinvare. Én transistor er én bryter; en av/på-bryter er ett bit. Alt annet — regning, minne, logikk — er bygd av mange slike brytere koblet sammen.
Transistoren ble tatt i bruk fra slutten av 1940-tallet og erstattet vakuumrøret.
Bryteren som ble brukt i de aller første elektroniske datamaskinene, før transistoren. Et vakuumrør er en glasskolbe der strømmen styres gjennom lufttomt rom.
Rørene virket, men de var store som en lyspære, ble glovarme, brukte mye strøm og brant ut ofte. Derfor kunne de tidligste maskinene bare ha noen tusen brytere — og de fylte et helt rom.
På eksamen brukes vakuumrøret nesten alltid som kontrasten til transistoren: samme jobb, men langt større, varmere og mer upålitelig.
En integrert krets er mange transistorer laget samtidig på én sammenhengende plate av silisium, med ledningene mellom dem innebygd.
Poenget er ikke bare at det blir lite. Fordi transistorene og ledningene lages i samme arbeidsoperasjon, blir de også raskere, billigere per stykk og langt mer pålitelige enn om de skulle loddes sammen enkeltvis.
I dagligtale heter en integrert krets bare en brikke (engelsk chip).
Produksjonsmetoden som brikker lages med. Mønsteret til kretsen projiseres som lys ned på en silisiumplate dekket av et lysfølsomt lag, og der lyset traff, kan materialet etses bort. Steget gjentas i mange lag.
Fordi mønsteret trykkes med lys og ikke tegnes opp én transistor om gangen, koster det omtrent det samme å lage en brikke med milliarder transistorer som en med tusen. Det er dette som gjør elektronikk billig.
Merk sammenhengen med Moores lov: det er stadig finere lys og optikk som har gjort det mulig å presse mønsteret tettere sammen.
Observasjonen, formulert av Gordon Moore i 1965, om at antall transistorer på en brikke omtrent dobles hvert annet år ved samme produksjonskostnad.
Tre presiseringer som er selve eksamensfellen:
- Moores lov er en observasjon og en bransjeprognose, ikke en naturlov. Den kan brytes, og veksten har flatet ut.
- Den handler om antall transistorer (altså tetthet), ikke direkte om klokkehastighet, minnepris eller ytelse. Ytelsen har fulgt med på lasset historisk, men det er en følge, ikke innholdet i loven.
- Doblingen er hvert annet år i den vanlige formen. Alternativer som sier «hvert år» eller «hvert femte år» er nettopp de nære distraktorene.
Et datterkort (engelsk daughterboard, i praksis også expansion card) er et mindre kort som plugges inn i hovedkortet for å utvide maskinen — for eksempel et skjermkort eller et lydkort.
Retningen er alltid den samme: datterkortet plugges inn i hovedkortet, aldri omvendt.
En buss er et sett med ledninger som flere enheter deler for å sende data mellom seg — mellom prosessor, minne og lagring.
Bussen har en bredde (hvor mange bit den overfører samtidig, for eksempel 64) og en hastighet. Sammen bestemmer de hvor mye data som kan flyttes per sekund.
Bussen er ofte flaskehalsen: prosessoren kan regne fortere enn bussen rekker å hente nye data til den.
Fire oppgaver går igjen på eksamen:
- Dele prosessoren mellom flere programmer som kjører samtidig.
- Dele ut og holde orden på minnet hvert program får bruke.
- Håndtere filsystemet på disken.
- Snakke med enhetene (tastatur, skjerm, nett) gjennom drivere, så programmene slipper.
Når Python-programmet ditt kaller open('data.txt'), er det operativsystemet som faktisk finner fila på disken.
Slik ser et typisk teorispørsmål ut. Les alle fire alternativene før du bestemmer deg — ett av dem er «mest riktig», og de tre andre er laget for å ligne.
Hva sier Moores lov?
- a) At klokkehastigheten til en prosessor dobles omtrent hvert annet år.
- b) At antall transistorer på en brikke dobles omtrent hvert annet år.
- c) At antall transistorer på en brikke dobles omtrent hvert år.
- d) At prisen på lagringsplass halveres omtrent hvert annet år.
Loven handler om hvor mange transistorer som får plass på en brikke, og tidsrommet er omtrent to år. Begge delene må stemme.
Slik er de tre andre bygd — dette er mønsteret du skal lære å kjenne igjen:
- Alternativet om klokkehastighet bytter ut hva som dobles. Klokkehastigheten steg raskt i mange år, så påstanden føles riktig, men den er ikke innholdet i loven — og den sluttet å stemme rundt 2005 da hastigheten flatet ut.
- Alternativet om hvert år bytter ut tidsrommet. Moores første formulering i 1965 sa faktisk hvert år, men den reviderte og alminnelig siterte formen er hvert annet år. Ett tall skiller de to.
- Alternativet om lagringspris bytter ut hele emnet. Prisen på lagring har falt dramatisk, så påstanden er sann som observasjon — men den er ikke Moores lov.
Legg merke til metoden. Tre av de fire påstandene er sanne eller nesten sanne utsagn om datateknologi. Det er ikke sannhet du skal lete etter, men hvilket alternativ som svarer på akkurat det spørsmålet som er stilt. Det er derfor sjanger A er en presisjonsøvelse og ikke en gjenkjenningsøvelse.
(Innstegsoppgave, sjanger A — teori-flervalg: ett riktig alternativ av fire.) Hvilken komponent erstattet vakuumrøret som bryter i datamaskiner?
- a) Transistoren
- b) Den integrerte kretsen
- c) Hovedkortet
- d) Bussen
Hvorfor er fotolitografi avgjørende for at elektronikk er billig?
- a) Fordi hver transistor testes enkeltvis før den monteres på brikken
- b) Fordi hele mønsteret trykkes med lys i ett steg, uansett antall transistorer
- c) Fordi silisium er et av de vanligste grunnstoffene i jordskorpen
- d) Fordi metoden lar brikken kjøles ned uten vifte under produksjonen
Løkke 2 — Inne i prosessoren: ALU, registre og fetch-execute (~20 min)
Prosessoren er der regningen faktisk skjer. Den er også der eksamensspørsmålene er flest, fordi delene har presise navn med presise oppgaver — og fordi de er lette å blande.
Tenk på prosessoren som et lite kjøkken. ALU-en er kokken som gjør selve arbeidet. Kontrollenheten er hovmesteren som leser oppskriften og sier hva som skal gjøres nå. Registrene er benkeplassen rett ved kokken, der ingrediensene ligger mens de brukes. Og fetch-execute-syklusen er rytmen: hent neste linje i oppskriften, forstå den, hent det du trenger, gjør det, sett resultatet fra deg. Om igjen, milliarder ganger i sekundet.
— naturlig pausepunkt om du deler kapitlet over to økter er etter denne løkka —
CPU-en er maskinens regne- og styringsenhet. Den består av tre ting du må kunne skille:
- ALU-en, som regner.
- Kontrollenheten, som styrer.
- Registrene, som holder på verdiene mens de brukes.
CPU-en gjør bare én ting: den utfører instruksjoner, én av gangen, i fetch-execute-syklusen.
- Aritmetikk: addisjon, subtraksjon, og på moderne prosessorer multiplikasjon og divisjon.
- Logikk: OG, ELLER, IKKE, og sammenligninger som «er større enn ?».
ALU-en tar imot to operander, får beskjed om hvilken operasjon som skal gjøres, og leverer ett resultat pluss noen statusflagg (ble resultatet null? ble det negativt?).
Fellen: ALU-en bestemmer ikke hva som skal gjøres. Den bare gjør det. Beslutningen ligger i kontrollenheten.
Delen av prosessoren som styrer rekkefølgen: den henter neste instruksjon fra minnet, tolker hva den betyr, og sender de riktige styresignalene til ALU-en, registrene og minnet.
Kontrollenheten regner ikke selv. Den dirigerer.
Kontrollenhet mot ALU er en fast eksamensfelle. Huskeregelen: kontrollenheten bestemmer, ALU-en utfører.
Et register er en bitte liten lagerplass inne i selve prosessoren, typisk 32 eller 64 bit — akkurat stor nok til ett tall eller én adresse.
Registrene er den raskeste lagringen i hele maskinen, fordi de ligger der regningen skjer. En prosessor har bare noen titalls av dem.
Rekkefølgen fra raskest og minst til tregest og størst er verdt å pugge:
register cache RAM SSD/harddisk
Å blande register, cache og RAM er den vanligste maskinvarefeilen på eksamen.
Et navngitt register som holder adressen til neste instruksjon som skal utføres. På engelsk program counter, forkortet PC (ikke til å forveksle med «PC» som i personlig datamaskin).
Etter at en instruksjon er hentet, økes programtelleren automatisk så den peker på den neste. Det er dette som gjør at et program kjøres ovenfra og ned uten at noen holder styr på det.
Et hopp i programmet — en if eller en løkke i Python-koden din — ender til slutt opp som en instruksjon som skriver en ny verdi inn i programtelleren.
Et navngitt register som holder selve instruksjonen som utføres akkurat nå, etter at den er hentet fra minnet.
Skillet mot programtelleren er presist og blir spurt om:
- Programtelleren holder adressen til neste instruksjon — altså hvor den ligger.
- Instruksjonsregisteret holder instruksjonen som gjelder nå — altså hva som skal gjøres.
Rytmen prosessoren arbeider i. Den gjentas for hver eneste instruksjon, i fem steg:
1. Hent instruksjonen (fetch) fra minnet, på adressen programtelleren peker på.
2. Dekod instruksjonen (decode) — kontrollenheten tolker hva den betyr.
3. Hent operandene — verdiene instruksjonen skal arbeide på, fra registre eller minne.
4. Utfør (execute) — ALU-en gjør operasjonen.
5. Lagre resultatet (store) tilbake i et register eller i minnet.
Deretter begynner syklusen på nytt med den instruksjonen programtelleren nå peker på.
Figur i ord: tenk deg en sirkel med fem bokser etter hverandre — hent, dekod, hent operander, utfør, lagre — og en pil fra den siste boksen tilbake til den første. Programtelleren står som en liten teller ved siden av første boks og økes hver runde.
Fellen er tallet fem. Alternativer med tre eller fire steg (som slår sammen «hent operander» med «utfør», eller dropper «lagre») er nettopp de nære distraktorene.
Takten prosessoren arbeider i, målt i hertz: 3 GHz betyr tre milliarder klokkeslag i sekundet. Hvert klokkeslag driver arbeidet ett hakk videre.
To presiseringer:
- Ett klokkeslag er ikke det samme som én ferdig instruksjon. En instruksjon kan trenge flere klokkeslag, og med pipelining kan flere instruksjoner være underveis samtidig.
- Klokkehastighet kan derfor bare sammenlignes direkte mellom prosessorer av samme type. En 3 GHz-prosessor fra i år gjør mer per klokkeslag enn en 3 GHz-prosessor fra 2005.
Å la stegene i fetch-execute-syklusen overlappe for flere instruksjoner samtidig, slik at hvert steg i prosessoren alltid har noe å gjøre.
Mens instruksjon nummer 1 utføres, dekodes nummer 2, og nummer 3 hentes. Det er samlebåndsprinsippet.
Presist hva pipelining gjør og ikke gjør:
- Den korter ikke ned tiden én enkelt instruksjon bruker fra start til slutt.
- Den øker gjennomstrømningen — antall instruksjoner som blir ferdige per sekund.
Sammenligningen: å vaske og tørke fem maskiner klær går ikke fortere for den første maskinen, men du blir ferdig med alle fem langt raskere hvis du tørker maskin 1 mens maskin 2 vaskes.
Latency må ikke blandes med båndbredde (hvor mye som kan overføres per sekund). En treg, bred forbindelse kan flytte enormt mye data, men bruke lang tid på det første svaret.
Bildet: latency er hvor lenge du står i kø i kassa; båndbredde er hvor mange varer som får plass i handlekurven.
Fire feil tar nesten alle poengene som mistes på dette temaet. Tre av dem er varianter av feilkode #11 — å forveksle to tett formulerte alternativer der bare ett ord skiller dem:
- Blande ALU og kontrollenhet. Kontrollenheten bestemmer hva som skal skje; ALU-en utfører regnestykket. Et alternativ som sier at ALU-en «styrer rekkefølgen på instruksjonene» er nettopp fella.
- Blande register, cache og RAM. Alle tre er lagring, men de ligger på ulike nivåer og har ulik størrelse og fart. Registeret er inne i prosessoren, cachen rett utenfor, RAM lenger unna.
- Tro at RAM er ikke-flyktig. RAM tømmes når strømmen går. Det er nettopp derfor du må lagre fila.
- Feil antall steg i fetch-execute. Bokas form har fem steg: hent, dekod, hent operander, utfør, lagre.
Og én til som ikke er en forveksling, men en misforståelse: Moores lov handler om antall transistorer, ikke om klokkehastighet.
Legg merke til hvordan alle fire er presisjonsfeil, ikke kunnskapshull. Du vet hva en ALU er — spørsmålet er om du klarer å se at alternativet beskriver kontrollenheten i stedet.
- a) ALU-en, som tolker instruksjonen og utfører den i samme steg
- b) Programtelleren, som holder rede på hvilken instruksjon som gjelder
- c) Kontrollenheten, som tolker instruksjonen og styrer de andre delene
- d) Instruksjonsregisteret, som avgjør hvilken operasjon som skal gjøres
Å tolke instruksjonen er dekodesteget, steg 2 i fetch-execute-syklusen, og det er kontrollenhetens jobb. Den sender deretter styresignalene som får ALU-en, registrene og minnet til å gjøre sin del.
De tre andre er alle ekte deler av prosessoren, plassert i alternativer som beskriver dem litt for sjenerøst:
- ALU-en utfører operasjonen når den har fått beskjed. Den tolker ingenting. Legg merke til at alternativet legger til «i samme steg» — et ord for mye, og hele påstanden blir gal.
- Programtelleren holder adressen til neste instruksjon. Den vet altså hvor den neste ligger, ikke hva den nåværende betyr.
- Instruksjonsregisteret oppbevarer instruksjonen som utføres nå. Det er en lagerplass, ikke en beslutningstaker — og «avgjør hvilken operasjon» er nettopp overdrivelsen som gjør alternativet galt.
Metoden i praksis: to alternativer bruker verbet «tolker». Da vet du at valget står mellom dem, og du kan lese de to andre fort. Deretter er spørsmålet bare om ALU-en også tolker — og det gjør den ikke.
Hva er forskjellen på programtelleren og instruksjonsregisteret?
- a) Programtelleren teller utførte instruksjoner, instruksjonsregisteret teller klokkeslag
- b) Programtelleren ligger i RAM, instruksjonsregisteret ligger inne i prosessoren
- c) Programtelleren holder adressen til neste instruksjon, instruksjonsregisteret holder den nåværende
- d) Programtelleren holder den nåværende instruksjonen, instruksjonsregisteret holder adressen
Hva oppnår pipelining i en prosessor?
- a) At hver enkelt instruksjon blir ferdig på kortere tid enn før
- b) At flere instruksjoner er under arbeid samtidig, så flere blir ferdige per sekund
- c) At instruksjoner som ikke trengs, hoppes over før de hentes fra minnet
- d) At prosessoren kan kjøre på lavere klokkehastighet uten å miste ytelse
- a) 2 milliarder klokkeslag per sekund
- b) 2 millioner klokkeslag per sekund
- c) 2 tusen klokkeslag per sekund
- d) 2 billioner klokkeslag per sekund
Prefiksene må sitte, for de brukes både her og i tallrepresentasjonskapitlet:
| Prefiks | Betyr | Eksempel |
|---|---|---|
| kilo (k) | tusen, | 2 kHz 2 000 slag/s |
| mega (M) | million, | 2 MHz 2 000 000 slag/s |
| giga (G) | milliard, | 2 GHz 2 000 000 000 slag/s |
| tera (T) | billion, | 2 THz 2 000 000 000 000 slag/s |
Regnestykket: .
De tre gale alternativene er nabo-prefiksene. Dette er feilkode #12 — regnefeil i teoridelen i sin enkleste form: du vet hva et gigahertz er, men velger feil rad i tabellen fordi du leser fort.
Tips til eksamen: hjelpemiddelkode D betyr at du har en bestemt, enkel kalkulator og ingenting annet — ingen bøker, ingen andre elektroniske hjelpemidler. Prefikstabellen må altså sitte i hodet. Den er kort, og den gir poeng i to av teoriklyngene.
I hvilket steg av fetch-execute-syklusen utfører ALU-en selve operasjonen?
- a) I det første steget, når instruksjonen hentes fra minnet
- b) I det andre steget, når instruksjonen dekodes av kontrollenheten
- c) I det tredje steget, når operandene hentes fram til bruk
- d) I det fjerde steget, etter at operandene er hentet fram
Løkke 3 — Minnet: hva som huskes, hvor lenge og hvor fort (~20 min)
Du har skrevet på et dokument i en time uten å lagre. Strømmen går. Alt er borte. Hadde du trykket lagre, hadde det ligget der.
Den forskjellen er hele minnekapitlet. Noe minne er flyktig og tømmes når strømmen forsvinner; annet er ikke-flyktig og består. Og det finnes ikke ett minne, men et helt hierarki av dem — fra bittesmått og lynraskt inne i prosessoren, til enormt og tregt på disken.
Denne løkka er den mest eksamenstunge i kapitlet.
Sekundærminnet er lagringen prosessoren ikke når direkte, men må be operativsystemet hente fra: harddisk, SSD, minnepinne, nettlagring. Det er tregt, stort og ikke-flyktig.
Et program må ligge i primærminnet for å kjøre. Derfor er «å åpne et program» i praksis å kopiere det fra sekundærminnet til primærminnet.
«Random access» betyr at tilgangstiden er den samme uansett hvilken adresse du ber om. Å hente byte nummer 3 tar like lang tid som å hente byte nummer 3 milliarder. Ordet «random» sier altså ikke at innholdet er tilfeldig, og ikke at maskinen velger tilfeldig — det er en presisering av at det ikke finnes noen rekkefølge du må følge.
Kontrasten er en magnetbåndspole, der du må spole gjennom alt foran for å komme til det du vil ha. Det er sekvensiell tilgang.
RAM er flyktig: innholdet forsvinner når strømmen går.
Ikke-flyktig minne beholder innholdet uten strøm. Harddisk, SSD, minnepinne og ROM er ikke-flyktige.
Dette er årsaken til at «lagre» er en handling i alle programmer: å lagre betyr å flytte noe fra flyktig til ikke-flyktig minne.
Fellen: et alternativ som sier at RAM beholder innholdet uten strøm er gal, men den formuleres ofte pent — for eksempel «RAM lagrer data permanent så programmene starter raskere neste gang». Det siste leddet er sant om cache-mekanismer, det første er galt om RAM.
ROM er ikke-flyktig og inneholder oppstartskoden maskinen trenger før den kan lese noe som helst fra disken. Uten ROM ville maskinen ikke visst hvordan den skulle finne operativsystemet.
Moderne varianter kan skrives om med et eget verktøy, men ikke av programmer som kjører.
Cachen inneholder kopier av de dataene som nylig er brukt, ut fra antakelsen om at de brukes igjen snart. Finner prosessoren det den trenger i cachen, slipper den den lange turen til RAM.
Størrelsesorden: noen megabyte cache mot mange gigabyte RAM. Cache er flyktig, som RAM.
Skillet mot RAM: cachen er ikke et sted du selv legger noe. Den fylles automatisk av maskinvaren, og programmet ditt vet ikke om den.
Lagringen i en datamaskin ligger i lag, der hvert lag utenfor er større, billigere per byte og tregere enn laget innenfor:
| Nivå | Typisk størrelse | Fart | Flyktig? |
|---|---|---|---|
| Registre | noen hundre byte | raskest | ja |
| Cache | noen megabyte | svært rask | ja |
| RAM | gigabyte | rask | ja |
| SSD / harddisk | terabyte | treg | nei |
Hierarkiet finnes fordi raskt minne er dyrt og tregt minne er billig. Ved å legge de mest brukte dataene innerst, oppfører maskinen seg nesten som om alt minnet var lynraskt — til en brøkdel av prisen.
Rekkefølgen er verdt å kunne utenat, begge veier.
En harddisk lagrer data magnetisk på roterende metallplater, med et lesehode som beveger seg inn og ut over platen.
Fordi noe må rotere og noe må flytte seg fysisk, har harddisken relativt høy latency — den må vente på at riktig sted kommer under hodet. Til gjengjeld er den billig per lagret byte, og den brukes fortsatt der det er mye data og lav pris som teller.
Harddisken er ikke-flyktig og hører til sekundærminnet.
En SSD (solid state drive) lagrer data i flash-minne — halvlederbrikker uten bevegelige deler.
Sammenlignet med en harddisk er en SSD raskere (særlig på latency, siden ingenting skal rotere på plass), mer støtsikker, mer stillegående og dyrere per lagret byte.
En SSD er ikke-flyktig, som harddisken, og hører også til sekundærminnet.
Fellen: at en SSD er bygd av brikker gjør den ikke til RAM. Både brikker og plater kan være ikke-flyktige — det avgjørende er teknologien, ikke om det finnes bevegelige deler.
Dette er et spørsmål som kunne stått ordrett på et sett. Alle fire alternativene er formulert som saklige påstander av samme lengde, og tre av dem er «nesten».
Hva betyr «random access» i «random access memory»?
- a) At innholdet i minnet er tilfeldig helt til noe skrives dit
- b) At minnet bare kan leses sekvensielt, fra begynnelsen og utover
- c) At innholdet beholdes selv når maskinen slås helt av
- d) At tilgangstiden er den samme uansett hvilken adresse som leses
«Random access» er en påstand om tilgangsmønsteret: enhver adresse er like nær. Motstykket er sekvensiell tilgang, som på et magnetbånd.
Slik er distraktorene bygd — legg merke til at hver av dem er en annen misforståelse, ikke bare et galt svar:
- Alternativet om tilfeldig innhold tar ordet «random» i dagligtalens betydning. Det er den vanligste fella, og den er lagt inn med vilje i reelle sett.
- Alternativet om sekvensiell lesing beskriver nøyaktig det motsatte av random access. Det er lett å eliminere hvis du kan begrepet, og umulig hvis du ikke gjør det.
- Alternativet om at innholdet beholdes uten strøm er påstanden om ikke-flyktighet — sann for SSD og harddisk, gal for RAM. Dette er den farligste, fordi den handler om RAM og høres teknisk ut.
Sensorpoeng: her hjelper det ikke å ha lest om RAM. Du må ha lest hva ordet random står for. Det er akkurat den typen presisjon teoridelen belønner, og grunnen til at begrepslista nederst i kapitlet er verdt å gå gjennom to ganger.
Hvilken av disse lagringstypene mister innholdet når strømmen forsvinner?
- a) SSD
- b) Harddisk
- c) RAM
- d) ROM
Sett lagringstypene i rekkefølge fra raskest til tregest tilgang.
- a) Register, cache, RAM, SSD
- b) Cache, register, RAM, SSD
- c) Register, RAM, cache, SSD
- d) RAM, register, cache, SSD
Hva er hovedforskjellen på en SSD og en harddisk?
- a) SSD-en lagrer i flash-brikker, harddisken lagrer magnetisk på roterende plater
- b) SSD-en er flyktig, mens harddisken beholder innholdet uten strøm
- c) SSD-en hører til primærminnet, mens harddisken hører til sekundærminnet
- d) SSD-en leses av prosessoren direkte, mens harddisken går via minnet
En maskin har 16 GB RAM og 512 GB SSD. Hvilken påstand er riktig?
- a) Programmene som kjører, ligger på SSD-en og hentes derfra ved hver instruksjon
- b) RAM-en er størst i praksis, siden SSD-en bare brukes ved oppstart av maskinen
- c) Begge er flyktige, men SSD-en tømmes langsommere enn RAM når strømmen går
- d) Programmene som kjører, må ligge i RAM, og SSD-en holder dem mellom øktene
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 Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.