DM548: Computerarkitektur og systemprogrammering (10 ECTS)
STADS: 15015001
Niveau
Bachelorkursus
Undervisningsperiode
Kurset er placeret i efterårssemesteret.
Ansvarlige undervisere
Email: roettger@imada.sdu.dk
Skemaoplysninger
Hold |
Type |
Dag |
Tidsrum |
Lokale |
Uger |
Kommentar |
Fælles |
I |
Tirsdag |
10-11 |
U131 |
36 |
Forlades kl. 10.45. |
Fælles |
I |
Tirsdag |
12-12 |
U55 |
36 |
Fælles F for alle 2 års |
Fælles |
I |
Tirsdag |
10-12 |
U131 |
37-38,40,43-44,47-48 |
|
Fælles |
I |
Tirsdag |
10-12 |
U156 |
39,46 |
|
Fælles |
I |
Tirsdag |
10-12 |
U157 |
41,45,49-50 |
|
Fælles |
I |
Torsdag |
12-14 |
U157 |
36,38,40,43,45,47,49 |
|
H1 |
TL |
Onsdag |
10-12 |
U157 |
38,40,43-45,47,49 |
|
H1 |
TE |
Torsdag |
12-14 |
U157 |
37,39,41,44,46,48,50 |
|
Vis hele skemaet
Vis personligt skema for dette kursus.
Kommentar:
Ubegrænset deltagerantal.
Indgangskrav:
Ingen
Faglige forudsætninger:
Stoffet fra DM536 Introduktion til Programmering skal være kendt.
Kurset kan ikke følges hvis DM544 er bestået, eller hvis DM544 indgår obligatorisk i din studieordning.
KursusintroduktionIntroduktion af computerarkitektur, fra logikniveauet over mikroprogramniveauet til det konventionelle ISA niveau. Desuden vigtige komponenter i lagerhierarkiet, busarkitekturer og organiseringen af moderne pipelinede CPU'er. Derudover indføres de vigtigste aspekter af et systemprogrammeringssprog.
KompetencerDe studerende vil opnå indsigt i opbygningen af moderne computere og deres CPU'er, med henblik på at kunne sammenligne og vurdere sådannes ydeevne på et teknologiuafhængigt plan. Mere specifikt forventes den studerende:
- at forstå elementære logik-diagrammer, og at kunne udtrykke funktionaliteten af basale CPU komponenter i form af sådanne
- at kunne udtrykke funktionaliteten af en ISA niveau instruktion ved fortolkning på en underliggende (mikro)maskinarkitektur, at kunne fortolke almindelige binære heltals og flydende tals repræsentationer, og at kunne konvertere mellem disse
- at kende og kunne forklare de forskellige lagerkomponenters egenskaber og begrænsninger, herunder deres adresseringsstruktur, samt vurdere ydeevnen af et flerniveau lagerhierarki
- at kunne forklare og diskutere moderne CPU'ers interne udnyttelse af parallelisme i form af pipelining, begrænsninger af denne samt fordeling af opgaver på flere funktionelle enheder
- at kunne forklare og diskutere computeres indre opbygning og interne kommunikationsveje på et overordnet plan, herunder kommunikation med ydre enheder samt afbrydelser fra disse
- at kunne udtrykke funktionaliteten af en given algoritme som et assemblerprogram, herunder at kunne bringe et sådant program til udførelse på en konkret maskine
- at kunne udtrykke funktionaliteten af en given algoritme som et systemprogram, herunder at kunne bringe et sådant program til udførelse på en konkret maskine
Forventet læringsudbytteEfter kurset forventes den studerende at kunne:
- fortolke elementære logik-diagrammer og sandhedstabeller, samt udtrykke funktionaliteten af basale CPU komponenter i form af sådanne, specielt at kunne udnytte rekursive definitioner til minimering af den længste sti
- udtrykke funktionaliteten af en ISA niveau instruktion ved fortolkning på en underliggende (mikro)maskinarkitektur
- fortolke almindelige binære heltals og flydende tals repræsentationer, og at kunne konvertere mellem disse
- forklare de forskellige lagerkomponenters egenskaber og begrænsninger, herunder deres adresseringsstruktur, samt vurdere ydeevnen af et flerniveau lagerhierarki
- forklare og diskutere moderne CPU'ers interne udnyttelse af parallelisme i form af pipelining, begrænsninger af denne samt fordeling af opgaver på flere funktionelle enheder
- forklare og diskutere computeres indre opbygning og interne kommunikationsveje på et overordnet plan, herunder kommunikation med ydre enheder samt afbrydelser fra disse
- udtrykke funktionaliteten af en given algoritme som et assemblerprogram, herunder at kunne bringe et sådant program til udførelse på en konkret maskine
- udtrykke funktionaliteten af en given algoritme som et system program, herunder at kunne bringe et sådant program til udførelse på en konkret maskine
EmneoversigtDet digitale logikniveau, mikroarkitekturniveauet, herunder pipelining og andre ydelsesforbedringer samt cache-lagre, ISA-niveauets instruktiontyper, -formater og adresseringsmetoder, datatyper og talrepræsentationer samt assemblerprogrammering. Et systemprogrammeringssprog, herunder: variabler og operatorer, funktioner, pointere, rekursion, I/O, og basale datastrukturer.
LitteraturMeddeles ved kursets start.
Kursets hjemmeside
Dette kursus benytter
e-learn (blackboard).
Forudsætningsprøver
Obligatoriske opgaver. Opgaverne skal være bestået for at man kan deltage i eksamen. (15015012)
Eksamen- og censurform:
- Skriftlig eksamen. Bedømmes ved ekstern censur efter 7-trinsskalaen (10 ECTS). (15015002)
Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 42 timer
Træningsfase: 28 timer
Aktiviteter i studiefasen
Studiefase: 32 timer
Sprog
Dette kursus undervises på engelsk.
Kursustilmelding
Se tilmeldingsfrister.
Pris for åben uddannelse
Se priser for enkeltkurser.
Denne kursusbeskrivelse var gyldig fra 1. september 2014 til 31. august 2016.