2007/2008

02151 Computerarkitektur

Engelsk titel: 


Computer Architecture and Engineering

Sprog:


Point (ECTS )

  10

Kursustype:   

 
Civil- Grundlæggende kursus


Skemaplacering:

E2

 

Undervisningsform:

Forelæsninger, øvelser og projektopgave

Kursets varighed:

13-uger

Eksamensplacering:

E2B,   F1A 

Evalueringsform:

Varighed eksamen:

Hjælpemidler:

Bedømmelsesform:

Tidligere kursus:

Erstatter 02200

Pointspærring:

Faglige forudsætninger:

                                          

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 en computers/processors 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åde.
  • 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). Introduktion til designsproget VHDL og den tilhørende designproces (specifikation, trinvis forfining, simulering og syntese).

DEL B -- Computerarkitektur: Introduktion af maskinstruktur og instruktionssæt. Talrepræsentation og aritmetik for heltal og flydende tal. Struktur af centralenheden i en moderne processor (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.

Del C -- Projektopgave: Sideløbende med forelæsningerne konstrueres en mindre pipelinet CPU. Formålet er dels at give en dybere indsigt i forelæsningsstoffet, og dels at gøre deltagerne fortrolige med designsproget VHDL 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.


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/02151/

Tilmelding:

I CampusNet
Sidst opdateret: 23. januar, 2008