Annotation of res/PP-compiler.tex, revision 1.9

1.1       andi        1: \documentclass[11pt,a4paper]{article}
                      2: %\usepackage{latexsym}
                      3: \usepackage{url}
                      4: %\usepackage{times}
                      5: \usepackage{comment}
                      6: 
                      7: \pagestyle{plain}
                      8: \setlength{\textwidth}{16truecm}
                      9: \setlength{\textheight}{24truecm}
                     10: \setlength{\oddsidemargin}{-0.3truecm}
                     11: \setlength{\evensidemargin}{-0.3truecm}
                     12: \setlength{\topmargin}{0.0truecm}
                     13: \setlength{\topskip}{0.0truecm}
                     14: \setlength{\headheight}{0.0truecm}
                     15: \setlength{\headsep}{0.0truecm}
                     16: 
                     17: \newcommand{\emn}[1]{{\em #1\/}}
                     18: \newcommand{\NOTE}[1]{{\medskip\bf #1\medskip}}
                     19: 
                     20: \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}}
                     21: 
1.6       andi       22: \author{{\sc Andreas Krall and Jens Knoop}\\
                     23: \{andi,knoop\}@complang.tuwien.ac.at
1.1       andi       24: }
                     25: 
                     26: \bibliographystyle{unsrt}
                     27: 
                     28: \begin{document}
                     29: \maketitle
                     30: 
1.2       andi       31: PP leader: \emph{Jens Knoop and Andreas Krall}
1.1       andi       32: 
1.2       andi       33: Associated researchers: \emph{}
1.1       andi       34: 
                     35: 
                     36: 
                     37: \subsubsection*{Motivation:} 
                     38: %\emph{Informal description of the purpose of the PP (3-5 lines)}
                     39: Every embedded system consists of software which is written in a high
                     40: level language, compiled to machine language and executed on a
1.5       andi       41: processor. For robust embedded systems new verified compilation,
                     42: simulation and specification methods are necessary to optimize for
                     43: performance, power, space, concurrency and reliability.
1.1       andi       44: 
                     45: \subsubsection*{State of the art and related work:} 
                     46: %\emph{Briefly describe the scientific state of the art (20-30 lines)}
                     47: 
1.2       andi       48: %Compilation Techniques for Reliability
                     49: 
                     50: Because of the exponential increase of the number of transistors and
                     51: the continuing decrease of the feature sizes of current processors
                     52: soft errors mainly caused by energetic particles are becoming an
                     53: important design issue for robust embedded systems. Blome et
                     54: al.~\cite{Blome+06} observed that a majority of faults that affect the
                     55: architectural state of a processor come from the register file. Lee
                     56: and Shrivastava and proposed different solutions to cope with this
                     57: problem. The first assigns variables depending on their lifetime to
                     58: either the ECC protected or the unprotected part of a register file to
                     59: balance energy consumption and reliability \cite{LeeShrivastava09a}.
                     60: The second spills registers to ECC protected memory if the register
                     61: contents are not used for a long period \cite{LeeShrivastava09c}.
1.4       andi       62: There exist complete software solutions which use different forms of
                     63: code duplications \cite{Oh+02a,Reis+05}, which do failure
                     64: virtualization \cite{WapplerMueller08} or which use techniques like
                     65: control flow checking \cite{Oh+02b}. A complete overview of processor
                     66: description languages and generation of compilers and simulators from
                     67: processors specifications gives the book of Mishra and Dutt \cite{MishraDutt08}.
                     68: A good survey of current instruction set simulators gives our chapter
                     69: in the Handbook of Signal Processing systems \cite{BrHoKr09}. A famous
                     70: instruction set simulator with modelling of energy consumtion is Wattch
                     71: \cite{BrooksTiwariMartonosi00}.
1.1       andi       72: 
1.9     ! andi       73: Three aspects of program and compiler correctness exist. The verifying
        !            74: compiler proves properties of the translated program and is a grand challenge
        !            75: for computing research \cite{Hoare03}. A certified compiler like Verfix is
        !            76: proven once to do semantically equivalent optimizations and translations
        !            77: \cite{GlesnerGoosZimmeermann04,GoosZimmermann00}. Translation validation proves
        !            78: at every compiler run that the translation is correct and was introduced by
        !            79: Pnueli et al.\ \cite{Pnueli98a,Pnueli98b} and Necula \cite{Necula00}. Until now
        !            80: some optimizations have been verified, recently lazy code motion
        !            81: \cite{TristanLeroy09}, instruction scheduling \cite{TristanLeroy08}, or the whole
        !            82: code generation phase \cite{BlechPoetzsch07}. Another research direction is the
        !            83: construction of general frameworks for validation \cite{ZaksPnueli08} or
        !            84: generalizations like parameterized equivalence checking \cite{Kundu+09}.
        !            85:  
1.7       andi       86: 
1.1       andi       87: 
                     88: WCET \cite{}
                     89: 
                     90: \subsubsection*{Previous achievements:} 
                     91: %\emph{Brief description of your own contributions to the related
                     92: %scientific state-of-the art (5-10 lines)}
                     93: Jens Knoop has a long history on work on program analysis with topics
                     94: like partial redundancy elimination or lazy code motion
                     95: \cite{knoop:DSP:2008:1575,conf/cc/XueK06,scholz04}. Recently he
                     96: changed his research focus on worst case execution time analysis 
                     97: \cite{SchrSchoKn09,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,
                     98: kirner_et_al:DSP:2008:1657,kirner_et_al:DSP:2007:1197}. He is involved
                     99: in the organization of many compiler conferences and since 2002 program
                    100: cochair of the yearly workshop on compiler optimization meets verification.
                    101: 
                    102: Andreas Krall does research in the area of architecture description
                    103: languages and the automatic generation of highly optimizing compilers,
                    104: efficient instruction set simulators and hardware from one single
                    105: specification of a processor \cite{BrFeKrRi09,BrEbKr07,FaKrHo07,
                    106: FarKrStBrand06,Krall+04micro}. An important focus is on optimization
                    107: techniques for embedded processors
                    108: \cite{EbBrSchKrWiKa08,MeKr07,PrKrHo06,HiKr03} as he lead the Christian
                    109: Doppler research laboratory {\em compilation techniques for embedded
                    110: processors} with partners from industry (Infineon, OnDemand
                    111: Microelectronics).
                    112: 
                    113: 
                    114: \subsubsection*{Goals (first 4 years):}
                    115: %\emph{Description of the research 
                    116: %topics to be addressed during the first 4 years. Make sure to explicitly 
                    117: %stress what the significant additions to the scientific knowledge are, 
                    118: %and why they are important. (30-40 lines)}
                    119: 
                    120: New modeling and representation techniques of non-functional program and system properties on the programming and intermediate language levels
                    121: Definitions and measures of non-functional program and system properties (performance, time, space/memory, power, concurrency).
                    122: Modeling and representation of these properties alongside with the programming languages semantics
                    123: Adapting and enhancing state-of-the-art compilation techniques towards non-functional property and platform awareness
                    124: New functional and non-functional property and platform-aware compilation techniques
                    125: Analyses for non-functional program and system properties
                    126: Functional and non-functional property and platform-aware code generation techniques
                    127: Enabling validation and verification throughout the compilation process
                    128: Techniques for reducing or eliminating trusted code, annotation, etc., bases
                    129: 
                    130: 
                    131: \subsubsection*{Work Plan (first 4 years):}
                    132: %\emph{Brief description of how 
                    133: %you intend to conduct the actual research during the first 4 years. Be sure 
                    134: %to also describe and (coarsely) quantify the resources (staff, cost of 
                    135: %special equipment) required for this work in a table. (20-30 lines)}
                    136: 
1.6       andi      137: Compilation techniques for robust embedded systems comprise different areas.
                    138: Therefore, the project is divided into three work packages: compilation and
                    139: simulation techniques for reliabiltiy, verified compilation and worst case
                    140: execution time analysis.
1.1       andi      141: 
1.5       andi      142: \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}
1.1       andi      143: 
1.6       andi      144: In previous work we have developed a processor description language
                    145: with a very concise semantics from where we automatically generate
                    146: optimized compilers \cite{BrEbKr07} and high efficient instruction set
                    147: simulators \cite{BrFeKrRi09}. This environment we use as testbed for
                    148: our compiler optimizations for embedded processors
                    149: \cite{EbBrSchKrWiKa08,PrKrHo06,MeKr07}. We will extend this
                    150: environment to do research on compilation and simulation techniques to
                    151: enhance the reliability of processor/memory systems by mixed
                    152: hardware/software and pure software techniques. 
1.1       andi      153: 
1.5       andi      154: \begin{itemize}
                    155: \item Specification method to specify an energy consumption model in
                    156:       a processor specification.
                    157: \item Specification method for redundancy and error correction in the
                    158:       processor specification
                    159: \item Specification method for fault injection and fault checking in
                    160:       the processor specification
                    161: \item Generation of optimized instruction set simulators from the
1.6       andi      162:       extended processor specification
                    163: \item Generation of optimizing compilers from the extended processor
                    164:       specification
1.5       andi      165: \item Research into new compiler optimizations to increase reliability by
                    166:       pure software solutions, mixed hardware/software solutions and
                    167:       balancing performance, code space, reliability and energy consumption
                    168: \item Research of correctness proofs and validation of the new optimizations
                    169: 
                    170: \end{itemize}
                    171: 
                    172: \paragraph*{WP2 - Verified Compilation}
                    173: 
1.8       andi      174: Suitable semantics are necessary which support efficient translation
                    175: validation or support easy verification of a compiler. We will research
                    176: into different semantics and into mappings between the semantics of our
                    177: processor description language \cite{BrEbKr07} and a compiler backend
                    178: semantics, intermediate representation semantics (compatible to LLVM) and
                    179: source language semantics. The main research will be on verification and
                    180: translation validation for all kinds of compiler optimizations.
                    181: 
                    182: \begin{itemize}
                    183: \item Evaluate different semantics regarding suitability for compiler
                    184:       verification and translation validation, eventually develop new
                    185:       semantics
                    186: \item Develop a translator for an automatic mapping from our processor
                    187:       description language into verification semantics
                    188: \item Develop a validation system from the intermediate representation
                    189:       (LLVM) to the processor semantics
                    190: \item Develop a validation system from the source language (C) to the
                    191:       intermediate representation (LLVM)
                    192: \item Research into verification and translation validation for different
                    193:       frontend and backend optimizations
                    194: \end{itemize}
1.5       andi      195: 
                    196: \paragraph*{WP3 - Worst Case Ececution Time Analysis}
1.1       andi      197: 
1.5       andi      198: WCET
1.2       andi      199: 
1.1       andi      200: 
                    201: \begin{tabular}{llll}
1.5       andi      202: \\
1.1       andi      203: \hline
1.2       andi      204: {\bf Pos} & {\bf Type} & {\bf Description}    & {\bf Duration} \\
                    205: NN1 & PhD & reliable compilation / simulation & 4 years \\
1.5       andi      206: NN2 & PhD & verified compilation              & 4 years \\
1.2       andi      207: NN3 & PhD & WCET                              & 4 years \\
1.1       andi      208: \hline
                    209: \end{tabular}
                    210: 
                    211: 
                    212: \subsubsection*{Goals (last 4 years):}
                    213: %\emph{Brief description of the 
                    214: %eesearch topics to be addressed during the last 4 years. Make sure to 
                    215: %explicitly stress what the significant additions to the scientific 
                    216: %knowledge are, and why they are important. (20-30 lines)}
                    217: 
                    218: New programming languages and compilers for RESs
                    219: Non-functional properties and requirements as first-class language and compiler citizens
                    220: New compilation techniques enabling a uniform and integrated approach
                    221: for ensuring functional and non-functional program and system requirements
                    222: Replacing trust by proof
                    223: Certifying compilation, proof-carrying code, translation validation
                    224: Verified compilers, verifying compilation for RESs
                    225: Making legacy applications fit to and available on RESs
                    226: Techniques for adjusting and decompiling legacy applications
                    227: 
                    228: \subsubsection*{Collaboration with other PPs:}
                    229: %\emph{List the PPs you are expecting to collaborate with, and describe briefly
                    230: %the topic and  nature of such a collaboration. (10-20 lines)}
                    231: 
                    232: \begin{itemize}
                    233: \item PP Composition of Non-functional Requirements [I.S.T.A./Henzinger]:
                    234:       Links to specification and modeling of timing properties, to execution
                    235:       models, hardware and software models.
                    236: \item PP Composition and Predictability in RES Architectures
                    237:       [E182/Puschner]: Links to hard- and software models for time
                    238:       predictable systems, verification of timing behaviour.
                    239: \item PP Formal Verification for Robustness [E184/Veith]: Links to software
                    240:       model checking and testing of code (on source code and intermediate
                    241:       code levels), support for program analysis and transformation.
                    242: \item PP Modeling \& Analysis of Robust Distributed Systems [E182/Schmid]:
                    243:       Links to functional and non-functional system requirements,
                    244:       distribution, concurrency.
                    245: \end{itemize}
                    246: 
                    247: \subsubsection*{External Collaborations:}
                    248: %\emph{List envisioned international  and national collaborations, and
                    249: %describe briefly the topic and nature  of such a collaboration. (5-10
                    250: %lines)}
                    251: 
1.2       andi      252: Aviral Shrivastava, Arizona State University, Tempe, AZ, USA
                    253: 
                    254: Wolf Zimmermann, Universit\"at Halle, Halle, Germany
1.1       andi      255: 
                    256: \begin{comment}
                    257: %Bitte hier die Bibtex-Entries  einfuellen, z.B.,
                    258: 
                    259: 
                    260: ------------------------------------
                    261: 
                    262: @article{Hoare,
                    263:  author = {Tony Hoare},
                    264:  title = {The verifying compiler: A grand challenge for computing research},
                    265:  journal = {Journal of the ACM},
                    266:  volume = {50},
                    267:  number = {1},
                    268:  year = {2003},
                    269:  issn = {0004-5411},
                    270:  pages = {63--69},
                    271:  doi = {http://doi.acm.org/10.1145/602382.602403},
                    272:  publisher = {ACM},
                    273:  address = {New York, NY, USA},
                    274:  }
                    275:  
                    276:  @article{1328444,
                    277:  author = {Jean-Baptiste Tristan and Xavier Leroy},
                    278:  title = {Formal verification of translation validators: a case study on instruction scheduling optimizations},
                    279:  journal = {SIGPLAN Not.},
                    280:  volume = {43},
                    281:  number = {1},
                    282:  year = {2008},
                    283:  issn = {0362-1340},
                    284:  pages = {17--27},
                    285:  doi = {http://doi.acm.org/10.1145/1328897.1328444},
                    286:  publisher = {ACM},
                    287:  address = {New York, NY, USA},
                    288:  }
                    289:  
                    290:  @article{1314860,
                    291:  author = {Jan Olaf Blech and Arnd Poetzsch-Heffter},
                    292:  title = {A Certifying Code Generation Phase},
                    293:  journal = {Electron. Notes Theor. Comput. Sci.},
                    294:  volume = {190},
                    295:  number = {4},
                    296:  year = {2007},
                    297:  issn = {1571-0661},
                    298:  pages = {65--82},
                    299:  doi = {http://dx.doi.org/10.1016/j.entcs.2007.09.008},
                    300:  publisher = {Elsevier Science Publishers B. V.},
                    301:  address = {Amsterdam, The Netherlands, The Netherlands},
                    302:  }
                    303:  
                    304: @INPROCEEDINGS{LeeShrivastava09,
                    305:         TITLE       = {A Compiler Optimization to Reduce Soft Errors in Register Files},
                    306:         AUTHOR      = {Jongeun Lee and Aviral Shrivastava},
                    307:         BOOKTITLE   = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
                    308:         EDITOR      = {Mahmut Kandemir},
                    309:         PUBLISHER   = {ACM},
                    310:         PAGES       = {??--??},
                    311:         ADDRESS     = {Dublin},
                    312:         MONTH       = {June},
                    313:         YEAR        = {2009},
                    314: }
                    315: 
                    316: @BOOK{MishraDutt08,
                    317:         TITLE       = {Processor Description Languages},
                    318:         AUTHOR      = {Prabhat Mishra and Nikil Dutt (Editor)},
                    319:         PUBLISHER   = {Morgan Kaufmann},
                    320:         YEAR        = {2008},
                    321: }
                    322: 
                    323: 
                    324: 
                    325: %Eigene Referenzen ab hier.
                    326: 
                    327: @InProceedings{SchrSchoKn09,
                    328:         TITLE       = "Adding Timing-Awareness to {AUTOSAR} Basic-Software - A Component Based Approach",
                    329:         AUTHOR      = "Dietmar Schreiner and Markus Schordan and Jens Knoop",
                    330:         BOOKTITLE   = "12th IEEE International Symposium on Object/component/service-oriented
                    331:                        Real-time distributed Computing (ISORC 2009)",
                    332:         PUBLISHER   = "IEEE",
                    333:         ADDRESS     = "Tokyo, Japan",
                    334:         YEAR        = "2009",
                    335:         MONTH       = "March",
                    336:         PAGES       = "288--292",
                    337: }
                    338: 
                    339: @inproceedings{Prantl:WLPE2008,
                    340:        Address = {Udine, Italy},
                    341:        Author = {Adrian Prantl and Jens Knoop and Markus Schordan and Markus Triska},
                    342:        Booktitle = {The 18th Workshop on Logic-based methods in Programming Environments (WLPE 2008)},
                    343:        Month = {December 12},
                    344:        Title = {Constraint solving for high-level WCET analysis},
                    345:        Year = {2008},
                    346:         URL = {http://costa.tuwien.ac.at/papers/wlpe08.pdf}
                    347: }
                    348: 
                    349: @InProceedings{prantl_et_al:DSP:2008:1661,
                    350:   author =     "Adrian Prantl and Markus Schordan and Jens Knoop",
                    351:   title =      "TuBound - {A} Conceptually New Tool for Worst-Case
                    352:                 Execution Time Analysis",
                    353:   booktitle =  "8th Intl. Workshop on Worst-Case Execution Time (WCET)
                    354:                 Analysis",
                    355:   year =       "2008",
                    356:   editor =     "Raimund Kirner",
                    357:   publisher =  "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
                    358:                 Germany",
                    359:   address =    "Dagstuhl, Germany",
                    360:   URL =        "http://drops.dagstuhl.de/opus/volltexte/2008/1661",
                    361:   annote =     "Keywords: Worst-case execution time (WCET) analysis,
                    362:                 Tool Chain, Flow Constraints, Source-To-Source",
                    363:   ISBN =       "978-3-939897-10-1",
                    364:   note =       "also published in print by Austrian Computer Society
                    365:                 (OCG) under ISBN 978-3-85403-237-3",
                    366: }
                    367: 
                    368: @InProceedings{kirner_et_al:DSP:2008:1657,
                    369:   author =     "Raimund Kirner and Albrecht Kadlec and Adrian Prantl
                    370:                 and Markus Schordan and Jens Knoop",
                    371:   title =      "Towards a Common {WCET} Annotation Language: Essential
                    372:                 Ingredients",
                    373:   booktitle =  "8th Intl. Workshop on Worst-Case Execution Time (WCET)
                    374:                 Analysis",
                    375:   year =       "2008",
                    376:   editor =     "Raimund Kirner",
                    377:   publisher =  "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
                    378:                 Germany",
                    379:   address =    "Dagstuhl, Germany",
                    380:   URL =        "http://drops.dagstuhl.de/opus/volltexte/2008/1657",
                    381:   annote =     "Keywords: Worst-case execution time (WCET) analysis,
                    382:                 annotation languages, WCET annotation language
                    383:                 challenge",
                    384:   ISBN =       "978-3-939897-10-1",
                    385:   note =       "also published in print by Austrian Computer Society
                    386:                 (OCG) under ISBN 978-3-85403-237-3",
                    387: }
                    388: 
                    389: @InProceedings{kirner_et_al:DSP:2007:1197,
                    390:   author =     "Raimund Kirner and Jens Knoop and Adrian Prantl and
                    391:                 Markus Schordan and Ingomar Wenzel",
                    392:   title =      "{WCET} Analysis: The Annotation Language Challenge",
                    393:   booktitle =  "7th Intl. Workshop on Worst-Case Execution Time (WCET)
                    394:                 Analysis",
                    395:   year =       "2007",
                    396:   editor =     "Christine Rochange",
                    397:   publisher =  "Internationales Begegnungs- und Forschungszentrum
                    398:                 f{"u}r Informatik (IBFI), Schloss Dagstuhl, Germany",
                    399:   address =    "Dagstuhl, Germany",
                    400:   URL =        "http://drops.dagstuhl.de/opus/volltexte/2007/1197",
                    401:   annote =     "Keywords: Worst-case execution time analysis, WCET,
                    402:                 path description, annotation language challenge,
                    403:                 expressiveness, convenience",
                    404: }
                    405: 
                    406: 
                    407: @InProceedings{knoop:DSP:2008:1575,
                    408:   author =     {Jens Knoop},
                    409:   title =      {Data-Flow Analysis for Multi-Core Computing Systems: A Reminder to Reverse Data-Flow Analysis},
                    410:   booktitle =  {Scalable Program Analysis},
                    411:   year =       {2008},
                    412:   editor =     {Florian Martin and Hanne Riis Nielson and Claudio Riva and Markus Schordan},
                    413:   number =     {08161},
                    414:   series =     {Dagstuhl Seminar Proceedings},
                    415:   ISSN =       {1862-4405},
                    416:   publisher =  {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany},
                    417:   address =    {Dagstuhl, Germany},
                    418:   URL =                {http://drops.dagstuhl.de/opus/volltexte/2008/1575},
                    419:   annote =     {Keywords: Multi-core computing systems, scalable program analysis, reverse data-flow analysis, demand-driven data-flow analysis}
                    420: }
                    421: 
                    422: @InProceedings{conf/cc/XueK06,
                    423:   title =      "A Fresh Look at {PRE} as a Maximum Flow Problem",
                    424:   author =     "Jingling Xue and Jens Knoop",
                    425:   bibdate =    "2006-04-05",
                    426:   bibsource =  "DBLP,
                    427:                 http://dblp.uni-trier.de/db/conf/cc/cc2006.html#XueK06",
                    428:   booktitle =  "CC",
                    429:   booktitle =  "Compiler Construction, 15th International Conference,
                    430:                 {CC} 2006, Held as Part of the Joint European
                    431:                 Conferences on Theory and Practice of Software, {ETAPS}
                    432:                 2006, Vienna, Austria, March 30-31, 2006, Proceedings",
                    433:   publisher =  "Springer",
                    434:   year =       "2006",
                    435:   volume =     "3923",
                    436:   editor =     "Alan Mycroft and Andreas Zeller",
                    437:   ISBN =       "3-540-33050-X",
                    438:   pages =      "139--154",
                    439:   series =     "Lecture Notes in Computer Science",
                    440:   URL =        "http://dx.doi.org/10.1007/11688839_13",
                    441: }
                    442: 
                    443: @InProceedings{scholz04,
                    444:   author =     "Bernhard Scholz and Nigel Horspool and Jens Knoop",
                    445:   title =      "Optimizing for space and time usage with speculative
                    446:                 partial redundancy elimination",
                    447:   booktitle =  "LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED
                    448:                 conference on Languages, Compilers, and Tools for Embedded Systems",
                    449:   year =       "2004",
                    450:   ISBN =       "1-58113-806-7",
                    451:   pages =      "221--230",
                    452:   location =   "Washington, DC, USA",
                    453:   publisher =  "ACM Press",
                    454: }
                    455: 
                    456: @InProceedings{HiKr03,
                    457:         TITLE       = "{VLIW} Operation Refinement for Reducing Energy Consumption",
                    458:         AUTHOR      = "Ulrich Hirnschrott and Andreas Krall",
                    459:         BOOKTITLE   = "International Symposium on System-on Chip",
                    460:         PUBLISHER   = "IEEE",
                    461:         ADDRESS     = "Tampere, Finland",
                    462:         YEAR        = "2003",
                    463:         PAGES       = "131--134",
                    464: }
                    465: 
                    466: @Article{Krall+04micro,
                    467:   author =       {Andreas Krall and Ulrich Hirnschrott and Christian Panis and Ivan Pryanishnikov},
                    468:   title =        {x{DSP}core: {A} {C}ompiler-{B}ased {C}onfigureable {D}igital {S}ignal {P}rocessor},
                    469:   journal =      {IEEE Micro},
                    470:   year =         {2004},
                    471:   OPTkey =       {},
                    472:   volume =       {24},
                    473:   number =       {4},
                    474:   pages =        {67-78},
                    475:   month =        {July/August},
                    476:   OPTnote =      {},
                    477:   OPTannote =    {},
                    478: }
                    479: 
                    480: @INPROCEEDINGS{FarKrStBrand06,
                    481:         TITLE       = {Effective Compiler Generation by Architecture Description},
                    482:         AUTHOR      = {Stefan Farfeleder and Andreas Krall and Edwin Steiner and Florian Brandner},
                    483:         BOOKTITLE   = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
                    484:         EDITOR      = {Koen De Bosschere},
                    485:         PUBLISHER   = {ACM},
                    486:         PAGES       = {145--152},
                    487:         ADDRESS     = {Ottawa},
                    488:         MONTH       = {June},
                    489:         YEAR        = {2006},
                    490:         URL         = {http://doi.acm.org/10.1145/1134650.1134671},
                    491: }
                    492: 
                    493: @ARTICLE{PrKrHo06,
                    494:         AUTHOR      = {Ivan Pryanishnikov and Andreas Krall and Nigel Horspool},
                    495:         TITLE       = {Compiler Optimizations for Processors with {SIMD} Instructions},
                    496:         JOURNAL     = {Software---Practice and Experience},
                    497:         PUBLISHER   = {Wiley},
                    498:         VOLUME      = {37},
                    499:         NUMBER      = {1},
                    500:         PAGES       = {93--113},
                    501:         YEAR        = {2007},
                    502:         URL         = {http://www3.interscience.wiley.com/cgi-bin/fulltext/112783581/PDFSTART},
                    503: }
                    504: 
                    505: @ARTICLE{FaKrHo07,
                    506:         AUTHOR      = {Stefan Farfeleder and Andreas Krall and Nigel Horspool},
                    507:         TITLE       = {Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures},
                    508:         JOURNAL     = {Journal of Systems Architecture},
                    509:         PUBLISHER   = {Elsevier},
                    510:         VOLUME      = {53},
                    511:         NUMBER      = {8},
                    512:         PAGES       = {501--510},
                    513:         YEAR        = {2007},
                    514: }
                    515: 
                    516: @INPROCEEDINGS{MeKr07,
                    517:         TITLE       = {Instruction Set Encoding Optimization for Code Size Reduction},
                    518:         AUTHOR      = {Michael Med and Andreas Krall},
                    519:         BOOKTITLE   = {International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation},
                    520:         ADDRESS     = {Samos, Greece},
                    521:         PAGES       = {9--17},
                    522:         MONTH       = {July},
                    523:         YEAR        = {2007}
                    524: }
                    525: 
                    526: @INPROCEEDINGS{BrEbKr07,
                    527:         TITLE       = {Compiler Generation from Structural Architecture Descriptions},
                    528:         AUTHOR      = {Florian Brandner and Dietmar Ebner and Andreas Krall},
                    529:         BOOKTITLE   = {International Conference on Compilers, Architecture, and Synthesis for Embedded Systems},
                    530:         ADDRESS     = {Salzburg, Austria},
                    531:         PAGES       = {13--22},
                    532:         MONTH       = {September},
                    533:         YEAR        = {2007}
                    534: }
                    535: 
                    536: @INPROCEEDINGS{EbBrSchKrWiKa08,
                    537:         TITLE       = {Generalized Instruction Selection using {SSA}-Graphs},
                    538:         AUTHOR      = {Dietmar Ebner and Florian Brandner and Bernhard Scholz and Andreas Krall and Peter Wiedermann and Albrecht Kadlec},
                    539:         BOOKTITLE   = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
                    540:         EDITOR      = {John Regehr},
                    541:         PUBLISHER   = {ACM},
                    542:         PAGES       = {31--40},
                    543:         ADDRESS     = {Tucson},
                    544:         MONTH       = {June},
                    545:         YEAR        = {2008},
                    546: }
                    547: 
                    548: @INPROCEEDINGS{BrFeKrRi09,
                    549:         TITLE       = {Fast and Accurate Simulation using the LLVM Compiler Framework},
                    550:         AUTHOR      = {Florian Brandner and Andreas Fellnhofer and Andreas Krall and David Riegler},
                    551:         BOOKTITLE   = {Rapid Simulation and Performance Evaluation: Methods and Tools (RAPIDO'09)},
                    552:         EDITOR      = {Smail Niar, Rainer Leupers, Olivier Temam},
                    553:         PUBLISHER   = {HiPEAC},
                    554:         PAGES       = {1--6},
                    555:         ADDRESS     = {Paphos, Cyprus},
                    556:         MONTH       = {January},
                    557:         YEAR        = {2009},
                    558: }
                    559: \end{comment}
                    560: 
                    561: \bibliography{res}    % Input von res.bib, kommt dann spaeter dazu ...
                    562: 
                    563: \end{document}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>