2013/2014

62528 Computer Architecture

Engelsk titel:

Computer Architecture

Sprog:

Point( ECTS )

7,5

Kursustype:

Diplomingeniør
 

Skemaplacering:

Forår
Efterår

Undervisningens placering:

Campus Ballerup

Undervisningsform:

Teori kombineret med praktiske øvelser og kursusopgaver. Teorien udgør ca. 50% af tiden.

Kursets varighed:

[Kurset følger ikke DTUs normale skemastruktur]

Evalueringsform:

Bedømmelsesform:

Tidligere kursus:

EARK-U01

Anbefalede forudsætninger:

Overordnede kursusmål:

"A professional in any field of computing should not regard the computer as just a black box that executes programs by magic. All students of computing should acquire some understanding and appreciation of a computer system's functional components, their characteristics, their performance, and their interactions. Students need to understand computer architecture in order to make best use of the software tools and computer languages they use to create programs.
In this course the term architecture is taken to include instruction set architecture (the programmer’s abstraction of a computer), organization or microarchitecture (the internal implementation of a computer at the register and functional unit level), and system architecture (the organisation of the computer at the cache, and bus level).
Students should also understand the complex tradeoffs between CPU clock speed, cache size, bus organization, number of core processors, and so on." (ACM and IEEE 2008 CS Curriculum)

Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • redegøre for grundlæggende principper i computer aritmetik og for digital repræsentation af tal, tekst, billeder og lyd samt begrænsninger i sådanne repræsentationer.
  • forklare udførelse af maskininstruktioner, påvise hvorledes maskininstruktioner afspejles i instruktionssæt-arkitekturen (ISA) og demonstrere forståelse af ISA-arkitekturen gennem udarbejdelse af simple assembler programmer.
  • forstå hvorledes manglende ISA ressourcer (så som registre, instruktioner og addresseringmåder) påvirker højniveau programmeringssprog og compiler-design.
  • beskrive anvendelsen af interrupts ved implementering af I/O styring og dataoverførsler.
  • identificere forskellige bustyper i en computer, kende almindelige busteknologier samt forstå egenskaber og performance of typiske moderne busser.
  • redegøre for von Neumanns flaskehals og hvordan et hierarkisk lagersystem kan mindske flaskehals-effekten samt forklare hvordan databussen i overvejende grad bruges til genopfyldning af bufferlageret (cache memory).
  • beskrive hvorledes algoritmers tidsforbrug påvirkes af lagerreferencers karakteristika i form af 'spatial' og 'temporal locality' og demonstrere dette eksperimentelt.
  • forstå hvordan computer performance måles i enheder som MIPS eller SPECmarks og begrænsningerne i sådannne målinger og også forstå forskellen mellem processor performance og system performance.
  • beskrive hvordan processorens ydeevne kan forbedres ved at overlappe instruktioners eksekvering ved pipelining og forklare og gennem eksperimenter demonstrere pipelining-princippets iboende begrænsninger (såkaldte branch hazards og data hazards)
  • beskrive den interne struktur i flerkerne og multitrådede processorer og redegøre for datakonsistens og 'cache coherence'.
  • beskrive den interne struktur i CUDA (Compute Unified Device Architecture), som den ses i moderne GPU'er og give et overblik over CUDA programmering.

Kursusindhold:

• Digital logik, computeraritmetik og datarepræsentation
• Maskininstruktioner, registerstruktur og adresseringsformer.
• Compilers, assemblers, og linkers.
• CPU design – Pipelining - RISC and CISC processors.
• Interfacing og moderne computer-busser.
• Hierarkiske memory systemer
• Flerkerne og flertrådede processorer
• CUDA og GPU'er

Litteraturhenvisninger:

David A. Patterson & John L. Hennessy
Computer Organization and Design, 4th ed. (COD)
Morgan-Kaufmann Publications, 2009
ISBN 978-0-12-374493-7

Bemærkninger:

Den studerende skal i løbet af kurset løse et antal obligatoriske opgaver. Til hver opgave skal udarbejdes en øvelsesrapport som opsummerer teorien og beskriver den udarbejdede løsning og eventuelle måleresultater.
Ved eksamen skal den studerende præsentere en af de obligatoriske opgaver. Opgaven vælges ved lodtrækning. Fremlæggelsen skal dække relevant teori såvel som en redegørelse for den praktiske løsning af opgaven. Eksaminationen af en studerende varer ca. 30 minutter.

Kursusansvarlig:

Henning Haugaard , Ballerup Campus, rum X 2.49, Tlf. (+45) 3588 5194 , henhu@dtu.dk

Institut:

62 DTU Diplom

Tilmelding:

I CampusNet
Sidst opdateret: 28. juni, 2013