02132 Computersystemer

2024/2025

Kursusinformation
Computer Systems
Engelsk
10
Bachelor
Retningsspecifikt kursus (BSc), Softwareteknologi
Teknologiske linjefag, Softwareteknologi
E5 (ons 8-17)
Campus Lyngby
Forelæsninger, øvelser, og projektarbejde
13-uger
E5A
Skriftlig eksamen og bedømmelse af rapport(er)
Helhedsvurdering af 3 individualiserede grupperapporter og en 2 timers skriftlig prøve.
Skriftlig eksamen: 2 timer
Ingen hjælpemidler
7-trins skala , ekstern censur
02131
02131
02100/02101/02102 , Der forudsættes beherskelse af begreber og terminologi om udvikling, test og dokumentation af programmer. Der gives en introduktion til sproget C.
Luca Pezzarossa , Lyngby Campus, Bygning 322 , lpez@dtu.dk
Matthias Bo Stuart , Lyngby Campus, Bygning 322 , mbst@dtu.dk
01 Institut for Matematik og Computer Science
I studieplanlæggeren
Overordnede kursusmål
Computersystemer er blevet en integreret del af vores samfund. De er grundlaget for en bred vifte af teknologier fra små enheder (internet-of-things, smartphones, osv.) til store (servere, cloud, osv.). I dette kursus undersøger vi, hvordan computere fungerer. Mere specifikt studerer vi det tætte forhold mellem hardware og software, der er nødvendigt for at udvikle effektive computersystemer, og i processen lærer vi om mulighederne og begrænsningerne ved moderne computersystemer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Fortolke, hvordan data er repræsenteret i computersystemer for tal, tegn, strenge, billeder og programmer.
  • Modellére adfærden af ​​software og hardware ved hjælp af beregningsmodellen Finite State Machine with Datapath (FSMD).
  • Udtrække kontrolflowgrafen og dataflowgrafen fra softwareprogrammer og forklare deres rolle i kompileringspipelinen.
  • Udvikle, kompilere, fejlsøge, eksekvere og analysere programmer skrevet i C-programmeringssproget rettet mod små/​ressourcebegrænsede systemer.
  • Designe en simpel general-purpose processor, samt dedikerede hardware acceleratorer på RTL-niveau, og derefter identificere deres fordele og ulemper i specifikke anvendelser.
  • Forklare hukommelseshierarkiet i en moderne computer baseret på registre, caches, main memory og lager.
  • Udvikle og simulere en del af en computerarkitektur baseret på FSMD-modellen ved hjælp af Chisel HDL-sproget.
  • Forklare og anvende principperne for synkronisering og kommunikation mellem de forskellige komponenter i et computersystem, samt mellem computersystemer.
  • Analysere ydeevnen og energiforbruget af et softwareprogram og simple hardwarearkitekturer, og analysere, hvordan hardwareacceleratorer kan bruges til at opnå højere ydeevne.
  • Forklare rollen og principperne for computernetværk og kontrolsystemer.
Kursusindhold
Kurset har til formål at give en introduktion til computersystemer, samt at give en grundlæggende forståelse af den hardwareinfrastruktur, som softwaren kører på. Der lægges særlig vægt på FSMD-beregningsmodellen og små/​ressourcebegrænsede systemer (såsom embedded og cyber-physical systems). Kurset er opdelt i fire hovedafsnit: (1) modeller for beregning og software, (2) hardwarearkitekturer, (3) design på systemniveau, og (4) relaterede emner. FSMD-modellen bruges som en rød tråd mellem alle sektionerne.

I første del af kurset gives et generelt overblik over computersystemer med særligt fokus på betydningen af ​​computing og beregningsmodeller. Vi introducerer konceptet af en FSMD-model, formålet med kontrol- og dataflowgrafer, det grundlæggende i compilere, og formålet med instruction-set arkitekturer. Desuden introducerer vi C-programmeringssproget rettet mod små/​ressourcebegrænsede systemer.

Den anden del af kurset er dedikeret til hardwarearkitekturer, og præsenterer grundlæggende RTL-hardwarekomponenter, strukturen af ​​en general-purpose processor, og designet af simple hardwareacceleratorer baseret på FSMD-modellen. Her introducerer vi Chisel HDL-sproget til udvikling og simulering af en del af en computerarkitektur baseret på FSMD-modellen.

Til slut vil tredje og fjerde del af kurset nå ind på udfordringerne ved systemintegrering og performanceanalyse, og efterfølgende give en introduktion til kontrolsystemer og computernetværk.
Litteraturhenvisninger
"Embedded Systems Design: A Unified Hardware/Software Introduction" af Frank Vahid og Tony Givargis, Wiley
Bemærkninger
Kurset gives på engelsk.
Sidst opdateret
02. maj, 2024