计算机组成与体系结构 性能设计 原书第10版 英文版
作者:贺莲译;(美国)威廉·斯托林斯
出版时间:2019年版
丛编项: 经典原版书库
内容简介
本书以Intel x86体系结构和ARM两个处理器系列为例,将当代计算机系统性能设计问题与计算机组成的基本概念和原理紧密联系起来,介绍了当代计算机体系结构的主流技术和*新技术。
目录
第一部分 引言
第1章 基本概念和计算机演化1
1.1 组成与体系结构2
1.2 结构与功能3
1.3 计算机简史11
1.4 Intel x86体系结构的演化27
1.5 嵌入式系统29
1.6 ARM体系结构33
1.7 云计算39
1.8 关键词、复习题和练习题42
第2章 性能问题45
2.1 优化性能设计46
2.2 多核、MIC和GPGPU52
2.3 深刻理解性能的两个定律:Ahmdahl定律和Little定律53
2.4 计算机性能的基本度量56
2.5 计算均值59
2.6 基准测试和SPEC67
2.7 关键词、复习题和练习题74
第二部分 计算机系统
第3章 计算机功能与互连的顶层视图80
3.1 计算机组件81
3.2 计算机功能83
3.3 互连结构99
3.4 总线互连100
3.5 点对点互连102
3.6 PCI Express107
3.7 关键词、复习题和练习题116
第4章 高速缓存120
4.1 计算机存储系统概述121
4.2 高速缓存存储器原理128
4.3 高速缓存设计要素131
4.4 Pentium 4 高速缓存结构149
4.5 关键词、复习题和练习题152
附录4A 两级存储的性能特征157
第5章 内部存储器165
5.1 半导体主存166
5.2 纠错174
5.3 DDR DRAM180
5.4 闪存185
5.5 新的非易失性固态存储器技术187
5.6 关键词、复习题和练习题190
第6章 外部存储器194
6.1 磁盘195
6.2 RAID204
6.3 固态硬盘212
6.4 光学存储器217
6.5 磁带222
6.6 关键词、复习题和练习题224
第7章 输入/输出228
7.1 外部设备230
7.2 I/O模块232
7.3 可编程I/O235
7.4 中断驱动的I/O239
7.5 直接存储器访问248
7.6 直接高速缓存访问254
7.7 I/O通道和处理器261
7.8 外部互连太阳城
263
7.9 IBM zEnterprise EC12 I/O系统266
7.10 关键词、复习题和练习题270
第8章 操作系统支持275
8.1 操作系统概述276
8.2 调度287
8.3 存储管理293
8.4 Intel x86存储管理304
8.5 ARM存储管理309
8.6 关键词、复习题和练习题314
第三部分 算术与逻辑
第9章 数字系统318
9.1 十进制系统319
9.2 按位记数系统320
9.3 二进制系统321
9.4 二进制与十进制的转换321
9.5 十六进制表示324
9.6 关键词和练习题326
第10章 计算机算术运算328
10.1 算术与逻辑单元329
10.2 整数表示330
10.3 整数算术运算335
10.4 浮点表示350
10.5 浮点算术运算358
10.6 关键词、复习题和练习题367
第11章 数字逻辑372
11.1 布尔代数373
11.2 门376
11.3 组合电路378
11.4 时序电路396
11.5 可编程逻辑设备405
11.6 关键词和练习题409
第四部分 中央处理单元
第12章 指令集:特点与功能412
12.1 机器指令特点413
12.2 操作数类型420
12.3 Intel x86和ARM的数据类型422
12.4 操作类型425
12.5 Intel x86和ARM的操作类型438
12.6 关键词、复习题和练习题446
附录12A 小端序、大端序和双端序452
第13章 指令集:寻址模式与格式456
13.1 寻址模式457
13.2 x86和ARM的寻址模式463
13.3 指令格式469
13.4 x86和ARM指令格式477
13.5 汇编语言482
13.6 关键词、复习题和练习题484
第14章 处理器结构与功能488
14.1 处理器组成489
14.2 寄存器组成491
14.3 指令周期496
14.4 指令流水线500
14.5 x86处理器系列517
14.6 ARM处理器524
14.7 关键词、复习题和练习题530
第15章 精简指令集计算机535
15.1 指令执行特性537
15.2 大寄存器文件的使用542
15.3 基于编译器的寄存器优化547
15.4 精简指令集架构549
15.5 RISC流水线555
15.6 MIPS R4000559
15.7 SPARC565
15.8 RISC与CISC之争570
15.9 关键词、复习题和练习题571
第16章 指令级并行与超标量处理器575
16.1 概述576
16.2 设计问题581
16.3 Intel Core微架构591
16.4 ARM Cortex-A8596
16.5 ARM Cortex-M3604
16.6 关键词、复习题和练习题608
第五部分 并行结构
第17章 并行处理613
17.1 多处理器结构615
17.2 对称多处理器617
17.3 高速缓存一致性和MESI协议621
17.4 多线程和片上多处理器628
17.5 集群633
17.6 非均匀内存访问640
17.7 云计算643
17.8 关键词、复习题和练习题650
第18章 多核计算机656
18.1 硬件性能问题657
18.2 软件性能问题660
18.3 多核结构665
18.4 异构多核结构667
18.5 Intel Core i7-990X676
18.6 ARM Cortex-A15 MPCore677
18.7 IBM zEnterprise EC12大型机682
18.8 关键词、复习题和练习题685
第19章 通用图形处理单元688
19.1 CUDA基础689
19.2 GPU与CPU691
19.3 GPU架构概述692
19.4 Intel的Gen8 GPU701
19.5 何时把GPU当作协处理器使用704
19.6 关键词和复习题706
第六部分 控制单元
第20章 控制单元操作707
20.1 微操作708
20.2 处理器的控制714
20.3 硬布线实现724
20.4 关键词、复习题和练习题727
第21章 微程序控制729
21.1 基本概念730
21.2 微指令序列739
21.3 微指令执行745
21.4 TI 8800755
21.5 关键词、复习题和练习题766
附录A 计算机组成与体系结构教学项目768
附录B 汇编语言与相关主题774
参考文献800
Contents
Foreword xiii Preface xv About the Author xxiii
PART ONE INTRODUCTION 1
Chapter.1 Basic Concepts and Computer Evolution 1
1.1 Organization and Architecture 2
1.2 Structure and Function 3
1.3 A Brief History of Computers 11
1.4 The Evolution of the Intel x86 Architecture 27
1.5 Embedded Systems 29
1.6 Arm Architecture 33
1.7 Cloud Computing 39
1.8 Key Terms, Review Questions, and Problems 42
Chapter.2 Performance Issues 45
2.1 Designing for Performance 46
2.2 Multicore, Mics, and GPGPUs 52
2.3 Two Laws that Provide Insight:Ahmdahl’s Law and Little’s Law 53
2.4 Basic Measures of Computer Performance 56
2.5 Calculating the Mean 59
2.6 Benchmarks and Spec 67
2.7 Key Terms, Review Questions, and Problems 74
PART TWO THE COMPUTER SYSTEM 80
Chapter.3 A Top-Level View of Computer Function and Interconnection 80
3.1 Computer Components 81
3.2 Computer Function 83
3.3 Interconnection Structures 99
3.4 Bus Interconnection 100
3.5 Point-to-Point Interconnect 102
3.6 PCI Express 107
3.7 Key Terms, Review Questions, and Problems 116
Chapter.4 Cache Memory 120
4.1 Computer Memory System Overview 121
4.2 Cache Memory Principles 128
4.3 Elements of Cache Design 131
4.4 Pentium 4 Cache Organization 149
4.5 Key Terms, Review Questions, and Problems 152
Appendix 4A Performance Characteristics of Two-Level Memories 157
Chapter.5 Internal Memory 165
5.1 Semiconductor Main Memory 166
5.2 Error Correction 174
5.3 DDR DRAM 180
5.4 Flash Memory 185
5.5 Newer Nonvolatile Solid-State Memory Technologies 187
5.6 Key Terms, Review Questions, and Problems 190
Chapter.6 External Memory 194
6.1 Magnetic Disk 195
6.2 RAID 204
6.3 Solid State Drives 212
6.4 Optical Memory 217
6.5 Magnetic Tape 222
6.6 Key Terms, Review Questions, and Problems 224
Chapter.7 Input/Output 228
7.1 External Devices 230
7.2 I/O Modules 232
7.3 Programmed I/O 235
7.4 Interrupt-Driven I/O 239
7.5 Direct Memory Access 248
7.6 Direct Cache Access 254
7.7 I/O Channels and Processors 261
7.8 External Interconnection Standards 263
7.9 IBM zEnterprise EC12 I/O Structure 266
7.10 Key Terms, Review Questions, and Problems 270
Chapter.8 Operating System Support 275
8.1 Operating System Overview 276
8.2 Scheduling 287
8.3 Memory Management 293
8.4 Intel x86 Memory Management 304
8.5 Arm Memory Management 309
8.6 Key Terms, Review Questions, and Problems 314
PART THREE ARITHMETIC AND LOGIC 318
Chapter.9 Number Systems 318
9.1 The Decimal System 319
9.2 Positional Number Systems 320
9.3 The Binary System 321
9.4 Converting Between Binary and Decimal 321
9.5 Hexadecimal Notation 324
9.6 Key Terms and Problems 326
Chapter.10 Computer Arithmetic 328
10.1 The Arithmetic and Logic Unit.329
10.2 Integer Representation 330
10.3 Integer Arithmetic 335
10.4 Floating-Point Representation 350
10.5 Floating-Point Arithmetic 358
10.6 Key Terms, Review Questions, and Problems 367
Chapter.11 Digital Logic 372
11.1 Boolean Algebra 373
11.2 Gates 376
11.3 Combinational Circuits 378
11.4 Sequential Circuits 396
11.5 Programmable Logic Devices 405
11.6 Key Terms and Problems 409
PART FOUR THE CENTRAL PROCESSING UNIT.412
Chapter.12 Instruction Sets: Characteristics and Functions 412
12.1 Machine Instruction Characteristics 413
12.2 Types of Operands 420
12.3 Intel x86 and ARM Data Types 422
12.4 Types of Operations 425
12.5 Intel x86 and ARM Operation Types 438
12.6 Key Terms, Review Questions, and Problems 446
Appendix 12A Little-, Big-, and Bi-Endian 452
Chapter.13 Instruction Sets:Addressing Modes and Formats 456
13.1 Addressing Modes 457
13.2 x86 and ARM Addressing Modes 463
13.3 Instruction Formats 469
13.4 x86 and ARM Instruction Formats 477
13.5 Assembly Language 482
13.6 Key Terms, Review Questions, and Problems 484
Chapter.14 Processor Structure and Function 488
14.1 Processor Organization 489
14.2 Register Organization 491
14.3 Instru