Computer Systems : An Embedded Approach /

Bibliographic Details
Main Author: McLoughlin, Ian (Author)
Corporate Author: McGraw-Hill Companies
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.