Secure CheckoutPersonal information is secured with SSL technology.
Free ShippingFree global shipping
No minimum order.
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
Chapter 1: An Introduction to Embedded Processing
1.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 ILP
2.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 Design
3.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 Simulation
6.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.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:
- © Morgan Kaufmann 2005
- 17th December 2004
- Morgan Kaufmann
- Hardcover ISBN:
- eBook ISBN:
- Paperback ISBN:
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.
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).
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.
D. E. Shaw Research and Development, L.L.C., New York, New York
“Embedded Computing is enthralling in its clarity and exhilarating in its scope. If the technology you are working on is associated with VLIWs or "embedded computing", then clearly it is imperative that you read this book. If you are involved in computer system design or programming, you must still read this book, because it will take you to places where the views are spectacular. You don't necessarily have to agree with every point the authors make, but you will understand what they are trying to say, and they will make you think.” From the Foreword by Robert Colwell, R&E Colwell & Assoc. Inc