2011/2012

02155 Computerarkitektur

Kurserne 02154 og 02155 er opstået ved en opdeling af kursus 02151 og tilsammen dækker de i det væsentlige samme pensum som 02151. Kurserne vil med fordel kunne tages sideløbende og vil da supplere hinanden.

Engelsk titel: 


Computer Architecture and Engineering

Sprog:


Point (ECTS )


5

Kursustype:   

Civil- Grundlæggende kursus


Skemaplacering:

E2A

 

Undervisningsform:

Forelæsninger, øvelser og projektopgave

Kursets varighed:

13-uger

Eksamensplacering:

E2A,   F2A 

Evalueringsform:

Eksamens varighed:

Hjælpemidler:

Bedømmelsesform:

Tidligere kursus:

02151/02200/49280

Pointspærring:

Faglige forudsætninger:

Ønskelige forudsætninger:


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.


Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • 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.


Bemærkninger:

Kurserne 02154 og 02155 er opstået ved en opdeling af kursus 02151 og tilsammen dækker de i det væsentlige samme pensum som 02151. Kurserne vil med fordel kunne tages sideløbende og vil da supplere hinanden.

Kursus 02137 er 3-ugers kursus som fagligt er relateret til kurserne 02154 og 02155.


Kursusansvarlig:

Alberto Nannarelli, 322, 219, (+45) 4525 3725, an@imm.dtu.dk  
Martin Schoeberl, 322, 232, (+45) 4525 3743, masca@imm.dtu.dk  

Institut:

02 Institut for Informatik og Matematisk Modellering

Kursushjemmeside:

http://www.imm.dtu.dk/courses/02155

Tilmelding:

I CampusNet
Sidst opdateret: 17. april, 2011