Despite the tremendous advances in performance enabled by modern architectures, there are always new applications and demands arising that require ever-increasing capabilities. Keeping up with these demands requires a deep-seated understanding of contemporary architectures in concert with a fundamental understanding of basic principles that allows one to anticipate what will be possible over the system's lifetime. Advanced Computer Architectures focuses on the design of high performance supercomputers with balanced coverage of the hardware, software structures, and application characteristics.
This book is a timeless distillation of underlying principles punctuated by real-world implementations in popular current and past commercially available systems. It briefly reviews the basics of uniprocessor architecture before outlining the most popular processing paradigms, performance evaluation, and cost factor considerations. This builds to a discussion of pipeline design and vector processors, data parallel architectures, and multiprocessor systems. Rounding out the book, the final chapter explores some important current and emerging trends such as Dataflow, Grid, biology-inspired, and optical computing. More than 220 figures, tables, and equations illustrate the concepts presented.
Based on the author's more than thirty years of teaching and research, Advanced Computer Architectures endows you with the tools necessary to reach the limits of existing technology, and ultimately, to break them.
Computing Paradigms
The Need for Advanced Architectures
Book Overview
References
UNIPROCESSOR ARCHITECTURE OVERVIEW
Uniprocessor Model
Enhancement to the Uniprocessor Model
Example Systems
Summary
References
Problems
MODELS AND TERMINOLOGY
Effect of Application on the Architecture
Application Characteristics
Processing Paradigms
Flynn's Taxonomy
Computer Networks
Performance Evaluation
Cost Factor
Summary
References
Problems
PIPELINING
Pipeline Model
Pipeline Control and Performance
Other Pipeline Problems
Dynamic Pipelines
Example Systems
Summary
References
Problems
VECTOR PROCESSORS
Vector Processor Models
Memory Design Considerations
Architecture of the Cray Series
Performance Evaluation
Programming Vector Processors
Example Systems
Summary
References
Problems
ARRAY PROCESSORS
SIMD Organization
Data Storage Techniques and Memory Organization
Interconnection Networks
Performance Evaluation and Scalability
Programming SIMDs
Example Systems
Summary
References
Problems
MULTIPROCESSOR SYSTEMS
MIMD Organization
Memory Organization
Interconnection Networks
Operating System Considerations
Programming
Performance Evaluation and Scalability
Example Systems
Summary
References
Problems
CURRENT DIRECTIONS
Dataflow Architectures
GRID Computing
Biology Inspired Computing
Optical Computing
References
Biography
Sajjan G. Shiva