[gforth] / res / PP-compiler.tex  

gforth: res/PP-compiler.tex


1 : andi 1.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 :    
22 : andi 1.6 \author{{\sc Andreas Krall and Jens Knoop}\\
23 :     \{andi,knoop\}@complang.tuwien.ac.at
24 : andi 1.1 }
25 :    
26 :     \bibliographystyle{unsrt}
27 :    
28 :     \begin{document}
29 :     \maketitle
30 :    
31 : andi 1.2 PP leader: \emph{Jens Knoop and Andreas Krall}
32 : andi 1.1
33 : andi 1.2 Associated researchers: \emph{}
34 : andi 1.1
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
41 : andi 1.5 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.
44 : andi 1.1
45 :     \subsubsection*{State of the art and related work:}
46 :     %\emph{Briefly describe the scientific state of the art (20-30 lines)}
47 :    
48 : andi 1.2 %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}.
62 : andi 1.4 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}.
72 : andi 1.1
73 : andi 1.9 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 :    
86 : andi 1.7
87 : andi 1.1
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 :    
137 : andi 1.6 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.
141 : andi 1.1
142 : andi 1.5 \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}
143 : andi 1.1
144 : andi 1.6 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.
153 : andi 1.1
154 : andi 1.5 \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
162 : andi 1.6 extended processor specification
163 :     \item Generation of optimizing compilers from the extended processor
164 :     specification
165 : andi 1.5 \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 :    
174 : andi 1.8 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}
195 : andi 1.5
196 :     \paragraph*{WP3 - Worst Case Ececution Time Analysis}
197 : andi 1.1
198 : andi 1.5 WCET
199 : andi 1.2
200 : andi 1.1
201 :     \begin{tabular}{llll}
202 : andi 1.5 \\
203 : andi 1.1 \hline
204 : andi 1.2 {\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\
205 :     NN1 & PhD & reliable compilation / simulation & 4 years \\
206 : andi 1.5 NN2 & PhD & verified compilation & 4 years \\
207 : andi 1.2 NN3 & PhD & WCET & 4 years \\
208 : andi 1.1 \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 :    
252 : andi 1.2 Aviral Shrivastava, Arizona State University, Tempe, AZ, USA
253 :    
254 :     Wolf Zimmermann, Universit\"at Halle, Halle, Germany
255 : andi 1.1
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}

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help