1 微型计算机概述 1
1.1 微机的发展与特点 1
1.1.1 微机的发展历史 1
1.1.2 微机的特点 2
1.2 微机的组成结构与工作过程 2
1.2.1 微机的组成结构 2
1.2.2 微机的工作过程 4
1.3 8086/8088微处理器 7
1.3.1 8086/8088CPU的编程结构 7
1.3.2 存储器组织 10
1.3.3 8086/8088CPU的工作模式与引脚功能 11
1.3.4 系统典型配置 15
1.4 典型时序分析 16
1.4.1 基本概念 16
1.4.2 8086/8088微机系统的基本操作 17
1.4.3 最小模式下的典型时序 17
1.4.4 最大模式下的典型时序 19
习题与思考题 21
本章学习指导 21
2 8086/8088指令系统 23
2.1 8086/8088寻址方式 23
2.2 8086/8088指令系统 26
2.2.1 数据传送指令 27
2.2.2 算术运算指令 31
2.2.3 逻辑运算和移位指令 36
2.2.4 程序控制指令 39
2.2.5 串操作类指令 43
2.2.6 标志处理和CPU控制类指令 46
习题与思考题 46
本章学习指导 48
3 汇编语言程序设计 50
3.1 汇编语言的基本元素 50
3.1.1 汇编语言的语句格式 50
3.1.2 汇编语言的运算符 51
3.1.3 表达式 53
3.1.4 汇编语言程序汇编步骤 54
3.2 伪指令 55
3.2.1 定义数据伪指令 55
3.2.2 符号定义伪指令EQU、PURGE及= 56
3.2.3 段定义伪指令SEGMENT和ENDS 56
3.2.4 段寄存器定义伪指令ASSUME 57
3.2.5 过程定义伪指令PROC和ENDP 57
3.2.6 宏指令 59
3.2.7 定位伪指令ORG 59
3.2.8 汇编结束伪指令END 60
3.3 汇编程序设计 60
3.3.1 顺序程序设计 60
3.3.2 分支程序设计 62
3.3.3 循环程序设计 63
3.3.4 子程序设计 72
3.3.5 MASM与高级语言的接口 75
3.3.6 DOS功能调用 79
习题与思考题 81
本章学习指导 82
4 存储器系统 84
4.1 概述 84
4.1.1 存储器分类 84
4.1.2 存储器系统结构 85
4.2 读写存储器RAM 86
4.2.1 静态RAM 86
4.2.2 动态RAM 88
4.3 只读存储器ROM 91
4.3.1 掩模ROM 91
4.3.2 可编程的ROM 91
4.3.3 可擦除可编程序的ROM 92
4.3.4 电可擦除可编程序的ROM 94
4.3.5 快擦型存储器 95
4.4 存储器芯片扩展及其与CPU的连接 95
4.4.1 存储器芯片与CPU的连接 95
4.4.2 存储器芯片的扩展 96
4.5 高速缓冲存储器Cache 101
4.5.1 主存-Cache层次结构 101
4.5.2 Cache的基本工作原理 102
4.5.3 地址映像 103
4.5.4 替换策略 105
4.5.5 PⅢ中采用的Cache技术 105
4.6 虚拟存储器 106
4.6.1 主存-辅存层次结构 106
4.6.2 虚拟存储器的基本概念 106
4.6.3 页式虚拟存储器 108
4.6.4 段式虚拟存储器 109
4.6.5 段页式虚拟存储器 110
习题与思考题 110
本章学习指导 111
5 定时与计数 113
5.1 概述 113
5.1.1 定时与计数问题的提出 113
5.1.2 端口的概念 113
5.2 可编程定时器/计数器芯片Intel 8253 114
5.2.1 8253的功能与结构 114
5.2.2 8253的初始化编程 116
5.2.3 8253的工作方式 119
5.2.4 8253的应用 122
5.2.5 其它定时/计数芯片 124
习题与思考题 125
本章学习指导 126
6 输入输出控制 128
6.1 输入输出数据的传输控制方式 128
6.1.1 程序方式 128
6.1.2 中断方式 132
6.1.3 DMA(Direct Memory Access)方式 135
6.2 8086/8088的中断操作 137
6.2.1 中断分类与中断类型码 137
6.2.2 中断向量与中断向量表 138
6.2.3 中断响应过程与时序 139
6.3 可编程中断控制器Intel 8259A 141
6.3.1 8259A的结构及主要功能 141
6.3.2 8259A的编程 144
6.3.3 8259A的级联 149
6.3.4 8259A的工作方式小结 151
6.3.5 8259A的应用举例 152
6.4 可编程DMA控制器Intel 8237A 154
6.4.1 8237A的编程结构与主要功能 154
6.4.2 8237A的编程 158
6.4.3 8237A的操作时序 163
6.4.4 DMA33/66/100简介 163
习题与思考题 164
本章学习指导 165
7 串并行通信及其接口技术 168
7.1 CPU与外设之间的数据传输 168
7.1.1 CPU与I/O接口 168
7.1.2 I/O接口与系统的连接 169
7.2 可编程并行接口芯片Intel 8255A 171
7.2.1 并行通信与接口 171
7.2.2 8255A的编程结构 171
7.2.3 8255A的引脚功能 172
7.2.4 8255A的工作方式 173
7.2.5 8255A的初始化编程 177
7.2.6 8255A的应用 179
7.3 可编程串行接口芯片Intel 8251A 185
7.3.1 串行通信基础 185
7.3.2 8251A的基本功能 188
7.3.3 8251A的内部结构 189
7.3.4 8251A的引脚功能 190
7.3.5 8251A的编程 192
7.3.6 8251A应用举例 195
7.4 通用串行接口标准 197
7.4.1 通用串行接口USB 197
7.4.2 1394接口 199
习题与思考题 200
本章学习指导 201
8 总线技术 203
8.1 总线标准与总线传输 203
8.1.1 总线标准与分类 203
8.1.2 总线传输 203
8.2 PC总线 206
8.2.1 ISA工业标准总线 206
8.2.2 EISA扩展的工业标准结构总线 209
8.2.3 VESA总线 210
8.2.4 PCI总线 210
8.2.5 加速图形端口(AGP) 212
8.3 系统总线 213
8.4 通信总线 213
8.4.1 IEEE 488总线 214
8.4.2 RS-232C总线 217
8.4.3 RS-423A/422A/485总线 217
习题与思考题 219
本章学习指导 219
9 D/A、A/D转换与接口技术 220
9.1 D/A转换器的工作原理 220
9.1.1 权电阻网络D/A转换器 220
9.1.2 R-2R T型电阻网络D/A转换器 221
9.1.3 2nR电阻分压式D/A转换器 221
9.1.4 集成化D/A转换器 222
9.2 数/模转换器芯片(DAC)及其接口技术 222
9.2.1 D/A转换器的主要性能参数 222
9.2.2 D/A转换器芯片DAC0832 223
9.2.3 数/模转换器芯片与微处理器接口时需注意的问题 227
9.3 模/数转换芯片(ADC)及其接口技术 229
9.3.1 从物理信号到电信号的转换 229
9.3.2 采样、量化与编码 229
9.3.3 A/D转换器的工作原理 230
9.3.4 A/D转换器的性能参数和术语 231
9.3.5 A/D转换器芯片ADC0809 231
9.3.6 模/数转换器芯片与微处理器接口需注意的问题 236
习题与思考题 239
本章学习指导 239
10 高性能微机技术简介 241
10.1 流水线技术 241
10.1.1 标量流水工作原理 241
10.1.2 超流水线超标量方法 242
10.1.3 超长指令字(VLIW)技术 242
10.1.4 其它相关技术 242
10.2 RISC、SIMD简介 243
10.2.1 RISC简介 243
10.2.2 SIMD技术简介 244
10.3 MMX、SSE、SSE2技术 244
10.3.1 MMX技术 244
10.3.2 SSE技术 246
10.3.3 SSE2技术 249
10.4 操作方式和寄存器 249
10.4.1 操作方式 249
10.4.2 基本执行环境 250
10.4.3 用户级数据结构与寄存器组 252
10.4.4 系统级数据结构与寄存器组 254
10.5 存储管理 264
10.5.1 存储器管理概述 264
10.5.2 物理地址、线性地址与逻辑地址 265
10.5.3 分段技术 266
10.5.4 分页技术 268
10.5.5 物理地址扩展 273
10.6 存储保护 277
10.6.1 段页保护机制 277
10.6.2 段限与类型的保护校验 278
10.6.3 特权级 280
10.6.4 指针验证 281
10.6.5 校验对界 281
10.6.6 页面级保护 282
习题与思考题 283
附录 ASCII(美国标准信息交换码)表 284
参考文献 285