Computer Systems : An Embedded Approach /
| Main Author: | |
|---|---|
| Corporate Author: | |
| Format: | eBook |
| Language: | English |
| Language Notes: | In English. |
| Published: |
New York, N.Y. :
McGraw-Hill Education,
[2018]
|
| Edition: | First edition. |
| Series: | McGraw-Hill's AccessEngineering.
|
| Subjects: | |
| Online Access: | Connect to the full text of this electronic book |
Table of Contents:
- Cover
- Title Page
- Copyright Page-- About the Author-- Contents Preface
- Acknowledgments
- List of Boxes-- 1 Introduction
- 1.1 The Evolution of Computers
- 1.2 Forward Progress
- 1.3 Computer Generations
- 1.4 Cloud, Pervasive, Grid, and Massively Parallel
- 1.5 Where To from Here?
- 1.6 Summary
- 2 Foundations
- 2.1 Computer Organization
- 2.2 Computer Fundamentals
- 2.3 Number Formats
- 2.4 Arithmetic
- 2.5 Multiplication
- 2.6 Division
- 2.7 Working with Fractional Number Formats
- 2.8 Floating Point
- 2.9 Floating Point Processing
- 2.10 Summary
- 2.11 Problems
- 3 CPU Basics
- 3.1 What Is a Computer?
- 3.2 Making the Computer Work for You
- 3.3 Instruction Handling
- 3.4 Data Handling
- 3.5 A Top-Down View
- 3.6 Summary
- 3.7 Problems
- 4 Processor Internals
- 4.1 Internal Bus Architecture
- 4.2 Arithmetic Logic Unit
- 4.3 Memory Management Unit
- 4.4 Cache
- 4.5 Coprocessors
- 4.6 Floating Point Unit
- 4.7 Streaming SIMD Extensions and Multimedia Extensions
- 4.8 Co processing in Embedded Systems
- 4.9 Summary
- 4.10 Problems ? 5 Enhancing CPU Performance
- 5.1 Speedups
- 5.2 Pipelining
- 5.3 Complex and Reduced Instruction Set Computers
- 5.4 Superscalar Architectures
- 5.5 Instructions per Cycle
- 5.6 Hardware Acceleration
- 5.7 Branch Prediction
- 5.8 Parallel and Massively Parallel Machines
- 5.9 Tomasulo?s Algorithm
- 5.10 Very Long Instruction Word Architectures
- 5.11 Summary
- 5.12 Problems
- 6 Externals
- 6.1 Interfacing Using a Bus
- 6.2 Parallel Bus Specifications
- 6.3 Standard Interfaces
- 6.4 Real-Time Issues
- 6.5 Interrupts and Interrupt Handling
- 6.6 Embedded Wireless Connectivity
- 6.7 Summary
- 6.8 Problems
- 7 Practical Embedded CPUs
- 7.1 Introduction
- 7.2 Microprocessors Are Core Plus More
- 7.3 Required Functionality
- 7.4 Clocking
- 7.5 Clocks and Power
- 7.6 Memory
- 7.7 Pages and Overlays
- 7.8 Memory in Embedded Systems
- 7.9 Test and Verification
- 7.10 Error Detection and Correction
- 7.11 Watchdog Timers and Reset Supervision
- 7.12 Reverse Engineering
- 7.13 Preventing Reverse Engineering
- 7.14 Soft Core Processors
- 7.15 Hardware Software Codesign
- 7.16 Off-the-Shelf Cores
- 7.17 Summary
- 7.18 Problems
- 8 Programming
- 8.1 Running a Program
- 8.2 Writing a Program
- 8.3 The UNIX Programming Model
- 8.4 Summary
- 8.5 Problems
- 9 Operating Systems
- 9.1 What Is an Operating System?
- 9.2 Why Do We Need an Operating System?
- 9.3 The Role of an Operating System
- 9.4 OS Structure
- 9.5 Booting
- 9.6 Processes
- 9.7 Scheduling
- 9.8 Storage and File Systems
- 9.8.4 Backup
- 9.9 Summary
- 9.10 Problems
- 10 Connectivity
- 10.1 Why Connect, How to Connect
- 10.2 System Requirements
- 10.3 Scalability, Efficiency and Reuse
- 10.4 OSI Layers
- 10.5 Topology and Architecture
- 10.6 Summary
- 10.7 Problems
- 11 Networking
- 11.1 The Internet
- 11.2 TCP/IP and the IP Layer Model
- 11.3 Ethernet Overview
- 11.4 The Internet Layer
- 11.5 The Transport Layer
- 11.6 Other Messages
- 11.7 Wireless Connectivity
- 11.8 Network Scales
- 11.9 Summary
- 11.10 Problems
- 12 The Future
- 12.1 Single-Bit Architectures
- 12.2 More-Parallel Machines
- 12.3 Asynchronous Processors
- 12.4 Alternative Number Format Systems
- 12.5 Optical Computation
- 12.6 Science Fiction or Future Reality?
- 12.7 Summary
- A Standard Memory Size Notation
- B Standard Logic Gates
- Index.