目 录
Computer Organization and Architecture: Designing for Performance, Eleventh Edition
译者序
前言
作者简介
译者简介
第一部分 概述
第1章 基本概念与计算机演化 2
1.1 组成与体系结构 2
1.2 功能和结构 3
1.2.1 功能 3
1.2.2 结构 3
1.3 IAS计算机 8
1.4 逻辑门、存储器位元、芯片和
多芯片模块 12
1.4.1 逻辑门和存储器位元 12
1.4.2 晶体管 13
1.4.3 微电子芯片 13
1.4.4 多芯片模块 15
1.5 Intel x86体系结构的演化 15
1.6 嵌入式系统 18
1.6.1 物联网 19
1.6.2 嵌入式操作系统 19
1.6.3 应用处理器与专用处理器 19
1.6.4 微处理器与微控制器 20
1.6.5 嵌入式系统与深度嵌入式系统 20
1.7 ARM体系结构 21
1.7.1 ARM的演变 21
1.7.2 指令集体系结构 21
1.7.3 ARM产品 22
1.8 关键词、思考题和习题 25
第2章 性能问题 28
2.1 性能设计 28
2.1.1 微处理器的速度 29
2.1.2 性能平衡 29
2.1.3 芯片组成和体系结构的改进 30
2.2 多核、MIC和GPGPU 32
2.3 阿姆达尔定律和利特尔法则 33
2.3.1 阿姆达尔定律 33
2.3.2 利特尔法则 34
2.4 计算机性能的基本指标 35
2.4.1 时钟速度 36
2.4.2 指令执行速度 36
2.5 计算平均值 37
2.5.1 算术平均值 39
2.5.2 调和平均值 39
2.5.3 几何平均值 41
2.6 基准测试和SPEC 43
2.6.1 基准测试原则 43
2.6.2 SPEC基准测试 44
2.7 关键词、思考题和习题 49
第二部分 计算机系统
第3章 计算机功能和互连的顶层视图56
3.1 计算机的部件 56
3.2 计算机的功能 58
3.2.1 指令的读取和执行 58
3.2.2 中断 61
3.2.3 I/O功能 67
3.3 互连结构 68
3.4 总线互连 68
3.5 点对点互连 70
3.5.1 QPI物理层 71
3.5.2 QPI链路层 72
3.5.3 QPI路由层 73
3.5.4 QPI协议层 73
3.6 PCIe 73
3.6.1 PCI物理和逻辑体系结构 74
3.6.2 PCIe物理层 75
3.6.3 PCIe事务处理层 76
3.6.4 PCIe数据链路层 78
3.7 关键词、思考题和习题 79
第4章 存储器层次结构:
局部性和性能 83
4.1 局部性原理 83
4.2 存储系统的特性 87
4.3 存储器层次结构 88
4.3.1 成本与性能特点 89
4.3.2 存储器层次结构的典型构件 91
4.3.3 IBM z13存储器层次结构 92
4.3.4 存储器层次结构的设计原则 93
4.4 多级存储器层次结构的性能建模 93
4.4.1 两级存储器存取 93
4.4.2 多级存储器存取 97
4.5 关键词、思考题和习题 99
第5章 cache存储器 102
5.1 cache存储器的原理 102
5.2 cache的设计要素 105
5.2.1 cache地址 105
5.2.2 cache容量 106
5.2.3 逻辑cache的组织结构 107
5.2.4 替换算法 117
5.2.5 写策略 118
5.2.6 行大小 119
5.2.7 cache的数目 119
5.2.8 包含策略 121
5.3 Intel x86的cache组织 122
5.4 IBM z13的cache组织 124
5.5 cache的性能模型 125
5.5.1 cache的时序模型 125
5.5.2 用于提高性能的设计选项 126
5.6 关键词、思考题和习题 127
第6章 内部存储器 131
6.1 半导体主存储器 131
6.1.1 组织 131
6.1.2 DRAM和SRAM 132
6.1.3 ROM类型 133
6.1.4 芯片逻辑 134
6.1.5 芯片封装 136
6.1.6 模块组织 136
6.1.7 多体交叉存储器 138
6.2 纠错 138
6.3 DDR DRAM 142
6.3.1 SDRAM 142
6.3.2 DDR SDRAM 144
6.4 eDRAM 146
6.4.1 IBM z13 eDRAM的
cache结构 146
6.4.2 Intel Core系统的cache结构 146
6.5 闪存 148
6.5.1 操作 148
6.5.2 NOR和NAND闪存 148
6.6 较新的非易失性固态存储器技术 150
6.6.1 STT-RAM 151
6.6.2 PCRAM 152
6.6.3 ReRAM 152
6.7 关键词、思考题和习题 152
第7章 外部存储器 156
7.1 磁盘 156
7.1.1 磁读写机制 156
7.1.2 数据组织和格式化 157
7.1.3 物理特性 160
7.1.4 磁盘性能参数 161
7.2 RAID 163
7.2.1 RAID 0级 165
7.2.2 RAID 1级 167
7.2.3 RAID 2级 168
7.2.4 RAID 3级 168
7.2.5 RAID 4级 169
7.2.6 RAID 5级 169
7.2.7 RAID 6级 169
7.3 固态硬盘 171
7.3.1 固态硬盘与硬盘驱动器的比较 171
7.3.2 固态硬盘组织结构 171
7.3.3 实际问题 172
7.4 光存储器 172
7.4.1 光盘 173
7.4.2 数字多功能光盘 175
7.4.3 高清晰光盘 176
7.5 磁带 177
7.6 关键词、思考题和习题 178
第8章 输入/输出 182
8.1 外部设备 182
8.1.1 键盘/监视器 184
8.1.2 磁盘驱动器 184
8.2 I/O模块 184
8.2.1 模块功能 184
8.2.2 I/O模块结构 185
8.3 编程式I/O 186
8.3.1 编程式I/O概述 186
8.3.2 I/O命令 187
8.3.3 I/O指令 188
8.4 中断驱动式I/O 189
8.4.1 中断处理 189
8.4.2 设计问题 191
8.4.3 Intel 82C59A中断控制器 192
8.4.4 Intel 8255A可编程外部接口 192
8.5 DMA 196
8.5.1 编程式I/O和中断驱动式
I/O的缺点 196
8.5.2 DMA功能 197
8.5.3 Intel 8237A DMA控制器 198
8.6 DCA 200
8.6.1 使用共享的最后一级
cache的DMA 201
8.6.2 cache相关的性能问题 202
8.6.3 直接cache存取策略 204
8.6.4 直接数据I/O 204
8.7 I/O通道和处理器 206
8.7.1 I/O功能的演变 206
8.7.2 I/O通道的特点 206
8.8 外部互连标准 207
8.8.1 通用串行总线 207
8.8.2 FireWire串行总线 208
8.8.3 小型计算机系统接口 208
8.8.4 迅雷 208
8.8.5 InfiniBand 209
8.8.6 PCIe 209
8.8.7 SATA 209
8.8.8 以太网 209
8.8.9 WiFi 209
8.9 IBM z13 I/O结构 210
8.9.1 通道结构 210
8.9.2 I/O系统组织结构 211
8.10 关键词、思考题和习题 212
第9章 操作系统支持 217
9.1 操作系统概述 217
9.1.1 操作系统的目标与功能 217
9.1.2 操作系统的类型 219
9.2 调度 224
9.2.1 长期调度 225
9.2.2 中期调度 225
9.2.3 短期调度 225
9.3 存储器管理 228
9.3.1 交换 228
9.3.2 分区 229
9.3.3 分页 230
9.3.4 虚拟存储器 232
9.3.5 快表 233
9.3.6 分段 235
9.4 Intel x86存储器管理 235
9.4.1 地址空间 235
9.4.2 分段 236
9.4.3 分页 238
9.5 ARM存储器管理 239
9.5.1 存储器系统组织 239
9.5.2 虚拟存储器地址转换 239
9.5.3 存储器管理格式 240
9.5.4 存取控制 242
9.6 关键词、思考题和习题 242
第三部分 算术与逻辑
第10章 数字系统 248
10.1 十进制系统 248
10.2 按位记数制系统 249
10.3 二进制系统 249
10.4 二进制数与十进制数的转换 250
10.4.1 整数 250
10.4.2 小数 251
10.5 十六进制表示法 252
10.6 关键词和习题 254
第11章 计算机算术运算 256
11.1 算术逻辑单元 256
11.2 整数表示 257
11.2.1 符号-幅值表示法 257
11.2.2 二进制补码表示法 258
11.2.3 范围扩展 260
11.2.4 定点表示法 261
11.3 整数算术运算 261
11.3.1 取负 261
11.3.2 加法和减法 262
11.3.3 乘法 265
11.3.4 除法 270
11.4 浮点表示 273
11.4.1 原理 273
11.4.2 二进制浮点表示的
IEEE标准 275
11.5 浮点算术运算 279
11.5.1 浮点加法和减法 280
11.5.2 浮点乘法和除法 281
11.5.3 精度考虑 282
11.5.4 二进制浮点算术运算的
IEEE标准 284
11.6 关键词、思考题和习题 286
第12章 数字逻辑 290
12.1 布尔代数 290
12.1.1 集合代数 291
12.1.2 布尔恒等式 293
12.2 门 294
12.3 组合电路 296
12.3.1 布尔函数的实现 296
12.3.2 多路复用器 303
12.3.3 解码器 304
12.3.4 只读存储器 305
12.3.5 加法器 306
12.4 时序电路 309
12.4.1 触发器 309
12.4.2 寄存器 311
12.4.3 计数器 313
12.5 可编程逻辑器件 315
12.5.1 可编程逻辑阵列 316
12.5.2 现场可编程门阵列 317
12.6 关键词和习题 318
第四部分 指令集与汇编语言
第13章 指令集:特征和功能 324
13.1 机器指令特征 324
13.1.1 机器指令要素 324
13.1.2 指令表示 325
13.1.3 指令类型 326
13.1.4 地址数目 327
13.1.5 指令集设计 328
13.2 操作数类型 329
13.2.1 数值 329
13.2.2 字符 329
13.2.3 逻辑数据 330
13.3 Intel x86和ARM数据类型 330
13.3.1 x86数据类型 330
13.3.2 ARM数据类型 331
13.4 操作类型