第1章 微型计算机系统概述 1
1.1 微型计算机的发展 1
1.1.1 通用微处理器 1
1.1.2 专用微处理器 2
1.1.3 摩尔定律 3
1.2 Intel 80x86系列处理器 4
1.2.1 16位80x86处理器 4
1.2.2 IA-32处理器 5
1.2.3 Intel 64处理器 8
1.3 微型计算机的系统组成 10
1.3.1 冯·诺伊曼计算机结构 10
1.3.2 微型计算机的硬件系统 12
1.3.3 PC微机结构 14
1.3.4 计算机系统的层次结构 17
1.3.5 微型计算机的软件系统 21
第1章总结 24
第1章习题 24
第2章 处理器结构 26
2.1 处理器的功能结构 26
2.1.1 处理器的基本结构 26
2.1.2 8086的功能结构 27
2.1.3 80386的功能结构 29
2.1.4 Pentium的功能结构 30
2.2 寄存器 31
2.2.1 通用寄存器 32
2.2.2 标志寄存器 33
2.2.3 专用寄存器 36
2.3 存储器组织 37
2.3.1 存储模型 38
2.3.2 工作方式 38
2.3.3 逻辑地址 39
2.4 汇编语言基础 42
2.4.1 指令代码格式 42
2.4.2 语句格式 43
2.4.3 源程序框架 45
2.4.4 开发过程 49
2.5 数据寻址方式 53
2.5.1 立即数寻址方式 53
2.5.2 寄存器寻址方式 54
2.5.3 存储器寻址方式 54
2.5.4 各种数据寻址方式总结 57
第2章总结 59
第2章习题 60
第3章 数据处理 62
3.1 数据表示 62
3.1.1 数制 62
3.1.2 数值的编码 65
3.1.3 字符的编码 67
3.2 常量表达 69
3.3 变量应用 71
3.3.1 变量定义 71
3.3.2 变量属性 75
3.4 数据传送类指令 77
3.4.1 通用数据传送指令 77
3.4.2 堆栈操作指令 79
3.4.3 其他传送指令 82
3.5 算术运算类指令 84
3.5.1 加法指令 84
3.5.2 减法指令 85
3.5.3 乘除法等指令 87
3.6 位操作类指令 89
3.6.1 逻辑运算指令 89
3.6.2 移位指令 93
3.7 串操作类指令 96
3.7.1 串传送指令 96
3.7.2 串检测指令 98
3.8 IA-32指令系统 99
第3章总结 100
第3章习题 101
第4章 汇编语言程序设计 107
4.1 分支程序结构 107
4.1.1 无条件转移指令 107
4.1.2 条件转移指令 110
4.1.3 单分支程序结构 114
4.1.4 双分支程序结构 115
4.2 循环程序结构 117
4.2.1 循环指令 118
4.2.2 计数控制循环 119
4.2.3 条件控制循环 120
4.3 子程序结构 122
4.3.1 子程序指令 122
4.3.2 子程序设计 124
4.3.3 参数传递 126
4.3.4 程序模块 133
4.4 Windows应用程序编程 137
4.4.1 操作系统函数调用 137
4.4.2 控制台应用程序 140
4.4.3 图形窗口应用程序 145
4.5 与C++语言混合编程 146
4.5.1 嵌入汇编 146
4.5.2 模块连接 147
第4章总结 150
第4章习题 151
第5章 微机总线 154
5.1 总线技术 154
5.1.1 总线类型 154
5.1.2 总线的数据传输 155
5.1.3 总线信号和总线时序 158
5.2 8086的引脚信号 160
5.2.1 地址/数据信号 160
5.2.2 读写控制信号 161
5.2.3 其他控制信号 162
5.3 8086的总线时序 163
5.3.1 写总线周期 163
5.3.2 读总线周期 165
5.4 Pentium处理器的引脚和时序 166
5.4.1 引脚定义 166
5.4.2 总线周期 168
5.5 微机系统总线 169
5.5.1 PC机总线的发展 169
5.5.2 ISA总线 170
5.5.3 PCI总线 173
5.5.4 USB总线 177
第5章总结 179
第5章习题 180
第6章 存储系统 183
6.1 存储系统的层次结构 183
6.1.1 技术指标 183
6.1.2 层次结构 183
6.1.3 局部性原理 185
6.2 主存储器 186
6.2.1 读写存储器 186
6.2.2 只读存储器 190
6.2.3 存储器地址译码 193
6.2.4 主存空间分配 198
6.3 高速缓冲存储器 201
6.3.1 工作原理 201
6.3.2 地址映射 204
6.3.3 替换算法 207
6.3.4 写入策略 208
6.3.5 80486的L1 Cache 210
6.3.6 Pentium的L1 Cache 211
6.4 存储管理 212
6.4.1 段式存储管理 212
6.4.2 页式存储管理 214
第6章总结 217
第6章习题 218
第7章 输入输出接口 221
7.1 I/O接口概述 221
7.1.1 I/O接口的典型结构 221
7.1.2 I/O端口的编址 223
7.1.3 输入输出指令 225
7.1.4 16位DOS应用程序 226
7.2 无条件传送和查询传送 230
7.2.1 无条件传送 230
7.2.2 查询传送 233
7.3 中断控制系统 235
7.3.1 中断传送 235
7.3.2 IA-32中断系统 238
7.3.3 内部中断服务程序 241
7.3.4 中断控制器 243
7.3.5 外部中断服务程序 246
7.3.6 驻留中断服务程序 249
7.4 DMA传送 250
7.4.1 DMA传送过程 250
7.4.2 DMA控制器 252
第7章总结 252
第7章习题 253
第8章 常用接口技术 256
8.1 定时控制接口 256
8.1.1 8253/8254定时器 256
8.1.2 定时器的应用 262
8.2 并行接口 264
8.2.1 并行接口电路8255 264
8.2.2 并行接口的应用 270
8.2.3 键盘及其接口 273
8.2.4 数码管及其接口 280
8.3 异步串行通信接口 283
8.3.1 异步串行通信格式 284
8.3.2 异步串行接口标准 285
8.3.3 异步串行通信程序 287
8.4 模拟接口 294
8.4.1 模拟输入输出系统 294
8.4.2 D/A转换器 295
8.4.3 A/D转换器 299
第8章总结 304
第8章习题 304
第9章 处理器性能提高技术 309
9.1 精简指令集计算机技术 309
9.1.1 复杂指令集和精简指令集 309
9.1.2 RISC技术的主要特点 310
9.2 指令流水线技术 311
9.2.1 指令流水线概述 311
9.2.2 80486的指令流水线 314
9.3 浮点数据处理单元 315
9.3.1 实数编码 316
9.3.2 浮点寄存器 319
9.3.3 浮点指令及其编程 322
9.4 多媒体指令 325
9.4.1 MMX技术 326
9.4.2 SSE技术 328
9.4.3 SSE2技术 330
9.4.4 SSE3技术 331
第9章总结 332
第9章习题 333
第10章 并行处理技术 335
10.1 超标量技术 335
10.1.1 并行性概念 335
10.1.2 Pentium的超标量指令流水线 336
10.1.3 Pentium的动态分支预测 337
10.2 动态执行技术 338
10.2.1 指令级并行 339
10.2.2 P6微结构 341
10.3 同时多线程技术 343
10.3.1 Pentium 4的NetBurst微结构 343
10.3.2 Pentium 4的超线程技术 344
10.4 Intel 64技术 345
10.4.1 64位方式的运行环境 346
10.4.2 64位方式的指令 347
10.5 多核技术 348
10.5.1 并行计算机结构分类 349
10.5.2 Intel Core微结构 349
10.5.3 Intel多核技术 349
第10章总结 351
第10章习题 351
附录 输入输出子程序库 354
参考文献 357