Computers as Components: Principles of Embedded Computing System Design, Third Edition, presents essential knowledge on embedded systems technology and techniques. Updated for today's embedded systems design methods, this volume features new examples including digital signal processing, multimedia, and cyber-physical systems. It also covers the latest processors from Texas Instruments, ARM, and Microchip Technology plus software, operating systems, networks, consumer devices, and more.
Like the previous editions, this textbook uses real processors to demonstrate both technology and techniques; shows readers how to apply principles to actual design practice; stresses necessary fundamentals that can be applied to evolving technologies; and helps readers gain facility to design large, complex embedded systems. Updates in this edition include: description of cyber-physical systems; exploration of the PIC and TI OMAP processors; high-level representations of systems using signal flow graphs; enhanced material on interprocess communication and buffering in operating systems; and design examples that include an audio player, digital camera, and cell phone. The author maintains a robust ancillary site at http://www.marilynwolf.us/CaC3e/index.html which includes a variety of support materials for instructors and students, including PowerPoint slides for each chapter; lab assignments developed for multiple systems including the ARM-based BeagleBoard computer; downloadable exercises solutions and source code; and links to resources and additional information on hardware, software, systems, and more.
This book will appeal to students in an embedded systems design course as well as to researchers and savvy professionals schooled in hardware or software design.
Key Features
- Description of cyber-physical systems: physical systems with integrated computation to give new capabilities
- Exploration of the PIC and TI OMAP multiprocessors
- High-level representations of systems using signal flow graphs
- Enhanced material on interprocess communication and buffering in operating systems
- Design examples include an audio player, digital camera, cell phone, and more
Dedication
Foreword to the First Edition
Preface to the First Edition
Preface to the Second Edition
Preface to the Third Edition
Chapter 1. Embedded Computing
Chapter Points
1.1 Introduction
1.2 Complex Systems and Microprocessors
1.3 The Embedded System Design Process
1.4 Design Example: Model Train Controller
1.5 A Guided Tour of This Book
1.6 Summary
What we Learned
Further Reading
Chapter 2. Instruction Sets
Chapter Points
2.1 Introduction
2.2 Preliminaries
2.3 ARM Processor
2.4 PICmicro Mid-Range Family
2.5 TI C55x DSP
2.6 TI C64x
2.7 Summary
What we Learned
Further reading
Chapter 3. CPUs
Chapter Points
3.1 Introduction
3.2 Programming Input and Output
3.3 Supervisor Mode, Exceptions, and Traps
3.4 Co-Processors
3.5 Memory System Mechanisms
3.6 CPU Performance
3.7 CPU Power Consumption
3.8 Design Example: Data Compressor
3.9 Summary
What we Learned
Further reading
Chapter 4. Computing Platforms
Chapter Points
4.1 Introduction
4.2 Basic Computing Platforms
4.3 The CPU Bus
4.4 Memory Devices and Systems
4.5 Designing with Computing Platforms
4.6 Consumer Electronics Architecture
4.7 Platform-Level Performance Analysis
4.8 Design Example: Alarm Clock
4.9 Design Example: Audio Player
4.10 Summary
What we Learned
Further reading
Chapter 5. Program Design and Analysis
Chapter Points
5.1 Introduction
5.2 Components for Embedded Programs
5.3 Models of Programs
5.4 Assembly, Linking, and Loading
5.5 Compilation Techniques
5.6 Program-Level Performance Analysis
5.7 Software Performance Optimization
5.8 Program-Level Energy and Power Analysis and Optimization
5.9 Analysis and Optimization of Program Size
5.10 Program Validation and Testing
5.11 Design Example: Software Modem
5.12 Design Example: Digital Still Camera
5.13 Summary
What we Learned
Further reading
Chapter 6. Processes and Operating Systems
Chapter Points
6.1 Introduction
6.2 Multiple Tasks and Multiple Processes
6.3 Multirate Systems
6.4 Preemptive Real-Time Operating Systems
6.5 Priority-Based Scheduling
6.6 Interprocess Communication Mechanisms
6.7 Evaluating Operating System Performance
6.8 Power Optimization Strategies for Processes
6.9 Example Real-Time Operating Systems
6.10 Design Example: Telephone Answering Machine
6.11 Design Example: Engine Control Unit
6.12 Summary
What we Learned
Further reading
Chapter 7. System Design Techniques
Chapter Points
7.1 Introduction
7.2 Design Methodologies
7.3 Requirements Analysis
7.4 Specifications
7.5 System Analysis and Architecture Design
7.6 Quality Assurance
7.7 Summary
What we Learned
Further reading
Chapter 8. Networks and Multiprocessors
Chapter Points
8.1 Introduction
8.2 Why Networks and Multiprocessors?
8.3 Categories of Multiprocessors
8.4 Distributed Embedded Systems
8.5 MPSoCs and Shared Memory Multiprocessors
8.6 Design Example: Video Accelerator
8.7 Application Example: Compact Disc
8.8 Summary
Further Reading
Glossary
References
Index
- Wolf, Computers as Components, 2e, 9780123743978, MK, 544 pp, $83.95, 2008
- Sass and Schmidt, Embedded Systems Design with FPGAs, 9780123743336, MK, 408 pp, $89.95, 2010
- Noergaard, Embedded Systems Architecture, 9780750677929, Newnes, 656 pp, $86.95, 2005
Students in an embedded systems design course as well as researchers and savvy professionals schooled in hardware or software design.