第1章 计算机系统概述 1
1.1 计算机的基本概念 1
1.1.1 电子数字计算机的基本含义 1
1.1.2 计算机的特点 1
1.1.3 计算机的分类 1
1.1.4 计算机的主要性能指标 3
1.2 计算机的发展历程 4
1.2.1 现代计算机的发展 4
1.2.2 我国计算机的发展 4
1.3 计算机系统的硬件结构 5
1.3.1 “存储程序控制”的概念 5
1.3.2 冯·诺依曼计算机硬件结构 6
1.3.3 计算机的各功能部件简介 7
1.4 计算机系统的软件结构 8
1.4.1 计算机软件的组成及分类 8
1.4.2 计算机软件的发展 9
1.5 计算机系统的层次结构 9
1.5.1 计算机系统的多级层次 10
1.5.2 软、硬件关系 10
1.6 计算机处理问题的过程 10
1.6.1 计算机处理问题的一般步骤 10
1.6.2 计算机执行指令的过程 10
1.7 计算机的应用领域 11
1.8 习题 11
第2章 计算机中数据表示 12
2.1 数据的编码 12
2.2 数值数据的编码表示 12
2.2.1 进位计数制及其各进位制数之间的转换 13
2.2.2 定点与浮点表示 16
2.2.3 编码系统 17
2.2.4 浮点数的编码表示 21
2.2.5 无符号数的表示 23
2.2.6 十进制数的二进制编码 23
2.3 非数值数据的编码表示 24
2.3.1 逻辑数据 24
2.3.2 字符数据 25
2.4 数据校验 25
2.4.1 奇偶校验 26
2.4.2 海明校验 28
2.4.3 循环冗余校验 31
2.5 习题 34
第3章 运算方法与运算器 35
3.1 定点数加减法运算 35
3.1.1 补码加法运算 35
3.1.2 补码减法运算 35
3.1.3 溢出判断 36
3.2 定点数乘法运算 38
3.2.1 原码乘法 39
3.2.2 补码乘法 42
3.3 定点数除法运算 47
3.3.1 原码恢复余数除法 48
3.3.2 原码加减交替除法 49
3.3.3 并行阵列除法器 50
3.4 浮点数运算 52
3.4.1 浮点数的加减法运算 52
3.4.2 浮点数的乘除法运算 55
3.5 定点运算器 57
3.5.1 加法器 57
3.5.2 算术逻辑运算单元 60
3.6 浮点运算器简介 64
3.7 习题 64
第4章 存储系统 66
4.1 存储器概述 66
4.1.1 存储器分类 66
4.1.2 存储器的分级结构 67
4.1.3 存储器的技术指标 69
4.2 主存储器 70
4.2.1 SRAM存储器 70
4.2.2 DRAM存储器 75
4.2.3 主存储器与CPU的连接 79
4.2.4 只读存储器 81
4.2.5 闪速存储器 83
4.3 并行存储器 83
4.3.1 双端口存储器 83
4.3.2 多体交叉存储器 84
4.3.3 相联存储器 86
4.4 Cache 87
4.4.1 Cache的基本原理 87
4.4.2 主存与Cache的地址映像 88
4.4.3 替换算法 90
4.4.4 写策略 91
4.5 虚拟存储器 92
4.5.1 虚拟存储器的基本概念 92
4.5.2 虚拟存储器的特点 93
4.5.3 页式虚拟存储器 93
4.5.4 段式虚拟存储器 95
4.5.5 段页式虚拟存储器 96
4.6 习题 97
第5章 指令系统 99
5.1 指令系统的发展与性能要求 99
5.1.1 指令系统的发展 99
5.1.2 对指令系统性能的要求 100
5.2 指令格式 100
5.2.1 操作码 100
5.2.2 地址码 102
5.2.3 指令字长度 103
5.2.4 指令助记符 104
5.3 寻址方式 104
5.3.1 指令的寻址方式 105
5.3.2 操作数的寻址方式 106
5.3.3 堆栈寻址方式 110
5.4 指令系统举例 112
5.4.1 Pentium指令系统的指令格式 112
5.4.2 Pentium指令系统的寻址方式 113
5.5 复杂指令系统与精简指令系统 114
5.5.1 复杂指令系统计算机 114
5.5.2 精简指令系统计算机 115
5.6 习题 115
第6章 中央处理器 118
6.1 控制器的功能与组成 118
6.1.1 控制器的功能 118
6.1.2 控制器的组成 119
6.1.3 指令执行过程举例 120
6.2 微程序控制器的基本工作原理 123
6.2.1 微程序控制的基本概念 123
6.2.2 实现微程序控制的基本原理 124
6.3 微程序设计技术 130
6.3.1 微指令的编译法 130
6.3.2 微程序流的控制 132
6.3.3 微指令的格式 135
6.3.4 微程序控制存储器和动态微程序设计 136
6.3.5 微程序设计语言 139
6.4 组合逻辑控制的计算机 141
6.4.1 时序与节拍 141
6.4.2 操作控制信号的产生 142
6.4.3 组合逻辑控制器的组成 146
6.4.4 组合逻辑控制器与微程序控制器的比较 147
6.5 控制器的控制方式 147
6.6 指令流水线技术 149
6.6.1 流水线与超标量流水线 149
6.6.2 超流水线 150
6.6.3 流水线中的主要问题及动态流水线 151
6.7 习题 152
第7章 模型计算机设计 156
7.1 设计思想 156
7.2 运算器设计 156
7.2.1 运算器数据通路方案 156
7.2.2 运算器数据通路调试 157
7.3 存储器设计 159
7.3.1 存储器数据通路方案 159
7.3.2 存储器数据通路调试 159
7.4 时序电路设计 160
7.4.1 对启/停电路的要求 160
7.4.2 启/停电路的工作过程 161
7.4.3 节拍脉冲形成电路 161
7.5 数据格式和指令系统设计 163
7.5.1 数据格式 163
7.5.2 寻址方式 164
7.5.3 指令系统设计 164
7.5.4 面板控制指令 167
7.6 整机数据通路设计 168
7.7 指令的微程序操作流程 171
7.8 微程序控制器设计 172
7.9 指令的执行过程举例 181
7.10 习题 182
第8章 总线系统 184
8.1 总线的概念及结构 184
8.1.1 总线的基本概念 184
8.1.2 总线的连接方式 185
8.1.3 总线结构对计算机系统性能的影响 187
8.1.4 总线的内部结构 187
8.2 总线接口 189
8.2.1 信息的传递方式 189
8.2.2 总线接口的基本概念 190
8.3 总线仲裁 192
8.3.1 集中式仲裁 192
8.3.2 分布式仲裁 194
8.4 总线定时 194
8.4.1 同步定时 194
8.4.2 异步定时 195
8.5 总线数据的传送模式 196
8.6 常用的系统总线 196
8.6.1 ISA总线 196
8.6.2 EISA总线 198
8.6.3 VESA总线 199
8.6.4 PCI总线 200
8.6.5 Future bus+总线简介 203
8.7 外部总线实例 204
8.7.1 RS-232C总线 204
8.7.2 USB总线 205
8.7.3 IEEE 1394 208
8.7.4 IDE/EIDE总线接口 210
8.7.5 SCSI总线接口 211
8.8 习题 213
第9章 I/O接口 214
9.1 I/O接口的功能与类型 214
9.1.1 I/O接口的基本功能 215
9.1.2 I/O接口的基本类型 215
9.2 I/O接口的结构 216
9.2.1 接口硬件的结构 216
9.2.2 接口软件 218
9.3 I/O接口的编址方式 218
9.3.1 I/O端口与存储器单元统一编址 219
9.3.2 I/O端口独立编址 219
9.4 I/O接口的数据传送机制 221
9.4.1 无条件传送方式及其接口 221
9.4.2 程序查询方式 222
9.5 程序中断方式 224
9.5.1 中断的功能、类型与过程管理 224
9.5.2 程序中断的基本接口 226
9.5.3 单级中断与多级中断 227
9.6 DMA方式 230
9.6.1 DMA的几种传送方式 231
9.6.2 DMA控制器 232
9.7 通道方式 234
9.7.1 通道的概念 234
9.7.2 通道的功能 235
9.7.3 通道的类型 237
9.8 习题 238
第10章 外部设备 240
10.1 外部设备概述 240
10.1.1 外部设备的功能 240
10.1.2 外部设备的分类 240
10.2 输入设备 241
10.2.1 键盘 241
10.2.2 鼠标 244
10.2.3 光笔、游动标和图形板 246
10.2.4 触摸屏 246
10.2.5 声音输入/输出设备——声卡 248
10.2.6 图形与文字输入设备——扫描仪 251
10.2.7 数码相机/摄像机 252
10.3 输出设备 253
10.3.1 显示器 253
10.3.2 打印机 257
10.4 外存储器设备 264
10.4.1 硬磁盘存储设备 264
10.4.2 光盘存储设备 267
10.5 习题 270
附录 271
附录A 模型计算机总图 271
附录B 模型计算机微指令总表 273
参考文献 276