Documente Academic
Documente Profesional
Documente Cultură
Foreword
ix
Preface
xv
Acknowledgments
Chapter 1
Chapter 2
xxiii
Introduction
Classes of Computers
Defining Computer Architecture
Trends in Technology
Trends in Power and Energy in Integrated Circuits
Trends in Cost
Dependability
Measuring, Reporting, and Summarizing Performance
Quantitative Principles of Computer Design
Putting It All Together: Performance, Price, and Power
Fallacies and Pitfalls
Concluding Remarks
Historical Perspectives and References
Case Studies and Exercises by Diana Franklin
2
5
11
17
21
27
33
36
44
52
55
59
61
61
Introduction
Ten Advanced Optimizations of Cache Performance
Memory Technology and Optimizations
Protection: Virtual Memory and Virtual Machines
Crosscutting Issues: The Design of Memory Hierarchies
Putting It All Together: Memory Hierachies in the
ARM Cortex-A8 and Intel Core i7
Fallacies and Pitfalls
72
78
96
105
112
113
125
xi
Computer Architecture: A Quantitative Approach
2012 Elsevier, Inc. All rights reserved.
xii
Contents
2.8
2.9
Chapter 3
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
131
148
156
162
167
176
183
192
197
202
213
221
223
233
241
245
247
247
Introduction
Vector Architecture
SIMD Instruction Set Extensions for Multimedia
Graphics Processing Units
Detecting and Enhancing Loop-Level Parallelism
Crosscutting Issues
Putting It All Together: Mobile versus Server GPUs
and Tesla versus Core i7
4.8 Fallacies and Pitfalls
4.9 Concluding Remarks
4.10 Historical Perspective and References
Case Study and Exercises by Jason D. Bakos
Chapter 5
129
131
Chapter 4
262
264
282
288
315
322
323
330
332
334
334
Thread-Level Parallelism
5.1
5.2
5.3
Introduction
Centralized Shared-Memory Architectures
Performance of Symmetric Shared-Memory Multiprocessors
Computer Architecture: A Quantitative Approach
2012 Elsevier, Inc. All rights reserved.
344
351
366
Contents
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
Chapter 6
378
386
392
395
400
405
409
412
412
Introduction
Programming Models and Workloads for Warehouse-Scale Computers
Computer Architecture of Warehouse-Scale Computers
Physical Infrastructure and Costs of Warehouse-Scale Computers
Cloud Computing: The Return of Utility Computing
Crosscutting Issues
Putting It All Together: A Google Warehouse-Scale Computer
Fallacies and Pitfalls
Concluding Remarks
Historical Perspectives and References
Case Studies and Exercises by Parthasarathy Ranganathan
432
436
441
446
455
461
464
471
475
476
476
Appendix B
xiii
Appendix A
Introduction
Classifying Instruction Set Architectures
Memory Addressing
Type and Size of Operands
Operations in the Instruction Set
Instructions for Control Flow
Encoding an Instruction Set
Crosscutting Issues: The Role of Compilers
Putting It All Together: The MIPS Architecture
Fallacies and Pitfalls
Concluding Remarks
Historical Perspective and References
Exercises by Gregory D. Peterson
A-2
A-3
A-7
A-13
A-14
A-16
A-21
A-24
A-32
A-39
A-45
A-47
A-47
Introduction
Cache Performance
Six Basic Cache Optimizations
B-2
B-16
B-22
xiv
Contents
B.4
B.5
B.6
B.7
B.8
Appendix C
Virtual Memory
Protection and Examples of Virtual Memory
Fallacies and Pitfalls
Concluding Remarks
Historical Perspective and References
Exercises by Amr Zaky
B-40
B-49
B-57
B-59
B-59
B-60
Introduction
The Major Hurdle of PipeliningPipeline Hazards
How Is Pipelining Implemented?
What Makes Pipelining Hard to Implement?
Extending the MIPS Pipeline to Handle Multicycle Operations
Putting It All Together: The MIPS R4000 Pipeline
Crosscutting Issues
Fallacies and Pitfalls
Concluding Remarks
Historical Perspective and References
Updated Exercises by Diana Franklin
C-2
C-11
C-30
C-43
C-51
C-61
C-70
C-80
C-81
C-81
C-82
Online Appendices
Appendix D
Storage Systems
Appendix E
Embedded Systems
By Thomas M. Conte
Appendix F
Interconnection Networks
Revised by Timothy M. Pinkston and Jos Duato
Appendix G
Appendix H
Appendix I
Appendix J
Appendix K
Appendix L
R-1
I-1