第1章 引言 1
1.1 概述 1
1.2 计算机的主要组成部分 2
1.3 计算机系统示例 3
1.4 国际标准化组织 7
1.5 计算机的发展史 8
1.5.1 第零代机械计算器 8
1.5.2 第一代:真空管计算机 9
1.5.3 第二代:晶体管计算机 13
1.5.4 第三代:集成电路计算机 15
1.5.5 第四代:超大规模集成电路计算机 15
1.5.6 摩尔定律 17
1.6 计算机的分层组织结构 17
1.7 冯·诺伊曼模型 19
1.8 非冯·诺伊曼模型 21
本章小结 21
深入阅读 22
参考文献 22
基本概念和术语复习 23
练习题 24
第2章 计算机系统中的数据表示方法 25
2.1 概述 25
2.2 位置编码系统 25
2.3 十进制数和二进制数之间的转换 26
2.3.1 无符号整数的转换 26
2.3.2 分数转换 27
2.4.1 符号幅值表示法 29
2.4 带符号整数的表示方法 29
2.3.3 以2的指数幂为基数的数制之间的转换 29
2.4.2 补码体系 32
2.5 浮点表示法 36
2.5.1 一个简单的模型 36
2.5.2 浮点算法 38
2.5.3 浮点误差 38
2.5.4 IEEE-745浮点标准 40
2.6 字符编码 40
2.6.1 二进制编码的十进制数 40
2.6.3 ASCII 41
2.6.2 EBCDIC 41
2.6.4 统一字符编码标准 42
2.7 用于数据记录和传递的编码方式 44
2.7.1 不归零编码 44
2.7.2 反转不归零编码 45
2.7.3 相位调制编码 45
2.7.4 频率调制编码 46
2.7.5 运行长度限制编码 46
2.8.1 循环冗余码校验 47
2.8 错误检测与校正 47
2.8.2 海明编码 49
2.8.3 里德-所罗门编码 53
本章小结 54
深入阅读 54
参考文献 55
基本概念和术语复习 55
练习题 56
3.1 概述 61
3.2 布尔代数 61
第3章 布尔代数和数字逻辑 61
3.2.1 布尔表达式 62
3.2.2 布尔恒等式 63
3.2.3 布尔表达式的化简 63
3.2.4 反码 64
3.2.5 布尔函数的表示方法 65
3.3 逻辑门 66
3.3.1 逻辑门的表示符号 66
3.3.3 多输入的门电路 67
3.3.2 通用门电路 67
3.4 数字电路元件 68
3.4.1 数字电路及其与布尔代数的相互关系 68
3.4.2 集成电路 69
3.5 组合逻辑电路 69
3.5.1 基本概念 69
3.5.2 典型的组合逻辑电路 69
3.6 时序电路 74
3.6.1 基本概念 74
3.6.2 时钟信号 75
3.6.3 触发器 75
3.6.4 典型的时序逻辑电路 77
本章小结 79
3.7 电路设计 79
深入阅读 80
参考文献 80
基本概念和术语复习 81
练习题 81
3A.1 概述 87
3A.2 卡诺图的描述和基本术语 87
卡诺图专题 87
3A.3 利用卡诺图化简二变量函数 88
3A.4 利用卡诺图化简三变量函数 89
3A.5 利用卡诺图化简四变量函数 91
3A.6 无关条件 93
3A.7 小结 94
练习题 94
第4章 MARIE:简单计算机模型 96
4.1 概述 96
4.1.1 CPU的基本知识和组成原理 96
4.1.2 总线 97
4.1.3 时钟 100
4.1.4 输入/输出子系统 101
4.1.5 存储器组成和寻址方式 102
4.1.6 中断 104
4.2 MARIE 104
4.2.1 体系结构 104
4.2.2 寄存器和总线 105
4.2.3 指令系统体系结构 106
4.2.4 寄存器传输表示法 109
4.3.2 中断和输入/输出 111
4.3 指令的执行过程 111
4.3.1 取指-译码-执行周期 111
4.4 一个简单的程序 113
4.5 有关编译程序的讨论 114
4.5.1 编译程序的功能 115
4.5.2 为什么使用汇编语言 116
4.6 MARIE指令集的扩充 117
4.7 有关译码的讨论:硬件译码和微程序控制译码 120
4.8 实际的计算机体系结构 122
4.8.1 Intel体系结构 123
4.8.2 MIPS体系结构 126
本章小结 127
深入阅读 128
参考文献 129
基本概念和术语复习 130
练习题 131
5.2 指令格式 135
5.2.1 指令系统的设计 135
5.1 概述 135
第5章 指令系统体系结构概览 135
5.2.2 小端和大端的位序问题 136
5.2.3 CPU的内部存储机制:堆栈和寄存器 138
5.2.4 操作数的数目和指令的长度 138
5.2.5 扩展操作码 141
5.3 指令类型 142
5.4 寻址 143
5.4.1 数据类型 143
5.4.2 寻址方式 144
5.5 指令流水线 146
5.6.1 Intel体系结构 149
5.6 ISA体系结构的真实案例 149
5.6.2 MIPS体系结构 150
5.6.3 Java虚拟机 151
本章小结 154
深入阅读 154
参考文献 155
基本概念和术语复习 156
练习题 156
6.2 存储器的类型 160
6.1 概述 160
第6章 存储器 160
6.3 存储器的层次结构 161
6.4 高速缓存存储器 163
6.4.1 高速缓存的映射模式 165
6.4.2 置换策略 170
6.4.3 有效存取时间和命中几率 171
6.4.4 何时高速缓存的方法会失效 171
6.4.5 高速缓存的写策略 172
6.5 虚拟存储器 172
6.5.1 分页 173
6.5.2 使用分页的有效存取时间 177
6.5.3 综合举例:同时使用高速缓存、TLB和分页 179
6.5.4 分页和虚拟存储器的优缺点 180
6.5.5 分段 181
6.5.6 分页和分段的组合方式 181
6.6 存储器管理实例 182
本章小结 183
深入阅读 183
基本概念和术语复习 184
参考文献 184
练习题 185
第7章 输入/输出和存储系统 189
7.1 概述 189
7.2 AMDAHL定律 189
7.3 输入/输出体系结构 190
7.3.1 I/O的控制方法 191
7.3.2 I/O总线操作 194
7.3.3 深入讨论中断控制的I/O 196
7.4 磁盘技术 198
7.4.1 硬盘驱动器 199
7.4.2 软盘 201
7.5 光盘 202
7.5.1 CD-ROM 203
7.5.2 DVD 205
7.5.3 光盘记录方法 205
7.6 磁带 206
7.7 独立磁盘冗余阵列 208
7.7.2 RAID Level 1 209
7.7.1 RAID Level 0 209
7.7.3 RAID Level 2 210
7.7.4 RAID Level 3 210
7.7.5 RAID Level 4 211
7.7.6 RAID Level 5 212
7.7.7 RAID Level 6 212
7.7.8 混合RAID系统 213
7.8 数据压缩 214
7.8.1 统计编码 215
7.8.2 Ziv-Lempel(LZ)字典系统 221
7.8.3 GIF和PNG压缩 223
7.8.4 JPEG压缩 224
本章小结 228
深入阅读 228
参考文献 229
基本概念和术语复习 229
练习题 230
选择磁盘存储器的实现专题 234
7A.1 概述 234
7A.2 数据传输模式 234
7A.3 SCSI 235
7A.4 存储器的区域网络 244
7A.5 其他的I/O连接 245
7A.6 小结 247
练习题 248
第8章 系统软件 249
8.1 概述 249
8.2 操作系统 249
8.2.1 操作系统的发展史 250
8.2.2 操作系统设计 254
8.2.3 操作系统服务 255
8.3.1 虚拟机 258
8.3 保护环境 258
8.3.2 子系统和分区 260
8.3.3 保护环境和计算机系统体系结构的发展进程 261
8.4 编程工具 263
8.4.1 汇编程序和汇编 263
8.4.2 链接编辑器 265
8.4.3 动态链接库 265
8.4.4 编译器 266
8.5 Java:一种综合语言 269
8.4.5 解释器 269
8.6 数据库软件 274
8.7 事务管理器 278
本章小结 279
深入阅读 280
参考文献 281
基本概念和术语复习 281
练习题 282
9.1 概述 284
第9章 可选择的体系结构 284
9.2 RISC计算机 285
9.3 FLYNN分类方法 288
9.4 并行和多处理器体系结构 290
9.4.1 超标量和VLIW体系结构 291
9.4.2 矢量处理器 293
9.4.3 互连网络 293
9.4.4 共享存储器的多处理器 296
9.4.5 分布式计算 298
9.5.1 数据流计算 299
9.5 新的并行处理方法 299
9.5.2 神经网络 301
9.5.3 脉动阵列 303
本章小结 304
深入阅读 304
参考文献 304
基本概念和术语复习 306
练习题 307
10.2 基本的计算机性能方程式 310
10.1 概述 310
第10章 性能度量和分析 310
10.3 数学预备知识 311
10.3.1 平均数的意义 311
10.3.2 统计学和语义学 315
10.4 基准 316
10.4.1 时钟速率、MIPS和FLOPS 316
10.4.2 综合基准:Whetstone、Linpack和Dhrystone 318
10.4.3 标准性能评估公司基准 319
10.4.4 事务性能委员会基准 322
10.4.5 系统仿真 325
10.5 CPU性能优化 326
10.5.1 分支优化 326
10.5.2 使用好的算法和简单的代码 328
10.6 磁盘性能 331
10.6.1 性能问题 331
10.6.2 物理性能 332
10.6.3 逻辑性能 332
本章小结 335
深入阅读 336
参考文献 337
基本概念和术语复习 338
练习题 338
第11章 网络组织和体系结构 341
11.1 概述 341
11.2 早期的商业计算机网络 341
11.3 早期的学术和科学网络:因特网的起源和体系结构 342
11.4 网络协议1:ISO/OSI协议 344
11.4.1 一个比喻 344
11.4.2 OSI参考模型 345
11.5 网络协议2:TCP/IP网络结构 348
11.5.1 IPv4网际协议层 348
11.5.2 IPv4遇到的困难 350
11.5.3 TCP 354
11.5.4 TCP的工作原理 354
11.5.5 IPv6 357
11.6 网络组织结构 360
11.6.1 物理传输介质 360
11.6.3 转发器 364
11.6.2 网络接口卡 364
11.6.4 集线器 365
11.6.5 交换机 365
11.6.6 网桥和网关 366
11.6.7 路由器和路由 367
11.7 高容量数字链路 373
11.7.1 数字分层体系 373
11.7.2 ISDN 376
11.7.3 异步传输模式 378
11.8.1 走进因特网 380
11.8 因特网的概况 380
11.8.2 遨游因特网 385
本章小结 385
深入阅读 386
参考文献 387
基本概念和术语复习 387
练习题 388
附录A 数据结构和计算机 391
术语表 405
部分练习题答案和提示 433