1st Edition

Computer Architecture Software Aspects, Coding, and Hardware

By John Y. Hsu Copyright 2001
    432 Pages 130 B/W Illustrations
    by CRC Press

    With the new developments in computer architecture, fairly recent publications can quickly become outdated. Computer Architecture: Software Aspects, Coding, and Hardware takes a modern approach. This comprehensive, practical text provides that critical understanding of a central processor by clearly detailing fundamentals, and cutting edge design features. With its balanced software/hardware perspective and its description of Pentium processors, the book allows readers to acquire practical PC software experience. The text presents a foundation-level set of ideas, design concepts, and applications that fully meet the requirements of computer organization and architecture courses.

    The book features a "bottom up" computer design approach, based upon the author's thirty years experience in both academe and industry. By combining computer engineering with electrical engineering, the author describes how logic circuits are designed in a CPU. The extensive coverage of a micprogrammed CPU and new processor design features gives the insight of current computer development.

    Computer Architecture: Software Aspects, Coding, and Hardware presents a comprehensive review of the subject, from beginner to advanced levels. Topics include:


    o Two's complement numbers o Integer overflow
    o Exponent overflow and underflow o Looping
    o Addressing modes o Indexing
    o Subroutine linking o I/O structures
    o Memory mapped I/O o Cycle stealing
    o Interrupts o Multitasking
    o Microprogrammed CPU o Multiplication tree
    o Instruction queue o Multimedia instructions
    o Instruction cache o Virtual memory
    o Data cache o Alpha chip
    o Interprocessor communications o Branch prediction
    o Speculative loading o Register stack
    o JAVA virtual machine o Stack machine principles

    INTRODUCTION TO COMPUTERS
    Prolog
    History of Computers
    Hardware Components in a Computer System
    Software Components in a Computer System
    Applications of Computers
    How to Program a Computer
    Simulate a Computer
    Program Design Language
    NUMBER SYSTEMS
    Basic Mathematics
    Positional Notation
    Number Systems
    Number Conversion
    Data Representation
    Bit Strings in Memory
    BASIC COMPUTER PRINCIPLES
    Stored Program Concept
    Hardware Units in a CPU
    Instruction Unit
    Register Transfer Language
    Instruction Execution Cycle
    Execution Unit
    Addresses in an Instruction
    Hardware Execution
    Software Interpretation
    ASSEMBLY LANGUAGE PRINCIPLES
    Introduction
    Pentium Processor
    Assembler Language Statement Format
    Pseudo Ops
    Three Basic Addressing Modes
    Machine Ops
    Program Sequence Control
    Looping Concept
    Macros
    COMPUTER ARCHITECTURE-GENERAL FEATURES
    Addressing Modes
    Indexing
    Addressing Modes of 8086
    Subroutine Linking
    Interrupt Mechanisms
    I/O Structure
    Communication Port
    Programming Interface with C
    MICROPROGRAMMED CPU
    History of Microprogramming
    Two Basic Microcode Types
    Microcode Engine
    Microcode Assembly Language
    Multiply Operations via One Adder
    Divide Operations via One Adder
    Other Types of Microinstructions
    SUPERSCALAR MACHINE PRINCIPLES
    Parallel Operations
    Pipelined CPU
    Cache Memory
    Pentium Decoupled Pipe
    Virtual Memory
    Paging System
    Segmentation with Paging
    VECTOR AND MULTIPLE-PROCESSOR MACHINES
    Vector Processors
    Interprocessor Communications
    Interprocessor Messages
    Multistation System
    Multiprocessing System
    Computer Networks
    PROCESSOR DESIGN CASE STUDIES
    Complex Instruction Set Computer
    Reduced Instruction Set Computer
    Itanium Processor
    Reduced Software Solution Computer
    Other Distinctions
    Virtual Machines
    STACK MACHINE PRINCIPLES
    Stack Machine Basics
    Postfix Polish Notation
    Operator Precedence
    Simple Stack Machine
    Stack Machine Assembly Language
    Test Program for SSM315
    Virtual Stack Machine
    ACRONYMS AND ABREVIATIONS
    BIBLIOGRAPHY
    ABOUT THE AUTHOR
    INDEX

    Biography

    John Y. Hsu