Poslední úprava: RNDr. Filip Zavoral, Ph.D. (22.04.2023)
Syntetické části překladačů procedurálních programovacích jazyků. Architektura, mezikódy, základní algoritmy
generování kódu a optimalizace. Vlastnosti moderních procesorů. Spolupráce programátora a překladače při
optimalizaci kódu.
Předmět může být vyučován jednou za 2 roky.
Poslední úprava: T_KSI (13.05.2012)
Compiler back-ends. Architecture, intermediate representation, basic algorithms of code generation and optimization. Modern processor
features. Interaction between the programmer and the compiler in code optimization.
Podmínky zakončení předmětu -
Poslední úprava: RNDr. David Bednárek, Ph.D. (07.06.2019)
Podmínkou pro zakončení předmětu je úspěšné vyřešení písemného zápočtového testu a složení ústní zkoušky.
Poslední úprava: RNDr. David Bednárek, Ph.D. (07.06.2019)
Credits are awarded for successfully passing a written test and an oral exam.
Literatura
Poslední úprava: T_KSI (23.05.2008)
Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd Edition), Addison Wesley (2006), ISBN 978-0321486813
Steven Muchnick: Advanced Compiler Design and Implementation, Morgan Kaufmann (1997) , ISBN 978-1558603202
Randy Allen, Ken Kennedy, Optimizing Compilers for Modern Architectures: A Dependence-based Approach, Morgan Kaufmann (2001), ISBN: 978-1558602861
D. Grune, H. Bal, C. Jacobs, K. Langendoen, Modern Compiler Design, Wiley (2000), ISBN 978-0471976974
Sylabus -
Poslední úprava: RNDr. David Bednárek, Ph.D. (20.09.2013)
Architektura překladače, mezikódy vysoké, střední a nízké úrovně.
Procedury, základní bloky, tok řízení, tok dat.
Rozsah platnosti proměnných, přidělování registrů a související algoritmy.
Analýza aliasů a závislosti, dependence, antidependence a související algoritmy.
Paralelismus na úrovni instrukcí (ILP) a jeho využití překladačem, latence, propustnost.
List scheduling, trace scheduling, software pipelining, modulo scheduling.