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.
Mulighed for GRØN DYST deltagelse:
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