You are previewing Computers as Components, 3rd Edition.
O'Reilly logo
Computers as Components, 3rd Edition

Book Description

Computers as Components: Principles of Embedded Computing System Design, 3e, presents essential knowledge on embedded systems technology and techniques. Updated for today's embedded systems design methods, this edition features new examples including digital signal processing, multimedia, and cyber-physical systems. Author Marilyn Wolf covers the latest processors from Texas Instruments, ARM, and Microchip Technology plus software, operating systems, networks, consumer devices, 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