第1章 计算机概念和技术 1
1.1 概述 1
1.2 程序的表象之下 5
1.3 打开计算机的机箱 8
1.4 实例:制造Pentium 4芯片 17
1.5 谬误和陷阱 20
1.6 结论 21
1.7 历史回顾和深入阅读 21
1.8 习题 22
现实世界中的计算机:信息技术在非IT领域的40亿产值 25
第2章 计算机指令 27
2.1 概述 27
2.2 计算机硬件的操作 28
2.3 计算机硬件的操作数 29
2.4 计算机中指令的表示 34
2.5 逻辑运算 40
2.6 分支指令 42
2.7 计算机硬件的过程支持 47
2.8 人机交互 55
2.9 对32位立即数的MIPS编址和寻址 58
2.10 程序的翻译和启动运行 65
2.11 编译器如何优化 72
2.12 编译器如何工作初探 75
2.13 以一个C程序的排序为例 75
2.14 面向对象语言的实现 81
2.15 数组与指针 81
2.16 实例:IA-32指令 84
2.17 谬误和陷阱 91
2.18 结论 91
2.19 历史回顾和深入阅读 93
2.20 习题 93
现实世界中的计算机:用数据拯救我们的环境 97
第3章 计算机的算术运算 99
3.1 概述 99
3.2 有符号数与无符号数 99
3.3 加法与减法 106
3.4 乘法 111
3.5 除法 115
3.6 浮点运算 122
3.7 实例:IA-32中的浮点部件 142
3.8 谬误和陷阱 144
3.9 结论 147
3.10 历史回顾和深入阅读 152
3.11 习题 152
现实世界中的计算机:重建古代世界 155
第4章 评估和理解性能 157
4.1 概述 157
4.2 CPU的性能和影响因素 161
4.3 性能评估 166
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价 170
4.5 谬误和陷阱 175
4.6 结论 178
4.7 历史回顾和深入阅读 179
4.8 习题 179
现实世界中的计算机:使交通工具更快更安全 183
第5章 处理器 185
5.1 概述 185
5.2 逻辑设计规则 188
5.3 数据通路的建立 190
5.4 一个简单的实现方案 195
5.5 多周期实现方案 206
5.6 异常 221
5.7 微程序设计:简化控制设计 225
5.8 使用硬件描述语言进行数字设计概述 225
5.9 实例:近期的Pentium处理器的实现结构 225
5.10 谬误和陷阱 227
5.11 结论 228
5.12 历史回顾和深入阅读 229
5.13 习题 229
现实世界中的计算机:助力残障人士 235
第6章 利用流水线提高性能 237
6.1 流水线概述 237
6.2 流水线的数据通路 248
6.3 流水线中的控制 259
6.4 数据冒险与转发 262
6.5 数据冒险与阻塞 269
6.6 分支冒险 271
6.7 使用硬件描述语言对流水线进行建模 279
6.8 异常 279
6.9 高级话题:如何提高性能 283
6.10 实例:Pentium 4处理器的流水线 294
6.11 谬误和陷阱 296
6.12 结论 297
6.13 历史回顾和深入阅读 298
6.14 习题 298
现实世界中的计算机:无网守的大众通信方式 304
第7章 层次结构的存储器 307
7.1 概述 307
7.2 高速缓存基础知识 310
7.3 高速缓存性能的评估和提高 323
7.4 虚拟存储器 334
7.5 层次结构存储器的一般框架 353
7.6 实例:Pentium P4和AMD Opteron的存储器层次结构 357
7.7 谬误和陷阱 360
7.8 结论 362
7.9 历史回顾和深入阅读 364
7.10 习题 364
现实世界中的计算机:保护世界艺术财富 367
第8章 存储器、网络和其他外围设备 369
8.1 概述 369
8.2 磁盘存储及其可靠性 371
8.3 网络 379
8.4 总线以及在处理器、内存和I/O设备之间的其他连接 379
8.5 为处理器、内存和操作系统提供I/O设备接口 384
8.6 I/O性能测量:磁盘和文件系统的例子 390
8.7 设计I/O系统 392
8.8 实例:数码相机 394
8.9 谬误和陷阱 396
8.10 结论 398
8.11 历史回顾和深入阅读 399
8.12 习题 399
现实世界中的计算机:通过更好的诊断来延长寿命 405
第9章 多处理器和集群 407
9.1 概述 407
9.2 多处理器编程 410
9.3 用单一总线连接的多处理器 412
9.4 通过网络连接的多处理器 419
9.5 集群 421
9.6 网络拓扑结构 422
9.7 片内多处理器和多线程技术 425
9.8 实例:Google PC集群系统 427
9.9 谬误和陷阱 430
9.10 结论——计算机系统结构的改良和变革 432
9.11 历史回顾和深入阅读 435
9.12 习题 440
附录A 汇编器、链接器和SPIM模拟器 443
附录B 逻辑设计基础 493
附录C 控制器的硬件实现 543
附录D 桌面计算机、服务器和嵌入式计算机上的RISC体系结构综述 563