Enkeltfag 5 ECTS

Computerarkitektur

Overordnede kursusmål

At give deltagerne en dyberegående hardwarenær viden om og forståelse af en computers funktion og interne struktur, en tilhørende viden om og forståelse af de forhold som påvirker køretiden for programmer samt en forståelse for samspillet mellem hardware og software. Da processorer i dag indgår i alle former for elektronisk udstyr, er kurset relevant for såvel softwareudviklere som (elektro)ingeniører, der designer såkaldte indlejrede systemer, hvor det ofte er vigtigt at udnytte processorernes ressourcer bedst muligt for at optimere pris, hastighed eller energiforbrug.

See course description in English

Læringsmål

  • Beskrive den interne struktur af en processor, herunder pipeline, cache lager, lagerhierarki, virtuelt lager, busser, etc.
  • Forklare disse elementers funktion og forklare hvorledes de influerer på køretiden for programmer, og kompleksiteten (areal, hastighed, energiforbrug) af den underliggende hardware.
  • Anvende denne forståelse til at beregne og optimere køretiden af programmer; dels små specifikke programstumper og dels større programmer for hvilke der er fastlagt væsentlige nøgleparametre som, f.eks. cash-miss rates etc.
  • Forklare parametrene throughput og latenstid, og forklare deres indbyrdes sammenhæng.
  • Redegøre for hvorledes hardware (bl.a. teknologi og arkitektur) og software (bl.a. instruktionssæt, compiler og operativsystem) udgør et hele, og at interfacet mellem de to er et centralt element i ethvert system.
  • Give eksempler på tradeoffs og optimeringer der involverer både software og hardware.
  • Redegøre for instruktionssæt-arkitekturen af en typisk processor.
  • Dokumentere projektarbejde i form af en teknisk rapport, som henvender sig til en udenforstående fagfælle, og som overholder sædvanlige krav til form og indhold/abstraktionsniveau.

Kursusindhold

Introduktion af maskinstruktur og instruktionssæt. Intern struktur af processoren i en moderne RISC-computer (kontrolenhed, beregningsenhed og pipelining). Samspil mellem maskinstruktur og instruktionssæt. Lagerhierarkier og lageradministration (cache teknikker og virtual memory teknikker). Orientering om bussystemer og ydre enheder. Orientering om nye arkitekturer, som i dag typisk udnytter flere former for parallelisme.

Sideløbende med forelæsningerne arbejdes den med opgaver og øvelser og der udføres an afsluttende projektopgave. Projektopgaven kan f.eks. bestå i at analysere og optimere et programs køretid under hensyntagen til processorens pipelinestruktur og lagerhierarki ved hjælp af simuleringsværktøjer.

Anbefalede forudsætninger

02132/02135/02139/02100/02102, Grundlæggende kendskab til programmering og digitalelektronik

Undervisningsform

Forelæsninger, øvelser og projektopgave

Fakultet

Se kurset i kursusbasen

Tilmelding

Sprog
Varighed

13 uger

Institut

Compute

Sted

DTU Lyngby Campus

Kursus ID 02155
Kursustype Bachelor
Semesterstart Uge 35
Semester slut Uge 48
Dage man 13-17
Pris

7.500,00 kr.

Tilmelding