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, hvordan compileren, assembleren og linkeren bruges
til at oprette eksekverbare filer.
- Liste og beskrive tre kildekode transformationer som
oversætteren kan udføre for at opnå højere ydeevne.
- Beskrive, hvordan data er repræsenteret i
computersystemer.
- Forklare forskellen mellem at kommunikere med en I / O-enhed
ved hjælp af hukommelseskortede I / O- eller I /
O-instruktioner.
- Forklar i deres egne ord følgende begreber: processor,
register, programtæller, cache, hukommelse og I / O-enhed.
- Forklare i deres eget ord, hvordan afbrydelser (interrupts)
håndteres i processoren.
- Tegne en figur, der viser hukommelseshierarkiet for en moderne
computer med processoren, cacheniveauer, hukommelse og
opbevaring.
- Udvikle og simulere en processor arkitektur for et simpelt
instruktionsset.
- Analysere ydeevne og energiforbrug af et softwareprogram.
- Forklare i sig selv begreberne OSI-modellen og hvordan den
bruges til at kommunikere mellem computersystemer.
- Forklare i deres eget ord, hvordan stikkene bruges til at
kommunikere mellem programmer og computersystemer.
- Udvikle et sensorsystem, hvor sensordata præsenteres på et
fjerntliggende system via en webserver.
Kursusindhold
Vi vil studere, hvordan computere udfører programmer og manipulere
data, og undersøge de involverede værktøjer og metoder. Vi vil
studere hvad værktøjerne, som compiler, gør, og vi vil træne i at
bruge debuggere til at finde og fjerne fejl fra vores programmer.
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.
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 i princippet arbejder, og hvordan man skriver
programmer, der gør det muligt for computere at kommunikere via
internettet, men også Internet-of-Things.
Sidst opdateret
02. maj, 2024