Overordnede kursusmål
Kurset handler om udvikling af systemer hvoraf dele kan realiseres
i hardware eller software efter ønske. Kurset understreger en
teknisk og begrebsmæssig sammenhæng mellem udvikling af hardware og
software, og det giver en indføring i de grundlæggende teknikker i
codesign.
Gennemførelse af kurset vil gøre deltagere i stand til at beskrive
de væsentligste komponenter i datamaskiners fysiske opbygning og
sammenhængen mellem komponenterne. De vil være i stand til at
beskrive og bruge udvalgte programmer til hjælp under software
udvikling. De vil kunne forstå og bruge fagets terminologi på
området i tekniske rapporter. De vil kunne designe mindre digitale
systemer og udtale sig rimeligt om disses forventede egenskaber,
specielt med hensyn til forventet hastighed, størrelse og
energiforbrug. De vil kunne udvikle og dokumentere programmer og
programbiblioteker, der bygger bro mellem maskinnære detaljer og
programmer skrevet i traditionelle programmeringssprog.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- identificere software og hardware komponenter af et indlejret
system
- identificere og beskrive funktionaliteten af en
eksekveringsplatform, herunder generelle processorer, anvendelses
specifikke processorer, dedikeret hardware og operativ systemer og
middleware
- anvende et software program som en eksekverbar
specifikkation
- udvikle et program til en indlejret processor
- analysere korrekthed og performanceaf et program
- designe en hardware arkitektur ved brug af et
hardwarebeskrivende sprog (HDL)
- analysere korrethed og performance af en hardware
arkitektur
- foreslå en hardware arkitektur ved at opdele et program eller
en eksekverbar specifikation, i henholdvis kontrol og data
flow
- sammenligne og analysere software og hardware realiseringer fra
en eksekverbar specifikation
- foreslå og argumentere for en software/hardware arkitektur fra
en eksekverbar specifikation
- bruge en tool chain for design af indlejrede systemer
- skrive en teknisk rapport som dokumenterer resultater og
analyser på en klar og præcis form
Kursusindhold
Opbygningen af generelle processorer, herunder datavejen,
kontrolenhed og hukommelses elementer. Design og konstruktion af
specialiserede processorer, herunder kombinatorisk og sekventiel
logik, tilstandsmaskiner, sammenkobling af komplekse komponenterved
hjælp af busser.
Programmering på maskinnært niveau, hjælpemidler til udvikling af
programmer, oversættelse og fortolkning, test og verifikation,
datamaskiner som lagdelte systemer, operativsystemer på
brugerniveau, programmers grænseflade til operativsystemer, simpel
multiprogrammering.
Litteraturhenvisninger
Et kompendium vil være tilgængeligt ved kursus start.
Bemærkninger
Kurset gives delvist på engelsk.
Sidst opdateret
28. oktober, 2016