5th Edition
Computer Organization, Design, and Architecture, Fifth Edition
Suitable for a one- or two-semester undergraduate or beginning graduate course in computer science and computer engineering, Computer Organization, Design, and Architecture, Fifth Edition presents the operating principles, capabilities, and limitations of digital computers to enable the development of complex yet efficient systems. With 11 new sections and four revised sections, this edition takes students through a solid, up-to-date exploration of single- and multiple-processor systems, embedded architectures, and performance evaluation.
See What’s New in the Fifth Edition
- Expanded coverage of embedded systems, mobile processors, and cloud computing
- Material for the "Architecture and Organization" part of the 2013 IEEE/ACM Draft Curricula for Computer Science and Engineering
- Updated commercial machine architecture examples
The backbone of the book is a description of the complete design of a simple but complete hypothetical computer. The author then details the architectural features of contemporary computer systems (selected from Intel, MIPS, ARM, Motorola, Cray and various microcontrollers, etc.) as enhancements to the structure of the simple computer. He also introduces performance enhancements and advanced architectures including networks, distributed systems, GRIDs, and cloud computing.
Computer organization deals with providing just enough details on the operation of the computer system for sophisticated users and programmers. Often, books on digital systems’ architecture fall into four categories: logic design, computer organization, hardware design, and system architecture. This book captures the important attributes of these four categories to present a comprehensive text that includes pertinent hardware, software, and system aspects.
Introduction
Computer System Organization
Computer Evolution
Organization versus Design versus Architecture
Summary
Problems
Bibliography
Number Systems and Codes
Number Systems
Conversion
Arithmetic
Sign–Magnitude System
Complement Number System
Floating-Point Numbers
Binary Codes
Data Storage and Register Transfer
Representation of Numbers, Arrays, and Records
Summary
Problems
Bibliography
Combinational Logic
Basic Operations and Terminology
Boolean Algebra (Switching Algebra)
Minimization of Boolean Functions
Primitive Hardware Blocks
Functional Analysis of Combinational Circuits
Synthesis of Combinational Circuits
Some Popular Combinational Circuits
Integrated Circuits
Loading and Timing
Summary
Problems
Bibliography
Synchronous Sequential Circuits
Flip-Flops
Timing Characteristics of Flip-Flops
Flip-Flop ICs
Analysis of Synchronous Sequential Circuits
Design of Synchronous Sequential Circuits
Registers
Register Transfer Logic
Register Transfer Schemes
Register Transfer Languages
Designing Sequential Circuits with Integrated Circuits
Programmable Logic
Summary
Problems
Bibliography
A Simple Computer
A Simple Computer
ASC Assembler
Program Loading
Subroutines
Macros
Linkers and Loaders
Summary
Problems
Bibliography
A Simple Computer
Program Execution
Data, Instruction, and Address Flow
Bus Structure
Arithmetic and Logic Unit
Input/Output
Control Unit
Console
Microprogrammed Control Unit (MCU)
Summary
Problems
Bibliography
Input/Output
General I/O Model
I/O Function
Interrupts
Direct-Memory Access
Bus Architecture
Channels
I/O Processors
Serial I/O
Common I/O Devices
Examples
Summary
Problems
Bibliography
Processor and Instruction-Set Architectures
Types of Computer Systems
Operand (Data) Types and Formats
Registers
Instruction Set
Addressing Modes
Instruction-Set Orthogonality
RISC versus CISC
Example Systems
Summary
Problems
Bibliography
Memory and Storage
Types of Memory
Memory System Parameters
Memory Hierarchy
Memory Devices and Organizations
Memory System Design Using ICs
Speed Enhancement
Size Enhancement
Address Extension
Example Systems
Summary
Problems
Bibliography
Arithmetic/Logic Unit Enhancement
Logical and Fixed-Point Binary Operations
Decimal Arithmetic
Pipelining
ALU with Multiple Functional Units
Example Systems
Summary
Problems
Bibliography
Control Unit Enhancement
Speed Enhancement
Hardwired versus Microprogrammed Control Units
Pipeline Performance Issues
Example Systems
Summary
Problems
Bibliography
Advanced Architectures
MISD
SIMD
MIMD
Cache Coherence
Dataflow Architectures
Systolic Architectures
Example Systems
Summary
Problems
Bibliography
Embedded Systems
Characteristics
Software Architectures
Example Systems
Summary
Problems
Bibliography
Mobile Processors and System on Chip
Apple iPhone 4S
ARM v7-A Application Profile
Raspberry Pi
Summary
Problems
Bibliography
Computer Networks and Distributed Processing
Computer Networks
Distributed Processing
Grid Computing
Cloud Computing
Summary
Problems
Bibliography
Performance Evaluation
Performance Measures
Cost Factor
Benchmarks
Code Optimization
Summary
Problems
Bibliography
Appendix A
Appendix B
Index
Biography
Sajjan G. Shiva
Praise for the Previous Edition
"I am convinced that the book will serve well as a handbook for courses on the fundamentals of computer architecture and organization."
—Antoni Michalski, Zentralblatt Math, 2008