2008/2009

02340 Datamat arkitektur

Engelsk titel: 


Computer Architecture

Sprog:


Point (ECTS )

  10

Kursustype:   

Civil- Grundlæggende kursus
Diplomkursus
Kurset udbydes under åben uddannelse


Skemaplacering:

F1

 

Undervisningsform:

Forelæsninger og projektarbejde.

Kursets varighed:

13-uger

Eksamensplacering:

E1A,   F1A  Omprøve i efterårssemestret aftales med den kursusansvarlige (dato og eksamensform)

Evalueringsform:

Eksamens varighed:

Hjælpemidler:

Bedømmelsesform:

Pointspærring:

Faglige forudsætninger:


Deltagerbegrænsning:

Maksimum:  100
 

Overordnede kursusmål:

At sætte deltagerne i stand til at konstruere større digitale kredsløb og at give deltagerne en dyberegående viden om datamaskiners funktion og strukturelle opbygning.


Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Konstruere et digitalt kredsløb, som udfører en given beregning, på følgende måder: som et kombinatorisk kredsløb, som et sekventielt kredsløb (tilstandsmaskine og data-path), og som et pipelinet kredsløb.
  • Konstruere simple processorer på samme måder.
  • Redegøre for hvorledes tal og data, herunder flydende tal, repræsenteres, og redegøre for hvordan de tilhørende beregningsenheder i grove træk realiseres i hardware.
  • Kan analysere og optimere ydeevne af kredsløb og programmer udtrykt ved parametrene throughput og latenstid, og kan forklare den indbyrdes sammenhæng mellem disse parametre.
  • 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.
  • 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.
  • Udvikle komplekse digitale kredsløb ved en trinvis forfining fra en specifikation til et hardwarenært niveau, hvorfra der kan syntetiseres en realisering.
  • Organisere og planlægge dette arbejdes udførelse i en gruppe af personer.
  • Dokumentere dette arbejde (design, implementering og test) 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:

DEL A -- Konstruktion af digitale systemer:
Beregningskredsløb og tilstandsmaskiner. Pipelineteknikker. Fra algoritme til kredsløb. Kvantificering af hastighed (throughput og latenstid). Grundig introduktion til et hardwarebeskrivende sprog (VHDL eller System C) og den tilhørende designproces (specifikation, trinvis forfining, simulering og syntese).

DEL B -- Datamaskinarkitektur:
Introduktion af maskinstruktur og instruktionssæt. Talrepræsentation og aritmetik for heltal og flydende tal. Struktur af centralenheden i en moderne RISC-processor (kontrolenhed, beregningsenhed og pipelining). Samspil mellem maskinstruktur og instruktionssæt. Lagerhierarki og lageradministration (cache teknikker og virtual memory teknikker). Orientering om bussystemer og ydre enheder. Orientering om nye arkitekturer.

Del C -- Projektopgave:
Sideløbende med forelæsningerne konstrueres en mindre pipelinet CPU.Dette omfatter design, simulering, syntese of test. Formålet er dels at give en dybere indsigt i forelæsningsstoffet, og dels at gøre deltagerne fortrolige med et hardwarebeskrivende sprog (VHDL eller System C) og de dertil hørende CAD værktøjer til design af digitale systemer. Som et alternativ til den sidste del af projektopgaven udbydes en mere softwareorienteret opgave: optimering af at programs køretid under hensyntagen til processorens pipelinestruktur og cache-hierarki.


Bemærkninger:

Kurset er ækvivalent med 02151 (tidligere 02200).


Kursusansvarlig:

Jens Sparsø, 322, 215, (+45) 4525 3747, jsp@imm.dtu.dk  

Institut:

02 Institut for Informatik og Matematisk Modellering

Kursushjemmeside:

http://www.imm.dtu.dk/courses/02340
Sidst opdateret: 9. juni, 2008