第1章 概论 1
1.1 计算机的发展历史 1
1.1.1 更新换代的计算机硬件 1
1.1.2 日臻完善的计算机软件 2
1.2 计算机系统的硬件组成 4
1.2.1 计算机的功能部件 4
1.2.2 冯·诺依曼计算机 5
1.3 计算机的软件系统 7
1.3.1 系统软件 7
1.3.2 应用软件 8
1.4 计算机系统的组织结构 8
1.4.1 硬件与软件的关系 8
1.4.2 计算机系统的多级层次结构 8
1.4.3 计算机硬件系统的组织 9
1.5 计算机的工作特点和性能指标 12
1.5.1 计算机的工作特点 12
1.5.2 计算机的性能指标 13
1.6 计算机的分类与应用 14
1.6.1 计算机的分类 14
1.6.2 计算机的应用 15
习题 17
第2章 计算机中数据信息的表示 19
2.1 进位计数制与数制转换 19
2.2 带符号数的表示 21
2.2.1 机器数与真值 21
2.2.2 原码表示 22
2.2.3 补码表示 23
2.2.4 反码表示 27
2.2.5 移码表示 28
2.3 数的定点表示与浮点表示 30
2.3.1 定点表示 30
2.3.2 浮点表示 32
2.4 非数值型数据的表示 37
2.4.1 逻辑数——二进制串 37
2.4.2 字符与字符串 37
2.4.3 汉字信息的表示 39
2.5 十进制数串的表示 41
2.6 数据的长度与存储方式 43
2.6.1 数据的长度 43
2.6.2 数据的存储方式 45
2.7 数据校验码 46
2.7.1 码距与数据校验码 46
2.7.2 奇偶校验码 47
2.7.3 海明校验码 48
2.7.4 循环冗余校验码 52
习题 56
第3章 运算方法与运算器 60
3.1 运算器的设计方法 60
3.2 定点补码加减运算 60
3.2.1 补码加减运算的基础 60
3.2.2 溢出判断与变形补码 63
3.2.3 算术逻辑运算部件 65
3.3 定点乘法运算 67
3.3.1 原码乘法运算 68
3.3.2 补码乘法运算 74
3.3.3 快速乘法运算 77
3.4 定点除法运算 79
3.4.1 原码除法运算 80
3.4.2 补码除法运算 85
3.4.3 阵列除法器 91
3.5 浮点四则运算 92
3.5.1 浮点加减运算 92
3.5.2 浮点乘除运算 96
3.6 运算器的组成 100
3.6.1 定点运算器 100
3.6.2 浮点运算器 105
3.7 十进制数的加减运算方法 106
3.7.1 一位十进制加法器的设计 106
3.7.2 多位十进制整数的加减运算 108
3.8 逻辑运算和移位操作 109
3.8.1 逻辑运算 109
3.8.2 移位操作 110
习题 113
第4章 存储器系统 119
4.1 存储器概述 119
4.1.1 存储器的分类 119
4.1.2 主存储器的组成和基本操作 120
4.1.3 存储器的主要技术指标 121
4.1.4 存储器系统的层次结构 122
4.2 半导体随机存储器 123
4.2.1 半导体随机存储器的分类 123
4.2.2 半导体随机存储器单元电路 124
4.2.3 半导体随机存储器芯片的结构及实例 126
4.2.4 半导体存储器的组成 133
4.3 半导体只读存储器 137
4.3.1 只读存储器的分类 137
4.3.2 闪速存储器 138
4.4 并行存储器 140
4.4.1 双端口存储器 140
4.4.2 并行主存系统 141
4.4.3 相联存储器 143
4.5 高速缓冲存储器 144
4.5.1 Cache在存储体系中的地位和作用 144
4.5.2 Cache的结构及工作原理 145
4.5.3 Cache的替换算法与写策略 150
4.6 虚拟存储器 151
4.6.1 页式虚拟存储器 152
4.6.2 段式虚拟存储器 153
4.6.3 段页式虚拟存储器 154
4.7 辅助存储器 155
4.7.1 磁表面存储器的基本原理 155
4.7.2 磁记录方式 156
4.7.3 磁盘存储器 158
4.7.4 光盘存储器 162
4.7.5 固态硬盘 167
4.8 廉价磁盘冗余阵列RAID 167
4.8.1 RAID 0 168
4.8.2 RAID 1 168
4.8.3 RAID 2 169
4.8.4 RAID 3 169
4.8.5 RAID 4 170
4.8.6 RAID 5 171
4.8.7 RAID 6 171
习题 172
第5章 指令系统 176
5.1 机器指令 176
5.1.1 机器指令格式 176
5.1.2 指令字的长度 177
5.1.3 指令的地址码 177
5.1.4 指令的操作码 180
5.2 寻址方式 182
5.2.1 指令的寻址方式 182
5.2.2 操作数的寻址方式 183
5.3 指令类型与功能 192
5.3.1 数据传送指令 193
5.3.2 算术逻辑运算指令 194
5.3.3 移位指令 194
5.3.4 堆栈操作指令 195
5.3.5 字符串处理指令 195
5.3.6 程序控制指令 195
5.3.7 输入输出指令 197
5.3.8 其他指令 198
5.4 CISC机和RISC机指令风格 198
5.4.1 复杂指令系统计算机CISC 198
5.4.2 精简指令系统计算机RISC 199
5.5 指令系统举例 200
5.5.1 Pentium Ⅱ的指令系统 200
5.5.2 MIPS的指令系统 202
习题 209
第6章 控制系统与CPU 213
6.1 控制器概述 213
6.1.1 指令执行的基本步骤 213
6.1.2 控制器的基本功能 213
6.1.3 控制器的组成 215
6.1.4 控制器的组成方式 217
6.2 控制器的控制方式与时序系统 218
6.2.1 控制方式 218
6.2.2 时序系统 219
6.3 CPU的总体结构 220
6.3.1 寄存器的设置 221
6.3.2 数据通路结构及指令流程分析 221
6.4 模型机的总体结构 225
6.4.1 模型机的数据通路 225
6.4.2 模型机的指令系统 227
6.4.3 模型机的时序系统 229
6.5 组合逻辑控制器设计 230
6.5.1 设计的步骤 230
6.5.2 模型机的设计 231
6.6 微程序控制器设计 244
6.6.1 微程序控制器概述 244
6.6.2 微指令的编译方法 247
6.6.3 微程序的顺序控制方式 248
6.6.4 微指令的执行方式 253
6.6.5 微程序设计方法 255
6.6.6 微程序控制器设计步骤 257
6.6.7 举例——模型机的微程序设计 258
6.6.8 微程序设计技术的应用 269
6.7 流水线处理技术 270
6.7.1 指令的执行方式 270
6.7.2 流水线的分类 271
6.7.3 线性流水线的性能 272
6.7.4 流水线的相关问题 274
6.8 CPU举例 275
6.8.1 Intel的Pentium处理器 275
6.8.2 MIPS32 4K处理器核 278
习题 281
第7章 总线技术 288
7.1 总线概述 288
7.1.1 采用总线实现互连的优势 288
7.1.2 总线的分类 289
7.1.3 总线的标准 289
7.1.4 总线的性能 290
7.2 总线的组成与结构 291
7.2.1 总线的组成 291
7.2.2 总线的结构 293
7.3 总线的设计要素与实现 294
7.3.1 总线的设计要素 294
7.3.2 总线的实现 301
7.4 总线与计算机系统 302
7.5 PCI总线 306
7.5.1 PCI总线的概况 306
7.5.2 PCI局部总线的信号定义 309
7.5.3 PCI局部总线的操作 313
7.6 通用串行总线 328
7.6.1 USB总线的历史和使用概况 328
7.6.2 USB总线的体系结构 328
7.6.3 USB总线的事务和传输 332
7.7 其他设备总线 333
7.7.1 小型计算机系统接口 333
7.7.2 ATA接口 334
习题 335
第8章 I/O设备 338
8.1 I/O设备概述 338
8.2 输入设备 339
8.2.1 键盘 339
8.2.2 鼠标 342
8.2.3 触摸屏 343
8.3 输出设备 345
8.3.1 显示器 346
8.3.2 打印机 349
8.4 多媒体I/O设备 357
8.4.1 音频设备 357
8.4.2 视频设备 359
8.4.3 图像设备 361
习题 362
第9章 I/O系统组织 365
9.1 I/O系统概述 365
9.1.1 I/O系统需要解决的主要问题 365
9.1.2 I/O系统的组成 365
9.1.3 主机与外围设备间的连接方式与组织管理 366
9.1.4 I/O信息传送的控制方式 367
9.2 I/O接口 368
9.2.1 I/O接口的基本功能 368
9.2.2 I/O接口的分类 371
9.3 程序控制方式 372
9.3.1 直接程序控制方式 372
9.3.2 程序中断控制方式 373
9.4 直接存储器访问方式 389
9.4.1 DMA方式的特点与应用场合 389
9.4.2 DMA的传送方式 390
9.4.3 DMA的硬件组织 392
9.4.4 DMA控制器的组成 393
9.4.5 DMA控制方式下的数据传送过程 394
9.5 I/O通道方式 396
习题 401
参考文献 407