Beruflich Dokumente
Kultur Dokumente
A Quantitative Approach
Third Edition
John L. Hennessy
Stanford University
David A. Patterson
University of California at Berkeley
With Contributions by
David Goldberg
Xerox Palo Alto Research Center
Krste Asanovic
Department of Electrical Engineering and Computer Science
Massachusetts Institute ofTechnology
r<
MORGAN KAUFMANN
AN
IMPRINT
AMSTERDAM
OXFORD
SINGAPORE
OF
BOSTON
PARIS
SAN
SYDNEY
PUBLISHERS
ELSEVIER
LONDON
DIEGO
TOKYO
SAN
NEW
SCIENCE
YORK
FRANCISCO
Contents
Foreword
Chapter 1
Preface
xvii
Acknowledgments
xxv
Introduction
1.2
1.3
Technology Trends
11
1.4
14
1.5
24
1.6
39
1.7
48
1.8
56
1.9
57
65
67
Exercises
Chapter 2
vii
74
Introduction
90
2.2
92
2.3
Memory Addressing
2.4
101
95
2.5
104
XI
Contents
2.6
105
2.7
108
2.8
109
2.9
111
117
120
129
2.13 AnotherView:TheTrimediaTM32CPU
136
142
147
148
Exercises
Chapter 3
172
3.2
181
3.3
189
3.4
196
3.5
209
3.6
215
3.7
Hardware-Based Speculation
224
3.8
240
3.9
253
259
272
273
273
276
Chapter 4
161
280
288
304
4.2
313
4.3
315
4.4
319
4.5
340
Contents xiii
4.6
350
4.7
351
4.8
363
4.9
370
372
373
Exercises
Chapter 5
M e m o r y Hierarchy Design
5.1
Introduction
390
5.2
392
5.3
Cache Performance
406
5.4
413
5.5
423
5.6
435
5.7
443
5.8
448
5.9
Memory Technology
454
460
469
478
482
490
494
498
504
504
Exercises
Chapter 6
378
513
Introduction
528
6.2
540
6.3
549
6.4
560
6.5
576
6.6
584
xiv Contents
6.7
Synchronization
6.8
605
6.9
608
622
635
636
637
643
Exercises
649
665
Storage Systems
7.1
Introduction
678
7.2
679
7.3
692
7.4
702
7.5
705
7.6
710
7.7
716
7.8
720
7.9
731
737
741
754
760
763
769
770
Exercises
Chapter 8
615
Chapter 7
590
778
Introduction
788
8.2
A Simple Network
793
8.3
802
8.4
805
8.5
Network Topology
814
8.6
821
Contents
8.7
8.8
Internetworking
8.9
8.10 Clusters
8.11 Designing a Cluster
8.12 Putting It All Together:The Google Cluster of PCs
8.13 AnotherView:lnsideaCell Phone
8.14 Fallacies and Pitfalls
8.15 Concluding Remarks
8.16 Historical Perspective and References
Exercises
Appendix A
825
830
834
838
843
855
862
867
870
871
877
Introduction
A.2
A-11
A3
A-26
A.4
A-37
A.5
A-47
A.6
A-57
A.7
A-66
A.8
Crosscutting Issues
A-67
A.9
A-77
A-2
A-78
A-78
Exercises
ixB
xv
A-81
Introduction
B-2
Chapter 1 Solutions
B-2
Chapter 2 Solutions
B-7
Chapter 3 Solutions
B-11
Chapter 4 Solutions
B-16
Chapter 5 Solutions
B-21
Chapter 6 Solutions
B-25
Chapter 7 Solutions
B-29
Chapter 8 Solutions
B-30
Appendix A Solutions
B-35
xvi Contents
Online Appendices (www.mkp.com/CA3/)
Appendix
Appendix D
Appendix E
Appendix F
Appendix G
Vector Processors
Revised by Krste Asanovic
Appendix H
Computer Arithmetic
by David Goldberg
Appendix I