Back to School Savings: Save up to 30% on print books and eBooks. No promo code needed.
Back to School Savings: Save up to 30%
A VLIW Approach to Architecture, Compilers and Tools
1st Edition - December 17, 2004
Authors: Joseph A. Fisher, Paolo Faraboschi, Cliff Young
9 7 8 - 1 - 5 5 8 6 0 - 7 6 6 - 8
9 7 8 - 0 - 0 8 - 0 4 7 7 5 4 - 1
The fact that there are more embedded computers than general-purpose computers and that we are impacted by hundreds of them every day is no longer news. What is news is that… Read more
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code is needed.
The fact that there are more embedded computers than general-purpose computers and that we are impacted by hundreds of them every day is no longer news. What is news is that their increasing performance requirements, complexity and capabilities demand a new approach to their design. Fisher, Faraboschi, and Young describe a new age of embedded computing design, in which the processor is central, making the approach radically distinct from contemporary practices of embedded systems design. They demonstrate why it is essential to take a computing-centric and system-design approach to the traditional elements of nonprogrammable components, peripherals, interconnects and buses. These elements must be unified in a system design with high-performance processor architectures, microarchitectures and compilers, and with the compilation tools, debuggers and simulators needed for application development. In this landmark text, the authors apply their expertise in highly interdisciplinary hardware/software development and VLIW processors to illustrate this change in embedded computing. VLIW architectures have long been a popular choice in embedded systems design, and while VLIW is a running theme throughout the book, embedded computing is the core topic. Embedded Computing examines both in a book filled with fact and opinion based on the authors many years of R&D experience.
· Complemented by a unique, professional-quality embedded tool-chain on the authors' website, http://www.vliw.org/book· Combines technical depth with real-world experience · Comprehensively explains the differences between general purpose computing systems and embedded systems at the hardware, software, tools and operating system levels. · Uses concrete examples to explain and motivate the trade-offs.
embedded systems designers; system software developers; graduate students in computer science and computer engineering
PrefaceChapter 1: An Introduction to Embedded Processing1.1 What is Embedded Computing?1.2 Distinguishing Between Embedded and General Purpose Computing 1.3 Characterizing Embedded Computing 1.4 Embedded market structure 1.5 Further Reading 1.6 Exercises Chapter 2: An Overview of VLIW and ILP2.1 Semantics and parallelism 2.2 Design philosophies 2.3 Role of the compiler 2.4 VLIW in the embedded and DSP domains 2.5 Historical Perspective and Further Reading 2.6 Exercises Chapter 3: An Overview of ISA Design3.1 Overview: What to Hide 3.2 Basic VLIW design principles 3.3 Designing a VLIW ISA for Embedded Systems 3.4 Instruction-Set Encoding 3.5 VLIW Encoding 3.6 Encoding and Instruction-Set Extensions 3.7 Further Reading 3.8 Exercises Chapter 4: Architectural Structures in ISA design 4.1 The Datapath 4.2 Registers and Clusters 4.3 Memory Architecture 4.4 Branch Architecture 4.5 Speculation and Predication 4.6 System Operations 4.7 Further Reading 4.8 Exercises Chapter 5: Microarchitecture Design 5.1 Register File Design 5.2 Pipeline Design 5.3 VLIW Fetch, Sequencing and Decoding 5.4 The Datapath 5.5 Memory Architecture 5.6 Control Unit 5.7 Control Registers 5.8 Power Considerations 5.9 Further Reading 5.10 Exercises Chapter 6: System Design and Simulation6.1 System-on-Chip (SoC) 6.2 Processor Cores and System-On-Chip 6.3 Overview of Simulation 6.4 Simulating a VLIW architecture 6.5 System simulation 6.6 Validation and verification 6.7 Further Reading 6.8 Exercises Chapter 7: Embedded Compiling and Toolchains 7.1 What is important in an ILP Compiler? 7.2 Embedded cross-development toolchains 7.3 Structure of an ILP compiler 7.4 Code Layout 7.5 Embedded-specific trade-offs for compilers 7.6 DSP-Specific Compiler Optimizations 7.7 Further Reading 7.8 Exercises Chapter 8: Compiling for VLIWs and ILP 8.1 Profiling 8.2 Scheduling 8.3 Register allocation 8.4 Speculation and Predication 8.5 Instruction selection 8.6 Further Reading 8.7 Exercises Chapter 9: The Run-time System 9.1 Exceptions, interrupts, and traps 9.2 Application Binary Interface considerations 9.3 Code Compression 9.4 Embedded Operating Systems 9.5 Multiprocessing and Multithreading 9.6 Further Reading 9.7 Exercises Chapter 10: Application Design and Customization 10.1 Programming Language choices 10.2 Performance, Benchmarking and Tuning 10.3 Scalability and Customizability 10.4 Further Reading 10.5 Exercises Chapter 11: Application Areas 11.1 Digital Printing and Imaging 11.2 Telecom applications 11.3 Other application areas 11.4 Further Reading 11.5 Exercises Appendix A: The VEX System Appendix B: Glossary Appendix C: Bibliography
No. of pages: 712
Published: December 17, 2004
Imprint: Morgan Kaufmann
Hardback ISBN: 9781558607668
eBook ISBN: 9780080477541
Joseph A. Fisher
JOSEPH A. FISHER is a Hewlett-Packard Senior Fellow at HP Labs, where he has worked since 1990 in instruction-level parallelism and in custom embedded VLIW processors and their compilers. Josh studied at the Courant Institute of NYU (B.A., M.A., and then Ph.D. in 1979), where he devised the trace scheduling compiler algorithm and coined the term instruction-level parallelism. As a professor at Yale University, he created and named VLIW architectures and invented many of the fundamental technologies of ILP. In 1984, he started Multiflow Computer with two members of his Yale team. Josh won an NSF Presidential Young Investigator Award in 1984, was the 1987 Connecticut Eli Whitney Entrepreneur of the Year, and in 2003 received the ACM/IEEE Eckert-Mauchly Award. He is also the recipient of the 2012 IEEE Computer Society B. Ramakrishna Rau Award, recognizing his work in the development of trace scheduling compilation and pioneering work in VLIW (Very Long Instruction Word) architectures.
Affiliations and expertise
Senior HP Fellow Emeritus
PAOLO FARABOSCHI is a Principal Research Scientist at HP Labs. Before joining Hewlett-Packard in 1994, Paolo received an M.S. (Laurea) and Ph.D. (Dottorato di Ricerca) in electrical engineering and computer science from the University of Genoa (Italy) in 1989 and 1993, respectively. His research interests skirt the boundary of hardware and software, including VLIW architectures, compilers, and embedded systems. More recently, he has been looking at the computing aspects of demanding content-processing applications. Paolo is an active member of the computer architecture community, has served in many program committees, and was Program Co-chair for MICRO (2001) and CASES (2003).
Affiliations and expertise
HP Labs, Barcelona, Spain
CLIFF YOUNG works for D. E. Shaw Research and Development, LLC, a member of the D. E. Shaw group of companies, on projects involving special-purpose, high-performance computers for computational biochemistry. Before his current position, he was a Member of Technical Staff at Bell Laboratories in Murray Hill, New Jersey. He received A.B., S.M., and Ph.D. degrees in computer science from Harvard University in 1989, 1995, and 1998, respectively.
Affiliations and expertise
D. E. Shaw Research and Development, L.L.C., New
York, New York