《计算机组成与体系结构:性能设计(原书第10版)》([美]威廉·斯托林斯(William Stallings)|译者:贺莲)-图书推荐

内容提要

本书是计算机组成与体系结构领域的经典教材。它对组成与体系结构领域的必要基础知识进行了全面的介绍。同时,本书涉及领域的前沿进展。与前一版相比,第10版对许多主题进行了修订,并增加了新内容,包括GPGPU、异构多核处理器、嵌入式系统、微控制器、云计算、系统性能、存储器、直接缓存访问、Intel酷睿微架构等。本书对涉及的理论知识辅以充分的例子,其中大多数例子都来自两种使用广泛的指令集,即x86和ARM。适合作为高校计算机及相关专业学生的教材,对从事计算机组成与体系结构研究和工作的人员也有很大的参考价值。

目录

译者序

前言
作者简介
**部分引言
第1章基本概念和计算机演化 2
1.1组成与体系结构 2
1.2结构与功能 3
1.2.1功能 3
1.2.2结构 4
1.3计算机简史 8
1.3.1**代:真空管 9
1.3.2第二代:晶体管 13
1.3.3第三代:集成电路 15
1.3.4第三代以后 18
1.4Intel x86体系结构的演化 20
1.5嵌入式系统 22
1.5.1物联网 23
1.5.2嵌入式操作系统 23
1.5.3应用处理器和专用处理器 23
1.5.4微处理器与微控制器 24
1.5.5嵌入式与深度嵌入式系统 24
1.6ARM体系结构 25
1.6.1ARM的演进 25
1.6.2指令集架构 25
1.6.3ARM产品 26
1.7云计算 29
1.7.1基本概念 29
1.7.2云服务 30
1.8关键词、复习题和练习题 31
第2章性能问题 34
2.1优化性能设计 34
2.1.1微处理器速度 35
2.1.2性能平衡 35
2.1.3芯片组成与体系结构的改进 37
2.2多核、MIC和GPGPU 38
2.3Amdahl定律和Little定律 39
2.3.1Amdahl定律 39
2.3.2Little定律 40
2.4计算机性能的基本度量 41
2.4.1时钟速度 42
2.4.2指令执行速率 42
2.5计算均值 44
2.5.1算术均值 45
2.5.2调和均值 46
2.5.3几何均值 47
2.6基准测试和SPEC 49
2.6.1基准测试原则 49
2.6.2SPEC基准测试 50
2.7关键词、复习题和练习题 54
第二部分计算机系统
第3章计算机功能与互连的顶层视图 60
3.1计算机组件 60
3.2计算机功能 62
3.2.1取指和执行 62
3.2.2中断 65
3.2.3I/O功能 71
3.3互连结构 71
3.4总线互连 72
3.5点对点互连 74
3.5.1QPI物理层 75
3.5.2QPI链接层 76
3.5.3QPI路由层 77
3.5.4QPI协议层 77
3.6PCI Express 77
3.6.1PCI物理和逻辑架构 78
3.6.2PCIe物理层 79
3.6.3PCIe事务层 80
3.6.4PCIe数据链路层 82
3.7关键词、复习题和练习题 83
第4章高速缓存 87
4.1计算机存储系统概述 87
4.1.1存储系统的特性 87
4.1.2存储器层次结构 89
4.2高速缓存存储器原理 92
4.3高速缓存设计要素 94
4.3.1高速缓存地址 94
4.3.2高速缓存大小 95
4.3.3映射函数 96
4.3.4替换算法 105
4.3.5写策略 106
4.3.6数据行大小 107
4.3.7高速缓存的数量 107
4.4Pentium 4高速缓存结构 109
4.5关键词、复习题和练习题 111
附录4A两级存储的性能特征 116
第5章内部存储器 121
5.1半导体存储器 121
5.1.1组成 121
5.1.2DRAM和SRAM 121
5.1.3ROM的类型 123
5.1.4芯片逻辑 124
5.1.5芯片封装 126
5.1.6模块组织 126
5.1.7交叉存储器 128
5.2纠错 128
5.3DDR DRAM 131
5.3.1同步DRAM 132
5.3.2DDR SDRAM 133
5.4闪存 135
5.4.1操作 135
5.4.2NOR和NAND闪存 135
5.5新的非易失性固态存储器技术 137
5.5.1STT-RAM 137
5.5.2PCRAM 138
5.5.3ReRAM 139
5.6关键词、复习题和练习题 139
第6章外部存储器 143
6.1磁盘 143
6.1.1磁性读写机制 143
6.1.2数据组织和格式 144
6.1.3物理特性 146
6.1.4磁盘性能参数 147
6.2RAID 149
6.2.1RAID级别0 151
6.2.2RAID级别1 153
6.2.3RAID级别2 153
6.2.4RAID级别3 154
6.2.5RAID级别4 154
6.2.6RAID级别5 155
6.2.7RAID级别6 155
6.3固态驱动器 156
6.3.1SSD与HDD的比较 156
6.3.2SSD组成 157
6.3.3实际问题 157
6.4光存储器 158
6.4.1光盘 158
6.4.2数字通用光盘 160
6.4.3高清光盘 161
6.5磁带 162
6.6关键词、复习题和练习题 163
第7章输入/输出 166
7.1外部设备 167
7.1.1键盘和监视器 167
7.1.2磁盘驱动器 168
7.2I/O模块 168
7.2.1模块功能 168
7.2.2I/O模块结构 169
7.3可编程I/O 170
7.3.1可编程I/O概述 170
7.3.2I/O命令 170
7.3.3I/O指令 171
7.4中断驱动I/O 172
7.4.1中断处理 173
7.4.2设计问题 175
7.4.3Intel 82C59A中断控制器 176
7.4.4Intel 8255A可编程外设接口 177
7.5直接内存访问 180
7.5.1可编程I/O和中断驱动I/O的缺点 180
7.5.2DMA功能 180
7.5.3Intel 8237A DMA控制器 182
7.6直接高速缓存访问 184
7.6.1使用共享的*后一级高速缓存的DMA 184
7.6.2高速缓存相关的性能问题 186
7.6.3直接高速缓存访问策略 187
7.6.4直接数据I/O 188
7.7I/O通道和处理器 189
7.7.1I/O功能的演化 189
7.7.2I/O通道的特性 190
7.8外部互连标准 190
7.8.1通用串行总线 190
7.8.2FireWire串行总线 191
7.8.3小型计算机系统接口 191
7.8.4Thunderbolt 191
7.8.5InfiniBand 192
7.8.6PCI Express 192
7.8.7SATA 192
7.8.8Ethernet 192
7.8.9Wi-Fi 192
7.9IBM zEnterprise EC12 I/O结构 193
7.9.1通道结构 193
7.9.2I/O系统组织 194
7.10关键词、复习题和练习题 196
第8章操作系统的支持 200
8.1操作系统概述 200
8.1.1操作系统的目标与功能 200
8.1.2操作系统类型 202
8.2调度 208
8.2.1长期调度 208
8.2.2中期调度 208
8.2.3短期调度 209
8.3内存管理 212
8.3.1交换 212
8.3.2分区 213
8.3.3分页 214
8.3.4虚拟内存 216
8.3.5转换后援缓冲器 218
8.3.6分段 219
8.4Intel x86内存管理 220
8.4.1地址空间 220
8.4.2分段 220
8.4.3分页 222
8.5ARM内存管理 224
8.5.1内存系统组织 224
8.5.2虚拟内存地址转换 224
8.5.3内存管理格式 225
8.5.4访问控制 227
8.6关键词、复习题和练习题 227
第三部分算术与逻辑
第9章数字系统 232
9.1十进制系统 232
9.2按位记数系统 233
9.3二进制系统 233
9.4二进制与十进制的转换 233
9.4.1整数 234
9.4.2小数 234
9.5十六进制表示 235
9.6关键词和练习题 237
**0章计算机算术运算 238
10.1算术和逻辑单元 238
10.2整数表示 239
10.2.1原码表示法 239
10.2.2二进制补码表示法 240
10.2.3范围的扩展 242
10.2.4定点表示法 243
10.3整数算术运算 243
10.3.1非 243
10.3.2加法和减法 244
10.3.3乘法 246
10.3.4除法 251
10.4浮点表示 254
10.4.1原则 254
10.4.2二进制浮点表示的IEEE标准 256
10.5浮点算术运算 260
10.5.1加减法 260
10.5.2乘除法 262
10.5.3精度考量 263
10.5.4二进制浮点算术运算的IEEE标准 264
10.6关键词、复习题和练习题 266
**1章数字逻辑 270
11.1布尔代数 270
11.2门 272
11.3组合电路 274
11.3.1布尔函数的实现 274
11.3.2多路复用器 281
11.3.3译码器 282
11.3.4只读存储器 283
11.3.5加法器 285
11.4时序电路 287
11.4.1触发器 287
11.4.2寄存器 290
11.4.3计数器 290
11.5可编程逻辑器件 293
11.5.1可编程逻辑阵列 293
11.5.2现场可编程门阵列 295
11.6关键词和练习题 296
第四部分中央处理单元
**2章指令集:特性与功能 300
12.1机器指令特性 300
12.1.1机器指令的要素 300
12.1.2 指令表示 301
12.1.3 指令类型 302
12.1.4 地址个数 303
12.1.5 指令集设计 304
12.2操作数类型 305
12.2.1数字 305
12.2.2 字符 306
12.2.3 逻辑数据 306
12.3Intel x86和ARM数据类型 306
12.3.1 x86数据类型 306
12.3.2 ARM数据类型 308
12.4操作类型 309
12.4.1 数据传输 310
12.4.2 算术运算 311
12.4.3 逻辑运算 311
12.4.4 转换 313
12.4.5 输入/输出 313
12.4.6 系统控制 314
12.4.7 转移制 314
12.5Intel x86和ARM操作类型 317
12.5.1 x86操作类型 317
12.5.2 ARM操作类型 321
12.6关键词、复习题和练习题 323
附录12A小端序、大端序和双端序 328
**3章指令集:寻址模式与格式 331
13.1寻址模式 331
13.1.1 立即数寻址 333
13.1.2 直接寻址 333
13.1.3 间接寻址 333
13.1.4 寄存器寻址 333
13.1.5 寄存器间接寻址 334
13.1.6 偏移寻址 334
13.1.7 栈寻址 336
13.2x86和ARM寻址模式 336
13.2.1 x86寻址模式 336
13.2.2 ARM寻址模式 338
13.3指令格式 340
13.3.1 指令长度 340
13.3.2 位的分配 341
13.3.3 变长指令 343
13.4x86和ARM指令格式 346
13.4.1 x86指令格式 346
13.4.2 ARM指令格式 348
13.5汇编语言 350
13.6关键词、复习题和练习题 351
**4章处理器结构与功能 355
14.1处理器的组织 355
14.2寄存器的组织 356
14.2.1用户可见寄存器 356
14.2.2控制和状态寄存器 358
14.2.3微处理器寄存器组织示例 359
14.3指令周期 360
14.3.1间接周期 360
14.3.2数据流 361
14.4指令流水线 363
14.4.1流水线策略 363
14.4.2流水线性能 367
14.4.3流水线冒险 368
14.4.4处理分支 369
14.4.5Intel 80486流水线 373
14.5x86处理器系列 375
14.5.1寄存器组织 375
14.5.2中断处理 378
14.6ARM处理器 380
14.6.1处理器组织 380
14.6.2处理器模式 381
14.6.3寄存器组织 382
14.6.4中断处理 383
14.7关键词、复习题和练习题 384
**5章精简指令集计算机 388
15.1指令执行的特点 389
15.1.1操作 390
15.1.2操作数 390
15.1.3过程调用 391
15.1.4启示 391
15.2使用大型寄存器文件 392
15.2.1寄存器窗口 392
15.2.2全局变量 394
15.2.3大型寄存器文件与高速缓存 394
15.3基于编译器的寄存器优化 395
15.4精简指令集架构 397
15.4.1为什么是CISC 397
15.4.2精简指令集架构的特点 398
15.4.3CISC与RISC特性 400
15.5RISC流水线 401
15.5.1规整指令的流水线 401
15.5.2流水线优化 402
15.6MIPS R4000 404
15.6.1指令集 405
15.6.2指令流水线 406
15.7SPARC 408
15.7.1SPARC寄存器组 409
15.7.2指令集 410
15.7.3指令格式 411
15.8RISC与CISC之争 412
15.9关键词、复习题和练习题 413
**6章指令级并行与超标量处理器 416
16.1概述 416
16.1.1超标量与超流水 417
16.1.2限制 418
16.2设计问题 420
16.2.1指令级并行性与机器并行性 420
16.2.2指令发射策略 421
16.2.3寄存器重命名 424
16.2.4机器并行性 425
16.2.5分支预测 425
16.2.6超标量执行 426
16.2.7超标量实现 426
16.3Intel酷睿微架构 427
16.3.1前端 429
16.3.2无序执行逻辑 430
16.3.3整数和浮点执行单元 431
16.4ARM Cortex-A8 431
16.4.1取指单元 433
16.4.2指令译码单元 434
16.4.3整数执行单元 436
16.4.4SIMD和浮点流水线 437
16.5ARM Cortex-M3 437
16.5.1流水线结构 438
16.5.2分支处理 439
16.6关键词、复习题和练习题 440
第五部分并行结构
**7章并行处理 446
17.1多处理器结构 446
17.1.1并行处理器系统的类型 446
17.1.2并行组织结构 447
17.2对称多处理器 448
17.2.1组织结构 449
17.2.2多处理器操作系统设计考量 451
17.3高速缓存一致性和MESI协议 451
17.3.1软件解决方案 452
17.3.2硬件解决方案 452
17.3.3MESI协议 453
17.4多线程和芯片多处理器 456
17.4.1隐式和显式多线程 456
17.4.2显式多线程的方法 457
17.5集群 459
17.5.1集群配置 460
17.5.2操作系统设计问题 461
17.5.3集群计算机体系结构 462
17.5.4刀片服务器 463
17.5.5集群与SMP的比较 464
17.6非均匀内存访问 464
17.6.1动机 465
17.6.2组织 465
17.6.3NUMA的优点和缺点 467
17.7云计算 467
17.7.1云计算要素 467
17.7.2云计算参考架构 470
17.8关键词、复习题和练习题 471
**8章多核计算机 476
18.1硬件性能问题 476
18.1.1增加并行性和复杂性 476
18.1.2能耗 477
18.2软件性能问题 478
18.2.1多核软件 478
18.2.2应用程序示例:Valve游戏软件 480
18.3多核组织结构 481
18.3.1高速缓存的层级 481
18.3.2同时多线程 483
18.4异构多核组织结构 483
18.4.1不同的指令集架构 483
18.4.2等价指令集架构 486
18.4.3高速缓存一致性和MOESI模型 488
18.5Intel Core i7-990X 490
18.6ARM Cortex-A15 MPCore 490
18.6.1中断处理 492
18.6.2高速缓存一致性 493
18.6.3L2高速缓存一致性 494
18.7IBM zEnterprise EC12大型机 494
18.7.1组织结构 494
18.7.2高速缓存结构 495
18.8关键词、复习题和练习题 497
**9章通用图形处理单元 499
19.1CUDA基础 499
19.2GPU与CPU 500
19.2.1CPU与GPU架构之间的基本差异 501
19.2.2性能与每瓦特性能比较 501
19.3GPU架构概述 502
19.3.1基准GPU架构 502
19.3.2全芯片布局 502
19.3.3流式多处理器架构的详细信息 504
19.3.4了解存储器类型和编程的重要性 506
19.4Intel Gen8 GPU 507
19.5何时把GPU当作协处理器使用 511
19.6关键词和复习题 511
第六部分控制单元
第20章控制单元操作 514
20.1微操作 514
20.1.1取指周期 515
20.1.2间接周期 516
20.1.3中断周期 517
20.1.4执行周期 517
20.1.5指令周期 518
20.2处理器的控制 519
20.2.1功能需求 519
20.2.2控制信号 520
20.2.3控制信号示例 521
20.2.4处理器内部组织结构 522
20.2.5Intel 8085 523
20.3硬布线实现 526
20.3.1控制单元输入 526
20.3.2控制单元逻辑 527
20.4关键词、复习题和练习题 528
第21章微程序控制 530
21.1基本概念 530
21.1.1微指令 530
21.1.2 微程序控制单元 532
21.1.3Wilkes控制 534
21.1.4优缺点 536
21.2微指令排序 537
21.2.1设计注意事项 537
21.2.2排序技术 537
21.2.3地址生成 539
21.2.4LSI-11微指令排序 540
21.3微指令执行 540
21.3.1微指令分类法 541
21.3.2微指令编码 543
21.3.3LSI-11微指令执行 544
21.3.4IBM 3033微指令执行 547
21.4TI 8800 548
21.4.1微指令格式 549
21.4.2微序列器 550
21.4.3寄存器ALU 553
21.5关键词、复习题和练习题 556
附录A计算机组成和体系结构教学项目
附录B汇编语言与相关主题
缩略语
参考文献
在线资源
附录C系统总线
附录D协议与协议架构
附录E加扰
附录F替换高速缓存策略
附录G交叉存储器
附录H**基准字母表
附录I栈
附录JThunderbolt和Infiniband
附录K虚拟存储器页替换算法
附录L哈希表
附录M递归过程
附录N*多指令流水线内容
附录O时序图
术语表

卖贝商城 推荐:《计算机组成与体系结构:性能设计(原书第10版)》([美]威廉·斯托林斯(William Stallings)|译者:贺莲)