第1章 微机结构的发展和特点 1
1.1 微处理器发展概述 1
1.2 微机的组成 4
1.2.1 微机系统的组成 4
1.2.2 微机的硬件结构 5
1.3 微处理器结构 6
1.3.1 8086/8088微处理器 6
1.3.2 Pentium微处理器 14
1.3.3 Pentium II微处理器 22
1.3.4 Pentium III微处理器 25
1.3.5 时钟周期、总线周期和指令周期 25
1.4 PC系列微机基本结构 27
1.4.1 PC/XT机的基本结构 27
1.4.2 80386/80486微机的基本结构 29
1.4.3 现代微机的基本结构 30
1.4.4 现代微机发展的特点 33
1.5 Intel 815EP芯片组简介 33
1.5.1 概述 33
1.5.2 82815EP MCH芯片 34
1.5.3 82801BA(ICH2)芯片 37
1.5.4 SIO LPC47B27X芯片 40
习题1 42
第2章 输入/输出与接口技术 43
2.1 I/O接口概述 43
2.1.1 接口 43
2.1.2 I/O设备与I/O接口 43
2.1.3 I/O接口的基本功能 44
2.1.4 I/O接口的组成 45
2.2 输入/输出数据的传输控制方式 47
2.2.1 程序控制方式 47
2.2.2 直接存储器存取方式 49
2.2.3 专用I/O处理机方式 49
2.3 I/O编址 50
2.3.1 I/O统一编址 50
2.3.2 I/O独立编址 51
2.3.3 Intel系列微机I/O编址方式 51
2.4 接口设计与分析基本方法 55
2.4.1 接口硬件设计方法 55
2.4.2 接口软件设计方法 56
2.4.3 x86系列微机接口设计 57
习题2 63
第3章 微机总线与接口标准 65
3.1 总线与接口概述 65
3.1.1 总线和接口及其标准的概念 65
3.1.2 总线的分类 66
3.1.3 总线的主要性能参数 67
3.1.4 总线标准的特性 67
3.1.5 总线操作和总线传送控制 68
3.2 系统总线 69
3.2.1 ISA总线 70
3.2.2 其他系统总线 73
3.3 PCI总线 74
3.3.1 PCI总线的特点 74
3.3.2 PCI信号定义 75
3.3.3 PCI插槽和PCI扩展卡 78
3.3.4 PCI总线命令 80
3.3.5 PCI总线协议 82
3.3.6 PCI总线数据传输过程 86
3.3.7 总线仲裁 88
3.3.8 PCI总线配置 90
3.3.9 PCI BIOS 99
3.3.10 82801BA中的PCI 101
3.4 通用串行总线USB 101
3.4.1 USB系统组成 101
3.4.2 USB系统的接口信号和电气特性 103
3.4.3 USB数据流类型和传输类型 105
3.4.4 USB交换的包格式 106
3.4.5 USB设备状态和总线枚举 108
3.4.6 USB外围芯片及应用 109
3.5 高性能串行总线标准IEEE1394 110
3.5.1 IEEE1394的主要性能特点 110
3.5.2 IEEE1394拓扑结构 110
3.5.3 IEEE1394地址分配 111
3.5.4 IEEE1394的主要技术规范 112
3.5.5 IEEE1394与USB的比较 113
3.6 其他总线和接口 113
3.6.1 SCSI接口标准 113
3.6.2 AGP接口 116
3.6.3 新型总线和I/O技术介绍 118
3.7 PCMCIA总线及扩展卡 120
3.7.1 16位PC卡 121
3.7.2 卡总线(CardBus) 125
3.7.3 卡插架(CardBay) 125
习题3 127
第4章 DMA技术 129
4.1 概述 129
4.1.1 DMA的组成和作用 129
4.1.2 DMA传送的工作过程 130
4.1.3 DMA传送的方式 130
4.2 DMA控制器 131
4.2.1 DMA控制器在系统中的两种工作状态 131
4.2.2 82C37A 的内部结构和引脚功能说明 132
4.2.3 82C37A 的内部寄存器 134
4.2.4 82C37A DMA控制器端口地址 139
4.2.5 软命令 139
4.2.6 DMA控制器的工作时序 140
4.3 DMA编程和应用举例 142
4.3.1 82C37A的初始化编程 142
4.3.2 82C37A 的应用举例 143
习题4 145
第5章 中断技术 147
5.1 中断的概念 147
5.1.1 中断的概念 147
5.1.2 现代微机的中断类型 147
5.1.3 现代微机的中断处理 149
5.2 可编程中断控制器Intel 8259A 151
5.2.1 8259A的引脚和内部结构 151
5.2.2 8259A的初始化编程 160
5.2.3 8259A在现代微机中的应用 161
5.3 实模式下中断处理程序的设计 164
5.4 PCI中断 167
5.4.1 现代微机中对PCI中断的操作 167
5.4.2 PCI中断响应周期 167
5.4.3 PCI中断的共享 168
5.5 高级可编程中断控制子系统APIC 168
5.5.1 APIC子系统的组成 169
5.5.2 82801BA的I/O APIC模块中的寄存器 170
5.5.3 APIC总线功能 172
5.5.4 APIC子系统的工作过程 176
5.6 串行中断 177
习题5 179
第6章 定时与计数技术 181
6.1 概述 181
6.1.1 定时与计数 181
6.1.2 定时方法 181
6.2 可编程定时器/计数器8254 182
6.2.1 8254-2的基本功能 183
6.2.2 8254的内部结构和外部引脚 183
6.2.3 8254的工作方式 186
6.2.4 8254的控制字 190
6.2.5 8254的编程 192
6.3 8254在微机中的应用 195
6.3.1 计数器0——系统计时器 195
6.3.2 计数器1——动态存储器定时刷新控制 196
6.3.3 计数器2——扬声器音频发生器 196
6.4 实时钟电路及其应用 200
6.4.1 MC146818的外部特性和工作原理 200
6.4.2 CMOS-RAM中的实时钟信息 203
6.4.3 实时钟的状态寄存器 204
6.4.4 RT/CMOS RAM操作 205
习题6 206
第7章 并行接口 209
7.1 并行接口概述 209
7.2 可编程并行接口芯片82C55 210
7.2.1 8255的基本功能 210
7.2.2 8255的内部结构和外部引脚 210
7.2.3 8255的工作方式 213
7.2.4 8255的控制字与初始化编程 218
7.2.5 8255应用举例 220
7.3 并行接口标准 222
7.3.1 打印机并行接口 223
7.3.2 IEEE1284标准 227
7.4 打印机接口编程 234
7.4.1 打印机适配器端口直接编程 234
7.4.2 打印机功能调用 237
7.4.3 使用打印机适配器的数据传输 238
习题7 241
第8章 串行接口 243
8.1 串行通信基本概念 243
8.1.1 串行通信 243
8.1.2 数据传送方式 244
8.1.3 波特率和收/发时钟 244
8.1.4 信号调制解调 245
8.1.5 差错控制 246
8.1.6 信道复用 247
8.1.7 串行通信基本方式 248
8.2 串行通信协议 249
8.2.1 异步串行通信协议 249
8.2.2 同步串行通信协议 251
8.3 串行接口标准 254
8.3.1 RS-232C标准 255
8.3.2 RS-449与RS-423/422/485接口 263
8.3.3 几种标准的比较 265
8.4 可编程串行接口芯片8251A 267
8.4.1 基本性能 268
8.4.2 内部结构 269
8.4.3 外部引脚功能 270
8.4.4 8251A的编程 273
8.5 异步通信适配器 275
8.5.1 INS8250外部引脚 276
8.5.2 UART内部结构 277
8.5.3 采用UART的异步通信适配器硬件逻辑 284
8.5.4 INS8250的编程 286
8.5.5 串行通信程序设计 287
习题8 291
第9章 人机交互接口与A/D、D/A转换器接口 293
9.1 PC机键盘接口 293
9.1.1 PC机键盘接口原理 293
9.1.2 键盘与主机之间的通信方式 294
9.2 鼠标器接口 295
9.2.1 鼠标器的分类与工作原理 296
9.2.2 鼠标器的接口 296
9.2.3 鼠标器的驱动程序 297
9.3 显示器与显示卡 298
9.3.1 CRT显示器 299
9.3.2 CRT显示器的主要性能参数 299
9.3.3 显示卡 300
9.3.4 液晶显示器(LCD) 303
9.4 网络接口 307
9.4.1 调制解调器 307
9.4.2 ISDN 309
9.4.3 宽带接入技术 309
9.4.4 82801BA中的LAN控制器 312
9.4.5 通信/网络插槽CNR 314
9.5 AC’97音频和调制解调器控制器 315
9.5.1 AC’97概述 315
9.5.2 AC’97的数字链接AC_link 315
9.5.3 现代微机系统实现AC’97标准的方法 319
9.6 D/A和A/D转换器 319
9.6.1 D/A转换器 320
9.6.2 A/D转换器 327
习题9 334
第10章 PC机的高级编程技术 335
10.1 Pentium II/III保护模式下的内存管理 335
10.1.1 系统地址寄存器 335
10.1.2 段式存储管理 336
10.1.3 Pentium II/III的虚拟页式存储管理 341
10.2 Windows 9x中的虚拟机 345
10.2.1 虚拟机与VxD的引入 345
10.2.2 虚拟机的含义 345
10.2.3 虚拟机环境下的I/O端口访问 347
10.2.4 虚拟机环境下对内存的访问 348
10.2.5 虚拟机环境下对中断或异常的处理 348
10.3 虚拟设备驱动程序(VxD)基础 350
10.3.1 VxD文件的结构 351
10.3.2 VxD 的设备描述符块DDB 351
10.3.3 VxD中的消息 352
10.3.4 VxD的加载与卸载 354
10.3.5 VxD开发工具介绍 356
10.3.6 虚拟环境下的VxD 362
10.4 Windows驱动程序模型(WDM)简介 377
10.4.1 Windows2000驱动程序 377
10.4.2 WDM的基本结构 378
10.4.3 I/O请求包(IRP) 381
10.4.4 即插即用 383
10.4.5 数据读/写 384
10.4.6 驱动程序安装 389
10.4.7 驱动程序开发环境 391
习题10 392
附录AIntel系列处理器指令系统及汇编语言程序设计 393
A.1 Intel系列处理器指令系统 393
A.1.1 寻址方式 394
A.1.2 机器指令格式 397
A.1.3 8086/8088处理器指令系统简介 398
A.1.4 Pentium III处理器指令系统简介 404
A.2 汇编语言程序设计 409
A.2.1 汇编语句的种类和格式 409
A.2.2 常用的汇编语言语句 411
A.2.3 汇编语言程序上机过程 414
A.2.4 DEBUG主要命令 415
主要参考文献 419