目录 1
第一章 概述 1
1.1 80386 CPU 2
1.1.1 80386 CPU的内部结构 2
1.1.2 80386 CPU的内部寄存器 4
1.2 协处理器80387 6
1.2.1 80387的内部寄存器 6
1.2.2 80386和80387 8
1.3 80486 CPU 8
1.3.1 80486 CPU的特点 8
1.3.2 80486 CPU的内部结构和内部寄存器 12
1.4 标志寄存器 12
1.5 控制寄存器 14
1.6 工作模式 17
第二章 存储器管理功能 19
2.1 虚拟存储器和物理存储器 19
2.2 描述符表 22
2.2.1 描述符表的种类 22
2.2.2 描述符 24
2.3 段选择器和描述符表 32
2.3.1 段寄存器的选择器 32
2.3.2 描述符表的定义 40
2.4 进入保护模式的编程举例 42
2.4.1 在保护模式下访问VRAM的程序 43
2.4.2 保护模式的存储器作为数据区使用的程序 49
2.5 别名(ALIAS) 58
3.1.1 修改段寄存器时的保护 61
3.1 存储器的保护功能 61
第三章 保护功能 61
3.1.2 对虚拟地址进行变换时的保护 63
3.2 特权级的保护功能 67
3.2.1 操作系统(OS)和应用程序 67
3.2.2 修改DS、ES、FS和GS时的保护功能 70
3.2.3 修改SS时的保护功能 71
3.2.4 修改CS时的保护功能 72
3.2.5 特权级保护例外的代码段 77
第四章 中断和异常中断的处理 79
4.1 中断和异常中断 79
4.1.1 中断的种类 79
4.1.2 中断描述符表IDT 81
4.2.1 通过中断门和陷阱门的中断处理 82
4.2 保护模式下的中断处理 82
4.2.2 错误代码 85
4.2.3 特权级保护 86
4.2.4 通过任务门的中断处理 87
4.3 中断向量的分配 89
4.4 中断控制器8259A 95
4.4.1 8259A的逻辑功能 95
4.4.2 8259A的编程 96
4.4.3 中断的响应过程 102
第五章 多任务/多用户系统 104
5.1 多任务系统 105
5.1.1 多道程序 105
5.1.2 LDT和GDT 107
5.2.2 任务及其TSS 109
5.2.1 任务及其LDT 109
5.2 任务及任务的描述符 109
5.2.3 系统地址寄存器 112
5.3 任务转换 112
5.3.1 任务的设置 112
5.3.2 任务转换的过程 114
5.3.3 任务转换的方法 115
5.3.4 任务门 117
5.3.5 任务转换时的B位、NT位和反向链的变化 118
5.3.6 IRET/IRETD指令 119
5.3.7 任务转换时的特权级保护 120
5.3.8 描述符表的项目分类 121
6.1 具有保护功能的指令 123
6.1.1 ARPL指令 123
第六章 80386/80486的指令 123
6.1.2 对系统表进行操作的指令 125
6.1.3 VERR和VERW指令 126
6.1.4 LAR和LSL指令 127
6.1.5 只有在特权级0才可以执行的指令 127
6.1.6 和IOPL有关的指令 128
6.2 新增加的指令 130
6.2.1 ENTER和LEAVE指令 131
6.2.2 ENTER指令的算法 133
6.3 其它指令 134
6.3.1 CALL,JMP和中断指令 134
6.3.2 由保护模式向实模式转移的步骤 137
6.3.3 ASM386和ASM86的不同点 138
6.3.4 指令与标志的关系 139
7.1 P位和A位 142
第七章 页 142
7.2 线性地址 143
7.2.1 线性地址与物理地址的关系 143
7.2.2 从线性地址变换为物理地址的例子 145
7.3 目录项和页表项 147
7.3.1 目录项 147
7.3.2 页表项 147
7.4 页的保护功能 148
7.5 TLB 150
7.5.1 TLB的功能 150
7.5.2 TLB的测试 152
第八章 80286的软件和虚拟8086模式 154
8.1 80286的软件和80386 154
8.1.1 兼容性 154
8.1.2 16位模块和32位模块 155
8.1.3 16位代码和32位代码的共存 157
8.1.4 通过门的控制转移 159
8.2 8086的软件和80386 161
8.2.1 80386的实模式 161
8.2.2 虚拟86模式 162
8.2.3 保护模式和虚拟86模式之间的转换 163
8.2.4 虚拟86模式下的中断和页功能 165
8.2.5 8086和80386的OS 167
第九章 调试寄存器和描述符中的D位 169
9.1 调试寄存器 169
9.1.1 线性地址调试寄存器(DR0~DR3) 169
9.1.2 指定断点条件的调试寄存器DR7 170
9.1.3 断点状态调试寄存器DR6 171
9.2 指令的断点和RF标志 172
9.3 描述符中的D位 173
9.3.1 堆栈段描述符中的D位 173
9.3.2 代码段描述符中的D位 173
9.3.3 确定操作数大小的前缀指令66H 174
9.4 系统的初始化 175
9.4.1 CPU复位后的初始状态 175
9.4.2 向保护模式的转移 178
第十章 80387和80287数学协处理器 180
10.1 80387和80287的特性 180
10.2 协处理器的体系结构和初始化 182
10.3 协处理器的实模式和保护模式 187
10.3.1 80287的硬件特性 187
10.3.2 80387的硬件特性 188
10.4 80387/80287协处理器的指令系统 192
10.5 对协处理器的编程举例 195
10.5.1 整数的编程 195
10.5.2 实数的编程 197
10.6 数据格式的转换 199
10.6.1 短实数的转换 199
10.6.2 长实数的转换 201
10.6.3 临时实数的转换 202
10.6.4 转换科学格式的数为IEEE编码实数格式 203
第十一章 80386DX CPU微机系统的硬件结构 205
11.1 80386 CPU的外部特性 205
11.1.1 80386 CPU的引脚及其功能 205
11.1.2 80386的总线周期 208
11.2 DRAM芯片和SIMM(单列直插存储器模块) 212
11.2.1 DRAM芯片的存取方式 213
11.2.2 DRAM芯片的刷新操作和DRAM控制器 218
11.2.3 SIMM(单列直插存储器模块) 227
11.3 SRAM和CACHE(高速缓冲存储器) 233
11.3.1 SRAM(静态随机访问的存储器) 233
11.3.2 高速缓冲存储器(CACHE) 234
11.4 高集成度的外围芯片 249
11.4.1 82380的特点 249
11.4.2 82380的体系结构 250
11.5 T W 386DX微机系统 261
11.5.1 数据总线和地址总线的形成 262
11.5.2 系统存储器的构成 278
11.5.3 外围集成芯片82C206 278
11.5.4 键盘接口处理器8042 293
第十二章 标准总线的体系结构 297
12.1 标准总线 298
12.2 ISA(PC AT)总线 302
12.2.1 总线周期 304
12.2.2 ISA总线信号的特性和功能 306
12.2.3 PC/AT兼容机系统(ISA系统)中的口地址分配 311
12.3 EISA总线 312
12.3.1 EISA总线使用的芯片系列 313
12.3.2 EISA系统板上的I/O外围电路 316
12.3.3 总线判优 320
12.3.4 自动系统配置(Automatic System Configuration) 323
12.3.5 插槽专用(Slot Specific)I/O地址和系统I/O地址的分配 325
12.3.6 EISA的周期 326
12.3.7 EISA总线信号 329
12.4.1 MCA的连接器 351
12.4 MCA 351
12.4.2 MCA信号的功能 353
第十三章 系统存储器空间的分配及使用 360
13.1 概述 360
13.1.1 IBM PC和PC/XT机存储器空间的分配和扩充 360
13.1.2 IBM PC/AT机存储器空间的分配和扩充 363
13.2 EMS存储器 365
13.2.1 EMS存储器的构成 365
13.2.2 EMM的编程方法 367
13.3 通过BIOS的INT 15H对扩展存储器的访问 402
13.4 XMS存储器 406
13.5 VCPI 418
13.6 DPMI 426
14.1.1 486DX CPU 434
第十四章 486系列CPU 434
14.1 486系列CPU的种类 434
14.1.2 486SX CPU 438
14.1.3 487SX MCP 438
14.1.4 486DX2 CPU 440
14.1.5 486SX CPU使用的ODP 441
14.1.6 486DX CPU使用的ODP 441
14.1.7 486DX2 CPU使用的ODP 442
14.1.8 486SL CPU 442
14.2 引脚的兼容性 443
14.2.1 低功耗产品和标准产品中的486SX/DX CPU和487SX MCP 454
14.2.2 升级插座电路 456
14.3.1 I/O口的恢复时间 458
14.3.2 处理器的ID 458
14.3 关于软件方面的几个问题 458
14.3.3 处理器类型的检查 460
14.4 486SLC/DLC 460
14.4.1 软件上为486而硬件上为386的CPU 460
14.4.2 486SLC/DLC 中新增加的信号 461
14.4.3 新增加的寄存器及其兼容性 465
14.4.4 CACHE的冲刷 469
第十五章 外围接口控制电路 472
15.1 显示器适配器卡 472
15.1.1 与显示器性能有关的几个问题 472
15.1.2 显示器适配器卡的种类 477
15.1.3 监视器 487
15.2.1 TVGA的电路组成 489
15.2 TVGA 489
15.2.2 TVGA的寄存器 492
15.3 多功能适配器卡 506
15.3.1 硬盘驱动器接口电路 506
15.3.2 多功能适配器卡电路 520
第十六章 微机系统的故障检测及维修 534
16.1 概述 534
16.1.1 微机系统的发展 534
16.1.2 系统维修的思路 537
16.2 系统板的维修 539
16.2.1 基本检测 539
16.2.2 音响和文本出错提示信息 543
16.3 外围控制电路的维修 547
16.3.1 磁盘的维修 547
16.3.2 TVGA卡的维修 558