第一篇 微型计算机基础 3
第1章 计算机运算基础 3
1.1 无符号数 3
1.1.1 二进制与十六进制 3
1.1.2 数制转换 4
1.2 常用的编码 6
1.2.1 BCD码 6
1.2.2 ASCII码与奇偶校验 7
1.3 带符号数 8
1.3.1 原码、反码与补码 8
1.3.2 补码的换算 9
思考与练习 11
第2章 计算机硬件基础 12
2.1 计算机发展简史 12
2.2.1 微型计算机硬件系统的基本结构 13
2.2 微型计算机系统概述 13
2.2.2 微型计算机的工作原理 15
2.2.3 简单程序执行过程 16
2.3 8086、8088、80286 16位微处理器 18
2.3.1 8086、8088 CPU的内部结构 18
2.3.2 8086、8088 CPU中的寄存器结构 19
2.3.3 存储器的分段与物理地址形成 22
2.3.4 80286微处理器 23
2.4 80386、80486 32位微处理器 24
2.4.1 80386微处理器 24
2.4.2 80486微处理器 26
2.5 Pentium系列微处理器 26
2.5.1 Pentium的结构 27
2.5.2 Pentium的寄存器 28
思考与练习 31
3.1 寻址方式 33
第3章 汇编语言指令基础 33
3.2 传送指令 36
3.2.1 MOV指令 36
3.2.2 堆栈操作指令 37
3.2.3 地址与标志传送指令 38
3.3 算术运算指令 39
3.3.1 加法指令 39
3.3.2 减法指令 40
3.3.3 乘法指令 41
3.3.4 除法指令 42
3.4 逻辑、移位和位操作指令 43
3.4.1 逻辑运算指令 43
3.4.2 移位指令 44
3.4.3 位测试指令 46
3.5.1 I/O操作指令 48
3.5 I/O与串操作指令 48
3.5.2 串操作指令 49
3.6 分支转移指令 50
3.6.1 CALL和RET指令 50
3.6.2 INT指令 51
3.6.3 循环指令 53
3.6.4 无条件转移指令 53
3.6.5 条件转移指令 54
3.6.6 JCXZ/JECXZ指令 55
3.7 其他常用指令 55
3.7.1 转换指令 55
3.7.2 其他典型应用指令 57
思考与练习 57
第4章 汇编语言程序设计 59
4.1 汇编伪指令 59
4.1.1 标号 59
4.1.2 子程序定义 61
4.1.3 宏定义 62
4.1.4 段定义 63
4.1.5 简化段定义 64
4.1.6 指令集版本 65
4.1.7 定义存储方式 65
4.1.8 其他汇编伪指令 66
4.2 程序设计举例 69
4.3 汇编与C/C++接口 76
4.3.1 C/C++程序中内嵌汇编的方法 76
4.3.2 独立汇编模块的汇编与C/C++混合编程 76
思考与练习 81
第5章 中断 82
5.1 中断系统 82
5.1.1 中断的基本概念 82
5.1.2 中断向量表 84
5.2 软件中断 86
5.2.1 异常中断 86
5.2.2 INTN指令中断 89
5.3 硬件中断 90
5.3.1 Pentium硬件中断综述 90
5.3.2 可屏蔽中断INTR 92
5.3.3 外部中断应用编程 94
思考与练习 96
第二篇 接口部分 99
第6章 存储器与I/O端口 99
6.1 存储器基本知识 99
6.1.1 概述 99
6.1.2 ROM 100
6.1.3 RAM 102
6.1.4 内存条 102
6.1.5 地址译码 104
6.2 高速缓冲存储器 106
6.2.1 Cache的作用 106
6.2.2 Cache的读/写策略 106
6.2.3 Cache的实施原理简介 109
6.3 双重独立总线结构 110
6.4 存储器访问 111
6.4.1 信号通道 111
6.4.2 周期状态 114
6.4.3 单次传送周期 114
6.4.4 等待状态 116
6.4.5 4字边界对准 116
6.4.6 突发周期 118
6.4.7 流水线访问 120
6.5 DMA方式 122
6.5.1 DMA传送原理 122
6.5.2 8237-5 DMAC简介 123
6.6 I/O端口访问 124
6.7 ISA扩展总线 129
思考与练习 131
第7章 并行接口 133
7.1 概述 133
7.1.1 物理接口 133
7.1.2 IEEE 1284标准 135
7.1.3 端口模式简介 137
7.1.4 端口I/O地址 138
7.2 SPP端口模式 138
7.2.1 简单的输入/输出 138
7.2.2 兼容模式 141
7.2.3 4位组模式 142
7.3 EPP端口模式 143
7.4 ECP端口模式 146
7.5.1 SPP模式下的ADC接口 147
7.5 ADC接口设计 147
7.5.2 EPP模式下的ADC接口 149
7.6 DAC接口设计 153
思考与练习 156
第8章 串行接口 158
8.1 RS-232标准 158
8.1.1 接口及引脚定义 159
8.1.2 电气特性 160
8.2 接收器与发送器 160
8.3 COM端口及数据通信 162
8.3.1 调制解调器简介 162
8.3.2 端口寄存器 163
8.3.3 通信编程 166
8.4 应用举例 168
思考与练习 170
9.1.1 背景 171
第9章 USB接口 171
9.1 USB概述 171
9.1.1 物理接口 172
9.1.2 系统组成 175
9.2 USB传输协议 177
9.2.1 端点与管道 177
9.2.2 信息包的结构与种类 177
9.2.3 4种传输方式 180
9.3 USB系统开发简介 183
思考与练习 184
第10章 PCI总线 186
10.1 扩展总线 186
10.2 PCI总线 187
10.2.1 PCI系统框图 187
10.2.2 PCI总线信号 188
10.3.2 地址和数据信号 190
10.3 PCI信号的定义 190
10.3.1 系统信号 190
10.3.3 接口控制信号 191
10.3.4 其他常用的控制或状态信号 192
10.4 PCI总线协议 193
10.4.1 传输控制 193
10.4.2 地址空间 194
10.4.3 总线的驱动 195
10.5 数据传输过程 195
10.5.1 读操作 195
10.5.2 写操作 196
10.5.3 总线的仲裁 197
10.6 配置空间 198
10.6.1 配置空间的结构 198
10.6.2 设备的识别寄存器 199
10.6.3 设备的控制寄存器 200
10.6.4 设备的状态寄存器 201
10.6.5 其他寄存器 201
10.7 PCI BIOS功能调用 203
思考与练习 206
第三篇 提高部分 209
第11章 操作模式 209
11.1 实模式综述 209
11.2 保护模式下的存储器分段管理 211
11.2.1 控制寄存器与存储器管理寄存器 212
11.2.2 虚拟存储器 213
11.2.3 描述符表的概念 214
11.2.4 特权级及其保护 215
11.2.5 段选择器与段描述符的结构 216
11.2.6 描述符表的定位 219
11.2.7 存储器寻址过程 220
11.2.8 应用段 222
11.2.9 系统段 223
11.2.10 控制转移与调用门 225
11.2.11 保护机制要点 226
11.3 保护模式中断 227
11.3.1 中断描述符表与中断门 227
11.3.2 保护模式下的异常中断 228
11.3.3 保护模式下的DPMI控制功能 229
11.4 多任务系统 229
11.4.1 任务状态段及任务门 230
11.4.2 任务切换 233
11.5 I/O地址空间的保护 234
11.5.1 I/O特权级的保护 234
11.5.2 I/O许可位图的保护 235
11.6 进出保护模式 236
11.7.1 概述 242
11.7 分页管理机制 242
11.7.2 4KB分页 243
11.7.3 线性地址转换全过程 245
11.7.4 4MB分页 246
思考与练习 247
第12章 MMX技术 248
12.1 MMX技术 248
12.2 MMX指令解说 250
12.2.1 MMX指令规则概述 250
12.2.2 MMX指令集表 253
12.3 单指令多数据处理 256
12.4 SSE技术简介 261
思考与练习 262
第13章 其他增强技术 263
13.1 Pentium的超标量流水线 263
13.1.1 整型流水线 263
13.1.2 指令配对 265
13.1.3 浮点流水线 267
13.2 动态执行技术 269
13.2.1 PentiumⅡ的流水线结构 269
13.2.2 动态执行过程 270
13.3 分支预测 272
13.4 条件传送指令 273
13.5 CPU识别指令 274
13.5.1 CPU识别 275
13.5.2 CPUID指令的特殊功能 278
13.5.3 UD2指令 279
13.6 特殊方式寄存器 279
13.6.1 读/写特殊方式寄存器 279
13.6.2 读性能监视计数器 280
13.6.3 读时间标志计数器 280
13.7 Pentium 4的增强点 281
13.8 Pentium系列微处理器总览 283
思考与练习 284
第14章 芯片组与主板 286
14.1 北桥南桥芯片组 286
14.2 Intel 810/815芯片组 288
14.3 Pentium 4芯片组 290
14.4 主板结构 292
14.5 系统BIOS ROM与CMOS RAM 294
14.5.1 BIOS ROM 294
14.5.2 CMOS RAM 295
思考与练习 297
第15章 IA指令集 298
15.1 整型基本指令 298
15.2 浮点部件指令 304
15.3 MMX指令 305
思考与练习 307
参考文献 308