Dansk - English
Kort version - Fuld version
Avanceret assembly programmering (Efterår 2007) |
|||
Kursuskode : | EASM-U01 | ||
ECTS Point : | 7,5 | Status : | Tilvalg |
Revideret : | 29/05 2007 | Oprettet : | 11/05 2004 |
Placering : | 5-7 semester | Timer pr. uge : | 4 |
Længde : | 1 semester | Undervisningssprog : | Dansk hvis der ikke er engelsksprogede studerende tilstede |
Målsætning : | Kurset sigter mod at forstå alle trin der har betydning for hastigheden hvormed et software-program afvikles, både programmeringsarbejdet, compileren, microprocessoren, etc. mhp. at kunne optimere performance. At kunne vurdere hvilke faktorer der har betydning for en software-applikations hastighed. At forstå hvordan moderne mikroprocessorers arkitektur er optimeret mht. hastighed. At forstå hvordan en optimerende compiler virker. At forstå hvilken betydning valget af platform, programmeringssprog, algoritme, etc. har for performance. At kunne anvende denne viden til at udvikle effektiv og brugervenlig software. At kunne designe, implementere, optimere og teste et subrutinebibliotek i et lavniveausprog og linke til det fra en applikation i højniveausprog. At kunne designe software der behandler data parallelt vha. multi-core processorer eller Single-Instruction-Multiple-Data instruktioner. |
||
Hovedindhold : | Mikroarkitekturen af de nyeste mikroprocessorer fra Intel og AMD. Multi-core processorer. Out-of-order execution. Single-Instruction-Multiple-Data instruktioner. Lavniveau programmering. Compileres virkemåde. Application Binary Interface standarder. Testmetoder. Profiling. Optimering. | ||
Undervisningsform : | Teori, øvelser, samt et selvvalgt projekt. Projektet kan laves alene eller i små grupper. | ||
Krævede forudsætninger : | Grundlæggende forståelse af mikroprocessorer svarende til kurset DIG2A. Kunne programmere i C++. | ||
Anbefalede forudsætninger : | - | ||
Relationer : | - | ||
Prøveform : | Mundtlig evaluering på grundlag af kursusopgaver | ||
Censur : | Intern | ||
Bedømmelse : | 7-trinsskala | ||
Bemærkninger : | - | ||
Undervisningsmateriale : | Noter og manualer. Anbefalet supplerende litteratur: Richard C. Detmer: Introducton to 80X86 Assembly Language and Computer Architecture. 2nd edition, 2004. Jones & Bartlett Publ. |
||
Ansvarlig underviser : | Agner Fog
, agfo@dtu.dk |