Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
  1. Hjem
  2. Høyskole
  3. NTNU
  4. TDT4260
  5. Studieguide
TDT4260 · NTNU

Studieguide for TDT4260 Datamaskinarkitektur

Komplett pensumoversikt for datamaskinarkitektur ved NTNU — med forklaringer, sentrale begreper, eksamenstips og vanlige fallgruver. Eksamensoptimalisert basert på tidligere eksamener.

Innhold

  • Introduksjon
  • Pipelining
  • Cache
  • Ytelsesanalyse
  • Branch prediction
  • Multikjerne
  • Instruksjonssett
  • Minnehierarki
  • Datanivå-parallellisme: SIMD, vektor og GPU
  • Sammenkoblingsnettverk
  • Datasenter-arkitektur og forskningsartikler
  • Eksamensstrategi
  • Formelark

Introduksjon

Denne studieguiden dekker hele pensum i TDT4260 Datamaskinarkitektur ved NTNU (7,5 stp). Faget er et videregående emne i datamaskinarkitektur som bygger videre på grunnemnet (TDT4160) og går i dybden på hvordan moderne prosessorer oppnår ytelse: samlebånd, dynamisk instruksjonsplanlegging, minnehierarki og hurtigbuffer, data- og trådnivå-parallellisme, multikjerne med cache-koherens, sammenkoblingsnettverk, prefetching og energieffektivitet.

I tillegg pensumføres et utvalg forskningsartikler (bl.a. om fremtidige CMP-design, dataflyt-maskiner og dark silicon) som testes direkte på eksamen. Faget har tradisjonelt vekslet mellom faglærere (Lasse Natvig, Magnus Själander) og bruker engelsk i pensum og eksamen — du kan likevel svare på norsk.

Eksamen er 4-timers skoleeksamen (09:00–13:00) med hjelpemiddelkode D: kun en bestemt, enkel kalkulator er tillatt, ingen trykte eller håndskrevne hjelpemidler. Eksamen teller normalt 80 % av sluttkarakteren (resten fra prosjekt/øvinger), karakterskala A–F.

Eksamensformatet har variert mellom tre hovedtyper (verifisert mot V2015, V2016, V2017):

  • Flervalg (multiple choice): dominerer V2016 (40 spørsmål) og V2017 (~33 spørsmål). Riktig svar gir 2–3 poeng, feil svar gir minuspoeng (typisk −1 til −1,5), ubesvart gir 0. Dette gjør gjettestrategi risikabelt — svar kun når du er rimelig sikker.
  • Korte åpne spørsmål: 5–6 oppgaver à 4–10 poeng der du forklarer ett konsept konsist (energy proportionality, false sharing, MESI, VIPT-aksess, Tomasulo, Amdahl).
  • Lengre essay/forklaring: f.eks. fingranulert vs grovgranulert multithreading + SMT, sammenkoblingsnettverk (crossbar/MIN/buss), write merging, og forskningsartikkel-spørsmål (CBE, Manchester Dataflow Machine, strip mining).

Temaer som testes på hver eneste eksamen (3/3):

  • Minnehierarki og hurtigbuffer — AMAT-beregning, VIPT, TLB, fire C-er, optimaliseringer (banked, way prediction, early restart, blocking, write merging)
  • Multikjerne og cache-koherens — MESI/MSI, write-invalidate vs write-update, snooping vs directory, false sharing, NUMA, låser, sekvensiell konsistens
  • Ytelsesanalyse — Amdahls lov/speedup, Pollacks regel, Dennard-skalering, Moores lov, effektligning, energy proportionality, roofline
  • Instruksjonsnivå-parallellisme — Tomasulo (med ROB), hazards (RAW/WAR/WAW), loop unrolling, VLIW

Sentrale ressurser: gem5-simulator (brukt i prosjektdelen) og emnesiden TDT4260.

Pipelining

Hyppig på eksamen

Samlebånd overlapper utførelse av flere instruksjoner for å øke gjennomstrømning. Hazards (data, kontroll, struktur) begrenser ytelsen — forstå RAW/WAR/WAW, hvordan de oppstår i et samlebånd, og hvordan forwarding, stalls og dynamisk planlegging løser dem.

Hva samlebånd er og hvorfor det virker

Et samlebånd (pipeline) deler instruksjonsutførelse i faser (klassisk femstegs RISC: IF — instruksjonshenting, ID — dekoding/registerlesing, EX — utførelse, MEM — minneaksess, WB — tilbakeskriving). Ved å la flere instruksjoner være i ulike steg samtidig øker man gjennomstrømning (throughput), ikke latensen til den enkelte instruksjon. Ideelt oppnås én ferdig instruksjon per klokkesyklus (CPI = 1) etter at samlebåndet er fylt.

Klokkefrekvensen begrenses av det tregeste steget: fmax⁡=1/tmax⁡f_{\max} = 1/t_{\max}fmax​=1/tmax​. Et dypere samlebånd (flere, kortere steg) gir høyere klokke, men også flere ulemper: større strafftap ved hazards, mer kompleksitet, mer effektforbruk og diminishing returns.

Tre typer hazards

  • Strukturelle hazards: to instruksjoner trenger samme maskinvareressurs samtidig (f.eks. felles minneport for IF og MEM). Løses med duplisert maskinvare eller stall.
  • Datahazards: en instruksjon trenger et resultat som en tidligere instruksjon ennå ikke har skrevet.
  • Kontrollhazards (branch hazards): ved en betinget hopp vet man ikke neste instruksjon før hoppet er evaluert.

Dataavhengigheter — RAW, WAR, WAW

  • RAW (read after write) — ekte (true) avhengighet. Etterfølgende instruksjon leser en operand den foregående skriver. Kan ikke fjernes ved omdøping; må respekteres.
  • WAR (write after read) — anti-avhengighet. En senere instruksjon skriver til et register en tidligere skal lese. Falsk avhengighet — kan fjernes med registeromdøping. Kan ikke oppstå i et in-order samlebånd med fast lengde der lesing alltid skjer før skriving.
  • WAW (write after write) — output-avhengighet. To instruksjoner skriver til samme register; sluttverdien må stemme. Også falsk, fjernes med omdøping.
Eksempel — Klassifiser avhengigheter

Gitt sekvensen:

I1: R3 = R1 + R2
I2: R5 = R3 + R4
I3: R3 = R6 + R7

I1 → I2: I2 leser R3 som I1 skriver → RAW (ekte). I2 → I3: I3 skriver R3 som I2 leser → WAR (anti). I1 → I3: begge skriver R3 → WAW (output). Kun RAW er en reell avhengighet; WAR og WAW kan fjernes ved at I3 skriver til et omdøpt fysisk register.

Hvordan datahazards håndteres

  • Forwarding/bypassing: send resultatet direkte fra EX/MEM-utgangen til neste instruksjons EX-inngang uten å vente på WB. Eliminerer mange stalls.
  • Stall (pipeline bubble): hold instruksjonen tilbake til operanden er klar. Brukes når forwarding ikke rekker (f.eks. load-use hazard krever én bobles forsinkelse).
  • Kompilator-scheduling: omorganiser instruksjoner slik at uavhengig arbeid fyller forsinkelsen.

Kontrollhazards

Håndteres med branch prediction (egen seksjon), delayed branch, eller spekulativ utførelse. Strafftapet ved feilprediksjon vokser med samlebåndsdybden.

Nøkkelformler

  • •fmax⁡=1/tmax⁡f_{\max} = 1/t_{\max}fmax​=1/tmax​ — klokke begrenses av tregeste steg
  • •Ideell CPI = 1 (én instruksjon ferdig per syklus etter fylling)
  • •Speedup samlebånd ≈\approx≈ antall steg (ideelt, uten hazards)
  • •RAW = ekte avhengighet (uunngåelig); WAR/WAW = falske (fjernes med omdøping)

Vanlige feil

  • ⚠️Tror samlebånd reduserer latensen til én instruksjon — det øker gjennomstrømning, ikke enkeltlatens
  • ⚠️Klassifiserer WAR som ekte avhengighet — den er en anti-avhengighet og kan fjernes med registeromdøping
  • ⚠️Glemmer at WAR ikke kan oppstå i et fast-lengde in-order samlebånd
  • ⚠️Tror dypere samlebånd alltid er bedre — gir høyere hazard-straff, varmgang og kompleksitet

Eksamenstips

  • 💡Lær hazard-klassifiseringen utenat (RAW/WAR/WAW) — kommer som flervalg hvert år
  • 💡På «hvilken er en ekte/sann dataavhengighet?» er svaret alltid RAW (read after write)
  • 💡Husk: kontrollhazards (control hazards) er en av de tre hazardtypene — 'execution hazard' finnes ikke

Laster...

Laster…
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert