1st Edition

Computer Systems Architecture

By Aharon Yadin Copyright 2016
    467 Pages 272 Color Illustrations
    by Chapman & Hall

    Computer Systems Architecture provides IT professionals and students with the necessary understanding of computer hardware. It addresses the ongoing issues related to computer hardware and discusses the solutions supplied by the industry.

    The book describes trends in computing solutions that led to the current available infrastructures, tracing the initial need for computers to recent concepts such as the Internet of Things. It covers computers’ data representation, explains how computer architecture and its underlying meaning changed over the years, and examines the implementations and performance enhancements of the central processing unit (CPU). It then discusses the organization, hierarchy, and performance considerations of computer memory as applied by the operating system and illustrates how cache memory significantly improves performance.

    The author proceeds to explore the bus system, algorithms for ensuring data integrity, input and output (I/O) components, methods for performing I/O, various aspects relevant to software engineering, and nonvolatile storage devices, such as hard drives and technologies for enhancing performance and reliability. He also describes virtualization and cloud computing and the emergence of software-based systems’ architectures.

    Accessible to software engineers and developers as well as students in IT disciplines, this book enhances readers’ understanding of the hardware infrastructure used in software engineering projects. It enables readers to better optimize system usage by focusing on the principles used in hardware systems design and the methods for enhancing performance.

    Introduction and Historic Perspective
    INTRODUCTION AND HISTORIC PERSPECTIVE
    The First Computers
    The First Computers’ Attributes
    The von Neumann Architecture
    Computers’ Evolution
    Moore’s Law
    Classification of Computers
    Historic Perspective
    The Personal Computer
    Computer Networks
    1970s Computers: The First Mainframes
    1980s Computers: The Last Mainframes
    The Network Is the Computer
    Network Computers
    Computing Attributes
    Terminal Services
    Client Server
    Additional "Computers"
    Key Takeaway

    Data Representation
    DATA REPRESENTATION
    Numerical Systems
    Decimal Numbering System
    Other Numbering Systems
    Binary System
    Representing Real Numbers
    Converting Natural Numbers
    Converting Fractions
    Negative Numbers Representation
    Range of Numbers
    Computer’s Arithmetic
    Additions and Subtractions
    Floating Point
    Scientific Notation
    754 STANDARD
    Range of Floating-Point Numbers
    Special Numbers
    Converting 754 Numbers
    Adding Floating-Point Numbers
    Multiplying Floating-Point Numbers
    Decimal Numbers Representations
    Key Takeaway

    Hardware Architecture
    HARDWARE ARCHITECTURE
    Computer Generations
    Computer Classification
    Computer Systems
    Processor
    Key Takeaway

    The Central Processing Unit
    PART I: THE CENTRAL PROCESSING UNIT
    Registers
    Stack-Based Architecture
    Accumulator-Based Architecture
    Memory-Register Architecture
    Register-Register Architecture
    Architecture Summary
    Processor Paths
    Instructions Execution
    Performance
    The Processor’s Internal Clock
    The "Iron Law" of Processor Performance
    CYCLES PER INSTRUCTION-BASED METRIC
    Performance Estimation
    Benchmark Programs
    Calculating and Presenting the Results Obtained
    Key Takeaway
    PART II: THE CENTRAL PROCESSING UNIT
    Amdahl’s Law
    Processors’ Types
    CISC Technology
    RISC Technology
    Instruction-Level Parallelism
    Instruction-Level Parallelism Problems
    Instruction-Level Parallelism Hazards
    Data Hazards
    Resources’ Access Conflicts Hazards
    Dynamic Scheduling
    Scoreboarding
    Performance Enhancements
    Branch Prediction
    Loop Buffer
    Key Takeaway

    Memory
    MEMORY
    Memory Sizes
    Memory Organization
    Running Programs
    Estimating the Processor’s Utilization
    Partitions
    Virtual Memory
    Paging
    Segments
    Swap
    Memory Performance
    Memory Organization
    Memory Technologies
    Key Takeaway

    Cache Memory
    CACHE MEMORY
    Hit Rate
    Miss Penalty
    Address Translation
    Multiple Processor Architectures
    Key Takeaway

    Bus
    BUS
    The Bus Principle
    The Bus Evolution
    Hard Drive Buses
    The Serial Bus
    Extending the Bus Concept
    Bus Expansion beyond the System Boundaries
    Reliability Aspects
    Hamming Codes
    Key Takeaway

    Input and Output
    INPUT AND OUTPUT
    Methods for Performing I/O
    Operating System Considerations
    I/O Buffering
    I/O and Performance
    Key Takeaway

    Storage
    MASS STORAGE
    Storage Devices
    Disk Structure
    Disk Speed
    Disk Capacity
    Performance Enhancements
    Solid State Disk (SSD)
    Access Algorithms
    Disk Controller
    Redundant Array of Inexpensive Disks
    Storage Attached Network (SAN)
    Network Attached Storage (NAS)
    Key Takeaway

    Additional Architectures
    ADDITIONAL ARCHITECTURES
    Computer Classification
    Grid Computing
    Service-Oriented Architecture
    Web Services
    Cloud Computing
    Virtualization
    Key Takeaway

    Software Architectures
    SOFTWARE ARCHITECTURES
    Software Architecture
    The Prearchitectural Era
    Client/Server Architecture
    Peer-to-Peer (P2P) Architecture
    Layered Architecture
    Tier Architecture
    Object-Oriented Architecture
    Service-Oriented Architecture
    CORBA: Common Object Request Broker Architecture
    Component Object Model (COM) and Distributed COM (DCOM)
    Java RMI and Java Beans
    Java 2 Enterprise Edition
    Aspect-Oriented Architecture
    Additional Architectures
    Key Takeaway

    References

    Bibliography

    Glossary

    Biography

    Aharon Yadin is a senior lecturer at Yezreel Valley College. He has over 40 years of IT experience encompassing systems analysis and design, systems architecture design and configuration, the analysis of current and emerging trends in software and hardware technologies, IT project management, benchmarking, system performance and evaluation, and the commercialization of research results. He is the author of dozens of papers and nine instructional books covering various areas of computing.