5th Edition

Computer Organization, Design, and Architecture, Fifth Edition

By Sajjan G. Shiva Copyright 2014
    725 Pages 575 B/W Illustrations
    by CRC Press

    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