Computers as Components, 3rd Edition

Book description

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.

  • 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

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Foreword to the First Edition
  7. Preface to the First Edition
  8. Preface to the Second Edition
  9. Preface to the Third Edition
  10. Chapter 1. Embedded Computing
    1. Chapter Points
    2. 1.1 Introduction
    3. 1.2 Complex Systems and Microprocessors
    4. 1.3 The Embedded System Design Process
    5. 1.4 Design Example: Model Train Controller
    6. 1.5 A Guided Tour of This Book
    7. 1.6 Summary
    8. What we Learned
    9. Further Reading
  11. Chapter 2. Instruction Sets
    1. Chapter Points
    2. 2.1 Introduction
    3. 2.2 Preliminaries
    4. 2.3 ARM Processor
    5. 2.4 PICmicro Mid-Range Family
    6. 2.5 TI C55x DSP
    7. 2.6 TI C64x
    8. 2.7 Summary
    9. What we Learned
    10. Further reading
  12. Chapter 3. CPUs
    1. Chapter Points
    2. 3.1 Introduction
    3. 3.2 Programming Input and Output
    4. 3.3 Supervisor Mode, Exceptions, and Traps
    5. 3.4 Co-Processors
    6. 3.5 Memory System Mechanisms
    7. 3.6 CPU Performance
    8. 3.7 CPU Power Consumption
    9. 3.8 Design Example: Data Compressor
    10. 3.9 Summary
    11. What we Learned
    12. Further reading
  13. Chapter 4. Computing Platforms
    1. Chapter Points
    2. 4.1 Introduction
    3. 4.2 Basic Computing Platforms
    4. 4.3 The CPU Bus
    5. 4.4 Memory Devices and Systems
    6. 4.5 Designing with Computing Platforms
    7. 4.6 Consumer Electronics Architecture
    8. 4.7 Platform-Level Performance Analysis
    9. 4.8 Design Example: Alarm Clock
    10. 4.9 Design Example: Audio Player
    11. 4.10 Summary
    12. What we Learned
    13. Further reading
  14. Chapter 5. Program Design and Analysis
    1. Chapter Points
    2. 5.1 Introduction
    3. 5.2 Components for Embedded Programs
    4. 5.3 Models of Programs
    5. 5.4 Assembly, Linking, and Loading
    6. 5.5 Compilation Techniques
    7. 5.6 Program-Level Performance Analysis
    8. 5.7 Software Performance Optimization
    9. 5.8 Program-Level Energy and Power Analysis and Optimization
    10. 5.9 Analysis and Optimization of Program Size
    11. 5.10 Program Validation and Testing
    12. 5.11 Design Example: Software Modem
    13. 5.12 Design Example: Digital Still Camera
    14. 5.13 Summary
    15. What we Learned
    16. Further reading
  15. Chapter 6. Processes and Operating Systems
    1. Chapter Points
    2. 6.1 Introduction
    3. 6.2 Multiple Tasks and Multiple Processes
    4. 6.3 Multirate Systems
    5. 6.4 Preemptive Real-Time Operating Systems
    6. 6.5 Priority-Based Scheduling
    7. 6.6 Interprocess Communication Mechanisms
    8. 6.7 Evaluating Operating System Performance
    9. 6.8 Power Optimization Strategies for Processes
    10. 6.9 Example Real-Time Operating Systems
    11. 6.10 Design Example: Telephone Answering Machine
    12. 6.11 Design Example: Engine Control Unit
    13. 6.12 Summary
    14. What we Learned
    15. Further reading
  16. Chapter 7. System Design Techniques
    1. Chapter Points
    2. 7.1 Introduction
    3. 7.2 Design Methodologies
    4. 7.3 Requirements Analysis
    5. 7.4 Specifications
    6. 7.5 System Analysis and Architecture Design
    7. 7.6 Quality Assurance
    8. 7.7 Summary
    9. What we Learned
    10. Further reading
  17. Chapter 8. Networks and Multiprocessors
    1. Chapter Points
    2. 8.1 Introduction
    3. 8.2 Why Networks and Multiprocessors?
    4. 8.3 Categories of Multiprocessors
    5. 8.4 Distributed Embedded Systems
    6. 8.5 MPSoCs and Shared Memory Multiprocessors
    7. 8.6 Design Example: Video Accelerator
    8. 8.7 Application Example: Compact Disc
    9. 8.8 Summary
    10. Further Reading
  18. Glossary
  19. References
  20. Index

Product information

  • Title: Computers as Components, 3rd Edition
  • Author(s): Marilyn Wolf
  • Release date: June 2012
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780123884428