Author(s): Kai Hwang, Faye A. Briggs
Series: Computer Organization and Architecture
Publisher: Mcgraw-Hill College
Year: 1984
Language: English
Pages: 863
Preface XV
Chapter 1 Introduction to Parallel Processing 1
1.1 Evolution of Computer Systems 1
1.1.1 Generations of Computer Systems 1
1.1.2 Trends towards Parallel Processing 2
1.2 Parallelism in Uniprocessor Systems 8
1.2.1 Basic Uniprocessor Architeture 8
1.2.2 Parallel Processing Mechanisms 11
1.2.3 Balancing of Subsystem Bandwidth 13
1.2.4 Multiprogramming and Time Sharing 16
1.3 Parallel Computer Structures 20
1.3.1 Pipeline Computers 20
1.3.2 Array Computers 22
1.3.3 Multiprocessor Systems 25
1.3.4 Performance of Parallel Computers 27
1.3.5 Dataflow and New Concepts 29
1.4 Architetural Classification Schemes 32
1.4.1 Multiplicity of Instruction-Data Streams 32
1.4.2 Serial versus Parallel Processing 35
1.4.3 Parallelism versus Pipelining 37
1.5 Parallel Processing Applications 40
1.5.1 Predictive Modeling and Simultations 42
1.5.2 Engineering Design and Automation 44
1.5.3 Energy Resources Exploration 46
1.5.4 Medical, Military, and Basic Research 48
1.6 Bibliographic Notes and Problems 49
Chapter 2 Memory and Input-Output Subsystems 52
2.1 Hierarchical Memory Structure 52
2.1.1 Memory Hierarchy 52
2.1.2 Optimization of Memory Hierarchy 56
2.1.3 Addressing Schemes for Main Memory 58
2.2 Virtual Memory System 60
2.2.1 The Concept of Virtual Memory 61
2.2.2 Paged Memory System 65
2.2.3 Segmented Memory System 71
2.2.4 Memory with Paged Segments 77
2.3 Memory Allocation and Management 80
2.3.1 Classification of Memory Policies 80
2.3.2 Optimal Load Control 86
2.3.3 Memory Management Policies 91
2.4 Cache Memories and Management 98
2.4.1 Characteristics of Cache Memories 98
2.4.2 Cache Memory Organization 102
2.4.3 Fetch and Main Memory Update Policies 113
2.4.4 Block Replacement Policies 115
2.5 Input-Output Subsystems 118
2.5.1 Characteristics of I/O Subsystem 118
2.5.2 Interrupt Mechanisms and Special Hardware 123
2.5.3 I/O Processors and I/O Channels 128
2.6 Bibliographic Notes and Problems 141
Chapter 3 Principles of Pipelining and Vector Processing 145
Chapter 4 Pipeline Computers and Vectorizing Methods 233
Chapter 5 Structures and Algorithms for Array Processors 325
Chapter 6 SIMD Computers and Performance Enhancement 393
Chapter 7 Multiprocessor Architeture and Programming 459
Chapter 8 Multiprocessing Control and Algorithms 557
Chapter 9 Example of Multiprocessor Systems 643
Chapter 10 Data Flow Computers and VLSI Computations 732
Bibliography 813
Index 833