Ebook: Source Code Optimization Techniques for Data Flow Dominated Embedded Software
- Tags: Software Engineering/Programming and Operating Systems, Theory of Computation, Electrical Engineering, Programming Languages Compilers Interpreters, Special Purpose and Application-Based Systems, Computer-Aided Engineering (CAD CAE) a
- Year: 2004
- Publisher: Springer US
- Edition: 1
- Language: English
- pdf
This book focuses on source-to-source code transformations that remove addressing-related overhead present in most multimedia or signal processing application programs. This approach is complementary to existing compiler technology. What is particularly attractive about the transformation flow pre sented here is that its behavior is nearly independent of the target processor platform and the underlying compiler. Hence, the different source code trans formations developed here lead to impressive performance improvements on most existing processor architecture styles, ranging from RISCs like ARM7 or MIPS over Superscalars like Intel-Pentium, PowerPC, DEC-Alpha, Sun and HP, to VLIW DSPs like TI C6x and Philips TriMedia. The source code did not have to be modified between processors to obtain these results. Apart from the performance improvements, the estimated energy is also significantly reduced for a given application run. These results were not obtained for academic codes but for realistic and rep resentative applications, all selected from the multimedia domain. That shows the industrial relevance and importance of this research. At the same time, the scientific novelty and quality of the contributions have lead to several excellent papers that have been published in internationally renowned conferences like e. g. DATE. This book is hence of interest for academic researchers, both because of the overall description of the methodology and related work context and for the detailed descriptions of the compilation techniques and algorithms.
The building blocks of today’s embedded systems-on-a-chip (SoC) are complex IP components and programmable processor cores. This means that more and more system functionality is implemented in software rather than in custom hardware motivating the need for highly optimized embedded software.
Source Code Optimization Techniques for Data Flow Dominated Embedded Software is the first contribution focusing on the application of optimizations outside a compiler at the source code level. This book covers the following areas:
- Several entirely new techniques are presented in combination with efficient algorithms for the most important ones
- Control flow analysis and optimization of data-dominated applications is one of the main contributions of this book since this issue remained open up to now
- Using real-life applications, large improvements in terms of runtimes and energy dissipation were achieved by the techniques presented in this book. Detailed results for a broad range of processors including DSPs, VLIWs and embedded RISC cores are discussed.
Source Code Optimization Techniques is mostly self-contained and requires only a basic knowledge in software design. It is intended to be a key reference for researchers, design engineers and compiler / system CAD managers in industry who wish to anticipate the evolution of commercially available design tools over the next few years, or to make use of the concepts of this book in their own research and development.
The building blocks of today’s embedded systems-on-a-chip (SoC) are complex IP components and programmable processor cores. This means that more and more system functionality is implemented in software rather than in custom hardware motivating the need for highly optimized embedded software.
Source Code Optimization Techniques for Data Flow Dominated Embedded Software is the first contribution focusing on the application of optimizations outside a compiler at the source code level. This book covers the following areas:
- Several entirely new techniques are presented in combination with efficient algorithms for the most important ones
- Control flow analysis and optimization of data-dominated applications is one of the main contributions of this book since this issue remained open up to now
- Using real-life applications, large improvements in terms of runtimes and energy dissipation were achieved by the techniques presented in this book. Detailed results for a broad range of processors including DSPs, VLIWs and embedded RISC cores are discussed.
Source Code Optimization Techniques is mostly self-contained and requires only a basic knowledge in software design. It is intended to be a key reference for researchers, design engineers and compiler / system CAD managers in industry who wish to anticipate the evolution of commercially available design tools over the next few years, or to make use of the concepts of this book in their own research and development.
Content:
Front Matter....Pages i-xx
Introduction....Pages 1-13
Existing Code Optimization Techniques....Pages 15-23
Fundamental Concepts for Optimization and Evaluation....Pages 25-39
Intermediate Representations and Their Suitability for Source Code Optimization....Pages 41-52
Loop Nest Splitting....Pages 53-117
Advanced Code Hoisting....Pages 119-162
Ring Buffer Replacement....Pages 163-180
Summary and Conclusions....Pages 181-187
Back Matter....Pages 189-226
The building blocks of today’s embedded systems-on-a-chip (SoC) are complex IP components and programmable processor cores. This means that more and more system functionality is implemented in software rather than in custom hardware motivating the need for highly optimized embedded software.
Source Code Optimization Techniques for Data Flow Dominated Embedded Software is the first contribution focusing on the application of optimizations outside a compiler at the source code level. This book covers the following areas:
- Several entirely new techniques are presented in combination with efficient algorithms for the most important ones
- Control flow analysis and optimization of data-dominated applications is one of the main contributions of this book since this issue remained open up to now
- Using real-life applications, large improvements in terms of runtimes and energy dissipation were achieved by the techniques presented in this book. Detailed results for a broad range of processors including DSPs, VLIWs and embedded RISC cores are discussed.
Source Code Optimization Techniques is mostly self-contained and requires only a basic knowledge in software design. It is intended to be a key reference for researchers, design engineers and compiler / system CAD managers in industry who wish to anticipate the evolution of commercially available design tools over the next few years, or to make use of the concepts of this book in their own research and development.
Content:
Front Matter....Pages i-xx
Introduction....Pages 1-13
Existing Code Optimization Techniques....Pages 15-23
Fundamental Concepts for Optimization and Evaluation....Pages 25-39
Intermediate Representations and Their Suitability for Source Code Optimization....Pages 41-52
Loop Nest Splitting....Pages 53-117
Advanced Code Hoisting....Pages 119-162
Ring Buffer Replacement....Pages 163-180
Summary and Conclusions....Pages 181-187
Back Matter....Pages 189-226
....