High-Performance Embedded Computing

Architectures, Applications, and Methodologies


  • Wayne Wolf, Georgia Institute of Technology, Atlanta, USA

Over the past several years, embedded systems have emerged as an integral though unseen part of many consumer, industrial, and military devices. The explosive growth of these systems has resulted in embedded computing becoming an increasingly important discipline. The need for designers of high-performance, application-specific computing systems has never been greater, and many universities and colleges in the US and worldwide are now developing advanced courses to help prepare their students for careers in embedded computing.High-Performance Embedded Computing: Architectures, Applications, and Methodologies is the first book designed to address the needs of advanced students and industry professionals. Focusing on the unique complexities of embedded system design, the book provides a detailed look at advanced topics in the field, including multiprocessors, VLIW and superscalar architectures, and power consumption. Fundamental challenges in embedded computing are described, together with design methodologies and models of computation. HPEC provides an in-depth and advanced treatment of all the components of embedded systems, with discussions of the current developments in the field and numerous examples of real-world applications.
View full description


Sr. undergraduates and graduate students in CS, CE, and EE advanced embedded computing courses; computing professionals in hardware design or software development who are seeking an integrated knowledge of both in order to design embedded systems.


Book information

  • Published: September 2006
  • ISBN: 978-0-12-369485-0


“This book has much to contribute. More and more embedded devices are becoming available, with people walking around with cell phones, PDAs, MP3 players. The design and constraints of these devices is quite different from a generic computing system such as a laptop or desktop PC. This book provides an abundance of information on these basic design topics while also covering newer areas of research such as sensor networks and multiprocessors.” – Mitch Theys, University of Illinois, Chicago “Developers getting into embedded design will find this book invaluable. Experienced developers wanting to check out the latest tech methodologies will find the book useful as well. Keeping abreast of this information is not an easy task, so it helps to have the insight Wolf provides.” – William Wong, Electronic Design Online, November 1, 2006

Table of Contents

1 Embedded Computing1.1 The Landscape of High-Performance Embedded Computing1.2 Example Applications1.3 Design Goals1.4 Design Methodologies1.5 Models of Computation1.6 Reliability, Safety, and Security1.7 Consumer Electronics Architectures1.8 Summary and a Look AheadWhat We LearnedFurther ReadingQuestionsLab Exercises2 CPUs2.1 Introduction2.2 Comparing Processors2.3 RISC Processors and Digital Signal Processors2.4 Parallel Execution Mechanisms2.5 Variable-Performance CPU Architectures2.6 Processor Memory Hierarchy2.7 Additional CPU Mechanisms2.8 CPU Simulation2.9 Automated CPU Design2.10 SummaryWhat We LearnedFurther ReadingQuestionsLab Exercises3 Programs3.1 Introduction3.2 Code Generation and Back-End Compilation3.3 Memory-Oriented Optimizations3.4 Program Performance Analysis3.5 Models of Computation and Programming3.6 SummaryWhat We LearnedFurther ReadingQuestionsLab Exercises4 Processes and Operating Systems4.1 Introduction4.2 Real-Time Process Scheduling4.3 Languages and Scheduling4.4 Operating System Design4.5 Verification4.6 SummaryWhat We LearnedFurther ReadingQuestionsLab Exercises5 Multiprocessor Architectures5.1 Introduction5.2 Why Embedded Multiprocessors?5.3 Multiprocessor Design Techniques5.4 Multiprocessor Architectures5.5 Processing Elements5.6 Interconnection Networks5.7 Memory Systems5.8 Physically Distributed Systems and Networks5.9 Multiprocessor Design Methodologies and Algorithms5.10 SummaryWhat We LearnedFurther ReadingQuestionsLab Exercises6 Multiprocessor Software6.1 Introduction6.2 What Is Different About Embedded Multiprocessor Software?6.3 Real-Time Multiprocessor Operating Systems6.4 Services and Middleware for Embedded Multiprocessors6.5 Design Verification6.6 SummaryWhat We LearnedFurther ReadingQuestionsLab Exercises7 Hardware/Software Co-Design7.1 Introduction7.2 Design Platforms7.3 Performance Analysis7.4 Hardware/Software Co-Synthesis Algorithms7.5 Hardware/Software Co-Simulation7.6 SummaryWhat We LearnedFurther ReadingQuestionsLab ExercisesGlossary