第1章 绪论 1
1.1 计算机中数的表示方法 1
1.1.1 进位计数制 1
1.1.2 二进制编码 3
1.1.3 带符号数的表示方法 4
1.2 计算机的基本结构 6
1.2.1 计算机的基本结构 6
1.2.2 计算机软件 8
1.3 微型计算机结构和系统 11
1.3.1 微型计算机基本结构 11
1.3.2 微型计算机系统 16
1.4 微型计算机的发展概况 17
1.4.1 计算机的发展 17
1.4.2 微型计算机的发展 18
第2章 8086 CPU 22
2.1 8086 CPU的内部结构 22
2.1.1 8086 CPU内部结构及工作过程 22
2.1.2 8086 CPU内部寄存器 23
2.2 8086/8088 CPU的引脚功能 27
2.3 8086的存储器组织 31
2.3.1 段地址和偏移地址 31
2.3.2 8086存储器的分体结构 34
2.4 8086的工作模式和总线操作 36
2.4.1 最小模式系统 36
2.4.2 最大模式系统 41
2.4.3 总线操作时序 43
第3章 8086的寻址方式和指令系统 48
3.1 8086的寻址方式 48
3.1.1 立即寻址方式 48
3.1.2 寄存器寻址方式 49
3.1.3 直接寻址方式 49
3.1.4 寄存器间接寻址方式 51
3.1.5 寄存器相对寻址方式 52
3.1.6 基址变址寻址方式 53
3.1.7 相对基址变址寻址方式 53
3.1.8 其它寻址方式 55
3.2 指令的机器码表示方法 56
3.2.1 机器语言指令的编码目的和特点 56
3.2.2 机器语言指令代码的编制 57
3.3 8086的指令系统 61
3.3.1 数据传送指令 61
3.3.2 算术运算指令 69
3.3.3 逻辑运算和移位指令 82
3.3.4 字符串处理指令 87
3.3.5 控制转移指令 92
3.3.6 处理器控制指令 107
第4章 汇编语言程序设计 113
4.1 汇编语言程序格式和伪指令 114
4.1.1 汇编语言程序格式 114
4.1.2 伪指令语句 119
4.1.3 完整的汇编语言程序框架 124
4.2 DOS系统功能调用和BIOS中断调用 128
4.2.1 概述 129
4.2.2 DOS系统功能调用 129
4.2.3 BIOS中断调用 134
4.3 汇编语言程序设计方法与实例 138
4.3.1 顺序结构程序设计 138
4.3.2 分支程序设计 140
4.3.3 循环结构程序 143
4.3.4 代码转换程序 146
4.3.5 过程调用 149
第5章 存储器 155
5.1 存储器分类 155
5.1.1 内部存储器 155
5.1.2 外部存储器 157
5.1.3 存储器的性能指标 160
5.2 随机存取存储器RAM 160
5.2.1 静态RAM(SRAM) 161
5.2.2 动态RAM(DRAM) 162
5.2.3 内存条 166
5.3 只读存储器ROM 169
5.3.1 可编程可擦除ROM(EPROM) 169
5.3.2 电可擦除可编程ROM(EEPROM) 172
5.4 存储器与CPU的连接 176
5.4.1 设计接口应考虑的问题 176
5.4.2 存储器接口设计 177
5.5 高速缓冲存储器 184
5.5.1 高速缓存的原理 184
5.5.2 高速缓存的基本结构 186
5.5.3 主存与Cache的地址映射 187
5.5.4 Cache的基本操作 191
5.5.5 影响Cache性能的因素 193
第6章 I/O接口和并行接口芯片8255A 195
6.1 I/O接口 195
6.1.1 I/O接口的功能 195
6.1.2 I/O端口及其寻址方式 197
6.1.3 CPU与外设间的数据传送方式 199
6.1.4 PC机的I/O地址分配 205
6.2 8255A的工作原理 208
6.2.1 8255A的结构和功能 208
6.2.2 8255A的控制字 210
6.2.3 8255A的工作方式和C口状态字 212
6.3 8255A的应用举例 220
6.3.1 基本输入输出应用举例 220
6.3.2 键盘接口 223
6.3.3 8255A在PC/XT机中的应用 227
第7章 可编程计数器/定时器8253/8254及其应用 232
7.1 8253的工作原理 233
7.1.1 8253的内部结构和引脚信号 233
7.1.2 初始化编程步骤和门控信号的功能 236
7.1.3 8253的工作方式 238
7.2 8253/8254的应用举例 242
7.2.1 8253定时功能的应用举例 242
7.2.2 8253/8254计数功能的应用举例 245
7.2.3 8253在PC/XT机中的应用 249
第8章 中断和可编程中断控制器8259A 254
8.1 中断 254
8.1.1 中断概念和分类 254
8.1.2 中断的响应与处理过程 258
8.2 8259A的工作原理 262
8.2.1 8259A的引脚信号和内部结构 262
8.2.2 8259A的工作方式 264
8.2.3 8259A的命令字及编程 266
8.3 8259A应用举例 273
8.3.1 8259A的级联使用 273
8.3.2 中断向量的设置和中断处理程序设计实例 276
第9章 串行通信和可编程接口芯片8251A 283
9.1 串行通信的基本概念和EIA RS-232C串行口 283
9.1.1 串行通信的基本概念 283
9.1.2 EIA RS-232C串行口 287
9.2 可编程串行通信接口芯片8251A 289
9.2.1 8251A的内部结构和外部引脚 290
9.2.2 8251A的编程 295
9.2.3 8251A应用举例 301
第10章 模数(A/D)和数模(D/A)转换 306
10.1 概述 306
10.1.1 一个实时控制系统 306
10.1.2 采样、量化和编码 307
10.1.3 采样保持器 309
10.2 D/A转换器 311
10.2.1 数/模转换器原理 311
10.2.2 数/模转换器的主要性能指标 312
10.2.3 数/模转换器AD7524、DAC0832和DAC1210 314
10.3 A/D转换 321
10.3.1 模/数转换器原理 321
10.3.2 模/数转换器ADC0809和AD574A 323
第11章 DMA控制器8237A 336
11.1 8237A的组成和工作原理 337
11.1.1 8237A的内部结构 337
11.1.2 8237A的引脚功能 338
11.1.3 8237A的内部寄存器 340
11.2 8237A的时序 348
11.2.1 外设和内存间的DMA数据传送时序 348
11.2.2 空闲周期、有效周期和扩展写周期 349
11.3 8237A的编程和应用举例 350
11.3.1 PC/XT机中的DMA控制逻辑 350
11.3.2 8237A的一般编程方法 352
11.3.3 PC/XT机上的DMA控制器的使用 354
第12章 总线技术 356
12.1 总线概述 356
12.1.1 总线的分类 356
12.1.2 总线的主要性能指标 358
12.1.3 总线标准 358
12.1.4 PC系列总线 359
12.1.5 测控机箱底板总线 360
12.1.6 仪器与计算机互连总线 361
12.2 PCI总线 362
12.2.1 PCI局部总线 362
12.2.2 PCI总线的特点 364
12.2.3 基于PCI总线的计算机系统 364
12.2.4 PCI总线信号 365
12.2.5 PCI总线的应用 366
12.3 PCI Express总线 367
12.3.1 PCI-E1.0 367
12.3.2 PCI-E2.0 368
12.3.3 PCI-E3.0 369
12.3.4 PCI-E的未来 370
12.4 USB总线 371
12.4.1 USB的特点 371
12.4.2 USB规范 371
12.4.3 USB接口规范 372
12.4.4 USB的数据编码 375
12.4.5 USB的传输方式 376
12.4.6 USB包 376
12.4.7 USB设备的枚举 379
12.5 IEEE 1394总线 381
12.5.1 IEEE 1394总线 381
12.5.2 IEEE 1394总线的特点 382
12.5.3 IEEE 1394规范的主要内容 383
第13章 32位微型机的基本工作原理 388
13.1 32位微处理器的结构与工作模式 389
13.1.1 32位微处理器结构简介 389
13.1.2 32位微处理器的工作模式 392
13.2 寄存器 395
13.2.1 用户级寄存器 395
13.2.2 系统级寄存器 398
13.2.3 程序调试寄存器 404
13.3 保护模式下的内存管理 405
13.3.1 段内存管理技术 405
13.3.2 分页内存管理技术 414
13.4 保护模式下的中断和异常 417
13.4.1 中断和异常 417
13.4.2 保护模式下中断和异常的处理 425
13.5 任务切换 429
13.5.1 任务结构和任务切换数据结构 429
13.5.2 任务切换方式 433
13.5.3 任务调用、链接和切换过程 435
第14章 32位机的指令系统和程序设计 440
14.1 80386新增指令和程序设计 440
14.1.1 80386的寻址方式 440
14.1.2 80386的新增指令 442
14.1.3 程序设计实例 448
14.2 浮点数的表示方法和奔腾处理器的SIMD技术 455
14.2.1 浮点数的表示方法 455
14.2.2 奔腾处理器的SIMD技术 459
14.3 SIMD指令系统 462
14.3.1 数据传送指令 463
14.3.2 算术运算指令 470
14.3.3 逻辑运算指令 474
14.3.4 移位指令 474
14.3.5 比较指令 475
14.3.6 数据转换指令 477
14.4 利用SIMD指令进行程序设计 478
第15章 微型计算机系统结构 486
15.1 PC/XT机的系统板 486
15.1.1 CPU子系统 486
15.1.2 接口部件子系统 488
15.1.3 存储器子系统 489
15.2 32位微型机的典型结构 491
15.2.1 主板的组成 491
15.2.2 Pentium Ⅱ主板 493
15.2.3 集成型主板 495
15.3 64位微型机 499
15.3.1 64位处理器 499
15.3.2 64位操作系统 501
15.3.3 915系列芯片组与主板 501
15.4 多核处理器技术 504
15.4.1 双核处理器的诞生 504
15.4.2 Intel智能酷睿多核处理器 505
附录A 8086/8088指令系统一览表 509
附录B ASCII码编码表 513
附录C 汇编语言上机过程 514
参考文献 518