studiehandbok@lith   Länk till universitetets hemsida
 

Tekniska högskolan vid Linköpings universitet

Länk till universitetets hemsida
 
År : 2009
 
TDDC86 Kompilatoroptimeringar och kodgenerering, 4 p / 6 hp
/Compiler Optimizations and Code Generation/

För:   COS   CS   D   IT  


OBS!

För fullständig kursplan se den engelska versionen.


 

Prel. schemalagd tid:
Rek. självstudietid: 160

  Utbildningsområde: Teknik

Ämnesgrupp: Datateknik   Nivå (A-D):D

Huvudområde: Datateknik   Nivå (G1,G2,A): A

  Mål:
Kursen behandlar avancerade frågeställningar inom kompilatorteknik mer fokus på programanalys, optimering och generering av programkod. Efter avslutad kurs ska studenten: - förstå teori kring analys av kodberoenden, kontroll- och dataflöde - känna till koncept inom och betydelse av avancerade intermediära representationer i moderna kompilatorer, t.ex. SSA-form - känna till under vilka förutsättningar optimeringar kan göras samt vilka prestandaförbättringar som är möjliga genom optimeringstranformationer i kompilatorer - känna till de viktigaste problemen och de vanligaste lösningarna när det gäller kodgenerering för modern datorarkitektur, inklusive inbyggda processorer, processorer för digital signalbehandling och högpresterande arkitekturer

  Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan)
Datastrukturer och algoritmer, Kompilatorteknik eller Kompilatorer och interpretatorer, Datorarkitektur.

OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.

  Organisation:
Föreläsningarna introducerar teorin och kompletteras av lektioner med övningar. Ett projekt genomförs i mindre grupper. Uppgiften består antingen av ett experimentellt självstudium av ett modern kompilatorramverk, eller av en kritisk granskning av en aktuell konferens- eller tidskriftsartikel inom kompilatorteknik. Kursen avslutas därmed med ett simulerat kompilatorseminarium där projektresultaten presenteras för alla deltagare.

  Kursinnehåll:
Design av intermediära representationer. Kontrollflödesanalys. Dataflödesanalys. Optimering genom eliminering av vanliga underuttryck (common subexpression elimination). Interprocedurell analys. Beroendeanalys. Transformering och parallellisering av loopar. SSA-form (Static Single Assignment). Val av instruktioner. Lokal och global instruktionsschemaläggning. Registerallokering. Problem vid ordning av faser samt integrerad kodgenerering. Pipelining. Kodgenerering för inbyggda system och parallella system. JIT-kompilering (Just in Time). Kompilering av objektorienterade språk. Undantagshantering. Skräpsamling (garbage collection).

  Kurslitteratur:
Aho, Lam, Sethi, Ullman: Compilers Principles, Techniques, and Tools, Second Edition. Addison-Wesley, to appear 2006/2007. or one of the following books: Aho, Sethi, Ullman: Compilers Principles, Techniques, and Tools, Addison-Wesley, 1986. Chapter 10. Muchnick: Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997. Cooper, Torczon: Engineering a compiler. Morgan Kaufmann, 2004. Ytterligare referenslitteratur finns angiven på kursens webbsidor.

  Examination:
TEN1
UPG1
Skriftlig examination (U,3,4,5)
Projektarbete med muntlig presentation och skriftlig sammanfattning. (U,G)
3 hp
3 hp
 
Frågorna på den skriftliga tentamen kontrollerar hur väl studenten har uppfyllt lärandemålen för kursens teoridel. För att bli godkänd kan brister i en del uppvägas av bättre resultat på andra delar.



Undervisningsspråk är Engelska.
Institution: IDA.
Studierektor:
Examinator: Christoph Kessler
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Data&Medie

Engelsk kursplan

Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt.

Om inget annat anges ovan gäller betygsskala enligt avsnitt a8.5 i de gemensamma bestämmelserna.

Kursplanen gäller för 2009 enligt beslut av ansvarig programnämnd/fakultetstyrelse.

Tekniska högskolan vid Linköpings universitet

Länk till sidans topp


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 03/09/2009