Computers as components: principles of embedded computing system design / Wayne Wolf.

By: Wolf, WayneMaterial type: TextTextPublication details: Amsterdam ; Boston : Burlington, Mass. : Elsevier ; Morgan Kaufmann Publishers, 2008Edition: 2nd edISBN: 9788131217917 (pb)Other title: Principles of embedded computing system designSubject(s): System Design | Embedded Computer SystemsDDC classification: 004.21
Contents:
CHAPTER 1 Embedded Computing Introduction 1.1 Complex Systems and Microprocessors 1.1.1 Embedding Computers 1.1.2 Characteristics of Embedded Computing Applications 1.1.3 Why Use Microprocessors? 1.1.4 The Physics of Software 1.1.5 Challenges in Embedded Computing System Design 1.1.6 Performance in Embedded Computing 1.2 The Embedded System Design Process 1.2.1 Requirements 1.2.2 Specification 1.2.3 Architecture Design . 1.2.4 Designing Hardware and Software Components 1.2.5 System Integration 1.3 Formalisms for System Design 1.3.1 Structural Description 1.3.2 Behavioral Description 1.4 Model Train Controller 1.4.1 Requirements. 1.4.2 DCC 1.4.3 Conceptual Specification 1.4.4 Detailed Specification 1.4.5 Lessons Learned 1.5 A Guided Tour of This Book . 1.5.1 Chapter 2: Instruction Sets 1.5.2 Chapter 3: CPUs 1.5.3 Chapter 4: Bus-Based Computer Systems 1.5.4 Chapter 5: Program Design and Analysis 1.5.5 Chapter 6: Processes and Operating Systems 1.5.6 Chapter 7: Multiprocessors 1.5.7 Chapter 8: Networks 1.5.8 Chapter 9: System Design Techniques CHAPTER 2 Instruction Sets CHAPTER 3 Introducton.. 2.1 Preliminaries 2.1.1 Computer Architecture Taxonomy 2.1.2 Assembly Language 2.2 ARM Processor 2.2.1 Processor and Memory Organization 2.2.2 Data Operations 2.2.3 Flow of Control 2.3 TI C55x DSP 3.1 3.2 2.3.1 Processor and Memory Organization 2.3.2 Addressing Modes 2.3.3 Data Operations 2.3.4 Flow of Control. 2.3.5 C Coding Guidelines CPUs Introduction Programming Input and Output 3.1.1 Input and Output Devices 3.1.2 Input and Output Primitives 3.1.3 Busy-Wait I/O. 3.1.4 Interrupts Supervisor Mode, Exceptions, and Traps 3.2.1 Supervisor Mode 3.2.2 Exceptions 3.2.3 Traps 3.3 Co-Processors 3.4 Memory System Mechanisms 3.4.1 Caches 3.4.2 Memory Management Units and Address Translation 3.5 CPU Performance 3.5.1 Pipelining 3.5.2 Caching 3.6 CPU Power Consumption 3.7 Design Example: Data Compressor 3.7.1 Requirements and Algorithm 3.7.2 Specification 3.7.3 Program Design 3.7.4 Testing CHAPTER 4 Bus-Based Computer Systems Introduction 4.1 The CPU Bus 4.1.1 Bus Protocols 4.1.2 DMA 4.1.3 System Bus Configurations 4.1.4 AMBABus 4.2 Memory Devices 4.2.1 Memory Device Organization 4.2.2 Random-Access Memories 4.2.3 Read-Only Memories 4.3 I/O devices 4.3.1 Timers and Counters 4.3.2 A/D and D/A Converters 4.3.3 Keyboards 4.3.4 LEDs 4.3.5 Displays 4.3.6 Touchscreens 4.4 Component Interfacing 4.4.1 Memory Interfacing 4.4.2 Device Interfacing 4.5 Designing with Microprocessors 4.5.1 System Architecture 4.5.2 Hardware Design 4.5.3 The PC as a Platform 4.6 Development and Debugging 4.6.1 Development Environments 4.6.2 Debugging Techniques 4.6.3 Debugging Challenges 4.7 System-Level Performance Analysis 4.7.1 System-Level Performance Analysis 4.7.2 Parallelism 4.8 Design Example: Alarm Clock 4.8.1 Requirements 4.8.2 Specification 4.8.3 System Architecture 4.8.4 Component Design and Testing 4.8.5 System Integration andTesting CHAPTER 5 Program Design and Analysis Introduction 5.1 Components for Embedded Programs 5.1.1 State Machines 5.1.2 Stream-Oriented Progranuning and Circular Buffers. 5.1.3 Queues 5.2 Models of Programs 5.2.1 Data Flow Graphs 5.2.2 Control/Dau Flow Graphs 5.3 Assembly, Linking, and Loading 5.3.1 Assemblers 5.3.2 Linking 5.4 Basic Compilation Techniques 5.4.1 Statement Translation 5.4.2 Procedures. 5.4.3 Data Structures 5.5 Program Optimization . 5.5.1 Expression Simplification 5.5.2 Dead Code Elimination 5.5.3 Procedure InUning 5.5.4 Loop Transformations 5.5.5 Register Allocation 5.5.6 Scheduling 5.5.7 Instruction Selection 5.5.8 Understanding and Using your Compiler 5.5.9 Interpreters and JIT Compilers 5.6 Program-Level Performance Analysis 5.6.1 Elements of Program Perfoririance 5.6.2 Measurement-Driven Performance Analysis 5.7 Software Performance Optimization 5.7.1 Loop Optimizations 5.7.2 Performance Optimization Strategies 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.10.1 Clear-Box Testing 5.10.2 Black-Box Testing 5.10.3 Evaluating Function Tests 5.11 Software Modem 5.11.1 Theory of Operation and Requirements 5.11.2 Specification 5.11.3 System Architecture 5.11.4 Component Design and Testing 5.11.5 System Integration and Testing CHAPTER 6 Processes and Operating Systems Introduction 6.1 Multiple Tasks and Multiple Processes 6.1.1 Tasks and Processes 6.1.2 Multirate Systems 6.1.3 Timing Requirements on Processes 6.1.4 CPU Metrics 6.1.5 Process State and Scheduling 6.1.6 Some Scheduling Policies 6.1.7 Running Periodic Processes 6.2 Preemptive Real-Time Operating Systems 6.2.1 Preemption 6.2.2 Priorities 6.2.3 Processes and Context 6.2.4 Processes and Object-Oriented Design 6.3 Priority-Based Scheduling 6.3.1 Rate-Monotonic Scheduling 6.3.2 Earliest-Deadline-First Scheduling 6.3.3 RMS vs. EDF 6.3.4 A Closer Look at Our Modeling Assumptions 6.4 Interprocess Communication Mechanisms 6.4.1 Shared Memory Conununication 6.4.2 Message Passing 6.4.3 Signals 6.5 Evaluating Operating System Performance 6.6 Power Management and Optimization for Processes 6.7 Design Example: Telephone Answering Machine 6.7.1 Theory of Operation and Requirements 6.7.2 Specification 6.7.3 System Architecture 6.7.4 Component Design and Testing 6.7.5 System Integration and Testing CHAPTER 7 Multiprocessors Introduction 7.1 Why Multiprocessors? 7.2 CPUs and Accelerators 7.2.1 System Architecture Framework 7.2.2 System Integration and Debugging 7.3 Multiprocessor Performance Analysis 7.3.1 Accelerators and Speedup 7.3.2 Performance Effects of Scheduling and Allocation 7.3.3 Buffering and Performance 7.4 Consumer Electronics Architecture 7.4.1 Use Cases and Requirements 7.4.2 Platforms and Operating Systems 7.4.3 Flash File Systems 7.5 Design Example: Cell Phones 7.6 Design Example: Compact DISCs and DVDs 7.7 Design Example: Audio Players 7.8 Design Example: Digital Still Cameras 7.9 Design Example: Video Accelerator 7.9.1 Algorithm and Requirements 7.9.2 Specification 7.9.3 Architecture 7.9.4 Component Design 7-9.5 System Testing CHAPTER 8 Networks Introduction 8.1 Distributed Embedded Architectures 8.1.1 Why Distributed? 8.1.2 Network Abstractions 8.1.3 Hardware and Software Architectures 8.1.4 Message Passing Programming 8.2 Networks for Embedded Systems 8.2.1 Thel^CBus 8.2.2 Ethernet 8.2.3 Fieldbus 8.3 Network-Based Design 8.4 Internet-Enabled Systems 8.4.1 Internet 8.4.2 Internet Applications 8.4.3 Internet Security 8.5 Vehicles as Networks 8.5.1 Automotive Networks 8.5.2 Avionics 8.6 Sensor Networks 8.7 Design Example: Elevator Controller 8.7.1 Theory of Operation and Requirements 8.7.2 Specification 8.7.3 Architecture 8.7.4 Testing CHAPTER 9 System Design Techniques Introduction 9.1 Design Methodologies 9.1.1 Why Design Methodologies? 9.1.2 Design Flows 9.2 Requirements Analysis Contents 9.3 Specifications. 9.3.1 Control-Oriented Specification Languages 9.3.2 Advanced Specifications 9.4 System Analysis and Architecture Design 9.5 Quality Assurance 9.5.1 Quality Assurance Techniques 9.5.2 Verifying the Specification 9.5.3 Design Reviews
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode Item holds
General Books General Books Central Library, Sikkim University
General Book Section
004.21 WOL/C (Browse shelf(Opens below)) Available P18478
Total holds: 0

Title from title screen.

CHAPTER 1 Embedded Computing
Introduction
1.1 Complex Systems and Microprocessors
1.1.1 Embedding Computers
1.1.2 Characteristics of Embedded Computing
Applications
1.1.3 Why Use Microprocessors?
1.1.4 The Physics of Software
1.1.5 Challenges in Embedded Computing System
Design
1.1.6 Performance in Embedded Computing
1.2 The Embedded System Design Process
1.2.1 Requirements
1.2.2 Specification
1.2.3 Architecture Design .
1.2.4 Designing Hardware and Software
Components
1.2.5 System Integration
1.3 Formalisms for System Design
1.3.1 Structural Description
1.3.2 Behavioral Description
1.4 Model Train Controller
1.4.1 Requirements.
1.4.2 DCC
1.4.3 Conceptual Specification
1.4.4 Detailed Specification
1.4.5 Lessons Learned
1.5 A Guided Tour of This Book .
1.5.1 Chapter 2: Instruction Sets
1.5.2 Chapter 3: CPUs
1.5.3 Chapter 4: Bus-Based Computer Systems
1.5.4 Chapter 5: Program Design and Analysis
1.5.5 Chapter 6: Processes and Operating Systems
1.5.6 Chapter 7: Multiprocessors
1.5.7 Chapter 8: Networks
1.5.8 Chapter 9: System Design Techniques
CHAPTER 2 Instruction Sets
CHAPTER 3
Introducton..
2.1 Preliminaries
2.1.1 Computer Architecture Taxonomy
2.1.2 Assembly Language
2.2 ARM Processor
2.2.1 Processor and Memory Organization
2.2.2 Data Operations
2.2.3 Flow of Control
2.3 TI C55x DSP
3.1
3.2
2.3.1 Processor and Memory Organization
2.3.2 Addressing Modes
2.3.3 Data Operations
2.3.4 Flow of Control.
2.3.5 C Coding Guidelines
CPUs
Introduction
Programming Input and Output
3.1.1 Input and Output Devices
3.1.2 Input and Output Primitives
3.1.3 Busy-Wait I/O.
3.1.4 Interrupts
Supervisor Mode, Exceptions, and Traps
3.2.1 Supervisor Mode
3.2.2 Exceptions
3.2.3 Traps
3.3 Co-Processors
3.4 Memory System Mechanisms
3.4.1 Caches
3.4.2 Memory Management Units and Address
Translation
3.5 CPU Performance
3.5.1 Pipelining
3.5.2 Caching
3.6 CPU Power Consumption
3.7 Design Example: Data Compressor
3.7.1 Requirements and Algorithm
3.7.2 Specification
3.7.3 Program Design
3.7.4 Testing
CHAPTER 4 Bus-Based Computer Systems
Introduction
4.1 The CPU Bus
4.1.1 Bus Protocols
4.1.2 DMA
4.1.3 System Bus Configurations
4.1.4 AMBABus
4.2 Memory Devices
4.2.1 Memory Device Organization
4.2.2 Random-Access Memories
4.2.3 Read-Only Memories
4.3 I/O devices
4.3.1 Timers and Counters
4.3.2 A/D and D/A Converters
4.3.3 Keyboards
4.3.4 LEDs
4.3.5 Displays
4.3.6 Touchscreens
4.4 Component Interfacing
4.4.1 Memory Interfacing
4.4.2 Device Interfacing
4.5 Designing with Microprocessors
4.5.1 System Architecture
4.5.2 Hardware Design
4.5.3 The PC as a Platform
4.6 Development and Debugging
4.6.1 Development Environments
4.6.2 Debugging Techniques
4.6.3 Debugging Challenges
4.7 System-Level Performance Analysis
4.7.1 System-Level Performance Analysis
4.7.2 Parallelism
4.8 Design Example: Alarm Clock
4.8.1 Requirements
4.8.2 Specification
4.8.3 System Architecture
4.8.4 Component Design and Testing
4.8.5 System Integration andTesting
CHAPTER 5 Program Design and Analysis
Introduction
5.1 Components for Embedded Programs
5.1.1 State Machines
5.1.2 Stream-Oriented Progranuning and Circular
Buffers.
5.1.3 Queues
5.2 Models of Programs
5.2.1 Data Flow Graphs
5.2.2 Control/Dau Flow Graphs
5.3 Assembly, Linking, and Loading
5.3.1 Assemblers
5.3.2 Linking
5.4 Basic Compilation Techniques
5.4.1 Statement Translation
5.4.2 Procedures.
5.4.3 Data Structures
5.5 Program Optimization .
5.5.1 Expression Simplification
5.5.2 Dead Code Elimination
5.5.3 Procedure InUning
5.5.4 Loop Transformations
5.5.5 Register Allocation
5.5.6 Scheduling
5.5.7 Instruction Selection
5.5.8 Understanding and Using your Compiler
5.5.9 Interpreters and JIT Compilers
5.6 Program-Level Performance Analysis
5.6.1 Elements of Program Perfoririance
5.6.2 Measurement-Driven Performance Analysis
5.7 Software Performance Optimization
5.7.1 Loop Optimizations
5.7.2 Performance Optimization Strategies
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.10.1 Clear-Box Testing
5.10.2 Black-Box Testing
5.10.3 Evaluating Function Tests
5.11 Software Modem
5.11.1 Theory of Operation and Requirements
5.11.2 Specification
5.11.3 System Architecture
5.11.4 Component Design and Testing
5.11.5 System Integration and Testing
CHAPTER 6 Processes and Operating Systems
Introduction
6.1 Multiple Tasks and Multiple Processes
6.1.1 Tasks and Processes
6.1.2 Multirate Systems
6.1.3 Timing Requirements on Processes
6.1.4 CPU Metrics
6.1.5 Process State and Scheduling
6.1.6 Some Scheduling Policies
6.1.7 Running Periodic Processes
6.2 Preemptive Real-Time Operating Systems
6.2.1 Preemption
6.2.2 Priorities
6.2.3 Processes and Context
6.2.4 Processes and Object-Oriented Design
6.3 Priority-Based Scheduling
6.3.1 Rate-Monotonic Scheduling
6.3.2 Earliest-Deadline-First Scheduling
6.3.3 RMS vs. EDF
6.3.4 A Closer Look at Our Modeling Assumptions
6.4 Interprocess Communication Mechanisms
6.4.1 Shared Memory Conununication
6.4.2 Message Passing
6.4.3 Signals
6.5 Evaluating Operating System Performance
6.6 Power Management and Optimization for Processes
6.7 Design Example: Telephone Answering Machine
6.7.1 Theory of Operation and Requirements
6.7.2 Specification
6.7.3 System Architecture
6.7.4 Component Design and Testing
6.7.5 System Integration and Testing
CHAPTER 7 Multiprocessors
Introduction
7.1 Why Multiprocessors?
7.2 CPUs and Accelerators
7.2.1 System Architecture Framework
7.2.2 System Integration and Debugging
7.3 Multiprocessor Performance Analysis
7.3.1 Accelerators and Speedup
7.3.2 Performance Effects of Scheduling and Allocation
7.3.3 Buffering and Performance
7.4 Consumer Electronics Architecture
7.4.1 Use Cases and Requirements
7.4.2 Platforms and Operating Systems
7.4.3 Flash File Systems
7.5 Design Example: Cell Phones
7.6 Design Example: Compact DISCs and DVDs
7.7 Design Example: Audio Players
7.8 Design Example: Digital Still Cameras
7.9 Design Example: Video Accelerator
7.9.1 Algorithm and Requirements
7.9.2 Specification
7.9.3 Architecture
7.9.4 Component Design
7-9.5 System Testing
CHAPTER 8 Networks
Introduction
8.1 Distributed Embedded Architectures
8.1.1 Why Distributed?
8.1.2 Network Abstractions
8.1.3 Hardware and Software Architectures
8.1.4 Message Passing Programming
8.2 Networks for Embedded Systems
8.2.1 Thel^CBus
8.2.2 Ethernet
8.2.3 Fieldbus
8.3 Network-Based Design
8.4 Internet-Enabled Systems
8.4.1 Internet
8.4.2 Internet Applications
8.4.3 Internet Security
8.5 Vehicles as Networks
8.5.1 Automotive Networks
8.5.2 Avionics
8.6 Sensor Networks
8.7 Design Example: Elevator Controller
8.7.1 Theory of Operation and Requirements
8.7.2 Specification
8.7.3 Architecture
8.7.4 Testing
CHAPTER 9 System Design Techniques
Introduction
9.1 Design Methodologies
9.1.1 Why Design Methodologies?
9.1.2 Design Flows
9.2 Requirements Analysis
Contents
9.3 Specifications.
9.3.1 Control-Oriented Specification Languages
9.3.2 Advanced Specifications
9.4 System Analysis and Architecture Design
9.5 Quality Assurance
9.5.1 Quality Assurance Techniques
9.5.2 Verifying the Specification
9.5.3 Design Reviews

There are no comments on this title.

to post a comment.
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha