02132 Computersystemer

2019/2020

Kurset gives delvist på engelsk.
Kursusinformation
Computer Systems
Dansk
10
Bachelor
E5 (ons 8-17)
Campus Lyngby
Forelæsninger, øvelser og projektarbejde
13-uger
E5A, F5A
Skriftlig eksamen og bedømmelse af rapport(er)
Helhedsvurdering af 3 individualiserede grupperapporter og en 2 timers skriftlig prøve.
2 timer
Uden hjælpemidler
7-trins skala , ekstern censur
02131
02131
02100 / 02101 / 02102 / 02199 / 02115 , Der forudsættes beherskelse af begreber og terminologi om udvikling, test og dokumentation af programmer. Der gives en introduktion til sproget C.
Jan Madsen , Lyngby Campus, Bygning 322, Tlf. (+45) 4525 3751 , jama@dtu.dk
Paul Pop , Lyngby Campus, Bygning 322, Tlf. (+45) 4525 3732 , paupo@dtu.dk
01 Institut for Matematik og Computer Science
http://www.imm.dtu.dk/courses/02131
I studieplanlæggeren
Kontakt underviseren for information om hvorvidt dette kursus giver den studerende mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
Overordnede kursusmål
Computersystemer er blevet en integreret del af vores samfund. De er grundlaget for en bred vifte af teknologier fra Internet-of-Things og Smartphones til Skyen. I dette kursus vil vi studere, hvordan moderne computere virker. Vi vil undersøge computerens begrænsninger, samt hvilke muligheder den giver.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Forklare i generelle termer computersystemarkitekturen for generelle processorer, applikationsspecifikke instruktionssætprocessorer og dedikerede hardwareaccelerator processorer og give eksempler på, hvor de anvendes.
  • Forklare hukommelseshierarkiet for en moderne computer med processoren, cacheniveauer, hukommelse og opbevaring.
  • Udvikle, kompilere, debugge, udføre og analysere programmer ved hjælp af programmeringssproget C.
  • Forklare hvordan compileren, assembleren og linkeren bruges til at oprette eksekverbare filer.
  • Beskrive hvordan data er repræsenteret i computersystemer.
  • Analysere ydeevne og energiforbrug af et softwareprogram og give eksempler på kildekodstransformationer, som compileren kan udføre for at opnå højere ydeevne.
  • Forklare computermodellen Finite State Machine med Datapath (FSMD) og hvordan den kan bruges til at modellere udførelsen af ​​både software og hardware.
  • Udvikle og simulere en processorarkitektur baseret på et enkelt instruktionssæt ved hjælp af FSMD-modellen.
  • Forklare de grundlæggende principper for synkronisering og kommunikation indenfor såvel som mellem computersystemer.
  • Forklare OSI-modelens begreber og hvordan det bruges til at kommunikere mellem computersystemer.
  • Udvikle et sensorsystem, hvor sensordata præsenteres på et fjernsystem via en webserver ved hjælp af sockets.
  • Skrive en teknisk rapport som dokumenterer resultater og analyser på en klar og præcis form
Kursusindhold
I dette kursus vil vi studere, hvordan computere udfører programmer og manipulere data, og udforske de involverede værktøjer og metoder. Vi vil studere, hvad værktøjerne, som en compiler, gør, og vi vil træne i at bruge debuggere til at finde og fjerne fejl fra vores programmer. Vi vil introducere programmeringssproget C, som stadig er det dominerende sprog til programmering af moderne indlejrede og cyber-fysiske systemer.

Computere består af flere dele, hvor processoren uden tvivl er den vigtigste. For at opnå en solid forståelse af, hvordan computere opfører sig, vil vi i kurset studere, hvordan en generaliseret processor udfører programmer. Vi vil også studere, hvordan programmer, herunder variabelt indhold, er kodet for at kunne eksekveres. Endelig, vil vi udvikle og simulere en simpel mikroprocessor og studerer dens ydeevne.

De fleste moderne computere er forbundet i store netværk. I mange tilfælde er det utænkeligt at have computere uden adgang til netværk, såsom internettet. Vi vil i kurset studere, hvordan computernetværk grundlæggende fungere, og hvordan du skriver programmer, der gør det muligt for computere at kommunikere via internettet, men også Internet-of-Things.
Litteraturhenvisninger
"Embedded Systems Design: A Unified Hardware/Software Introduction" af Frank Vahid og Tony Givargis, Wiley
Bemærkninger
Kurset gives delvist på engelsk.
Sidst opdateret
04. maj, 2020