第1章 数制和编码 1
1.1 进位计数制 1
1.1.1 进位计数制及其基数和权 1
1.1.2 计算机中常用的几种进位计数制 1
1.2 不同进位制数之间的转换 4
1.2.1 二进制数转换为十进制数 4
1.2.2 十进制数转换为二进制数 4
1.2.3 任意两种进位制数之间的转换 6
1.3 二进制数的算术运算和逻辑运算 7
1.3.1 二进制数的算术运算 7
1.3.2 二进制数的逻辑运算 8
1.4 数在计算机中的表示方法 10
1.4.1 机器数与真值 10
1.4.2 三种常见的机器数形式 10
1.4.3 数的定点表示与浮点表示 15
1.4.4 二-十进制编码 15
1.4.5 二进制信息的计量单位 16
1.5 字符编码 17
习题1 18
第2章 计算机的基本结构与工作过程 20
2.1 计算机的基本结构 20
2.1.1 冯·诺伊曼计算机基本结构 20
2.1.2 计算机的基本组成框图及功能部件简介 21
2.2 计算机的工作流程 24
2.2.1 指令与程序 24
2.2.2 计算机的基本工作流程 25
2.3 计算机系统的组成 27
2.3.1 硬件与软件 27
2.3.2 计算机系统的基本组成 28
2.4 微型计算机的产生和发展 28
2.4.1 世界上第一个微处理器和微型计算机的诞生 28
2.4.2 微型计算机的发展阶段 29
2.5 微型计算机的分类及主要技术指标 31
2.5.1 微型计算机的分类 31
2.5.2 微型计算机的主要技术指标 32
2.6 微型计算机的基本结构及系统组成 33
2.6.1 微型计算机基本结构 33
2.6.2 微型计算机的系统组成 35
2.7 PC机操作系统 35
习题2 37
第3章 微处理器的编程结构 38
3.1 微处理器的工作模式 38
3.1.1 实模式 38
3.1.2 保护模式 39
3.1.3 虚拟8086模式 39
3.1.4 三种工作模式的转换 39
3.2 微处理器的编程结构 39
3.2.1 程序可见寄存器 40
3.2.2 80x86/Pentium处理器的寄存器模型 40
3.3 实模式下的存储器寻址 44
3.3.1 实模式下的存储器地址空间 44
3.3.2 存储器分段技术 45
3.3.3 实模式下的存储器寻址 46
3.3.4 堆栈 50
3.4 实模式I/O地址空间 51
习题3 52
第4章 寻址方式与指令系统 53
4.1 寻址方式 53
4.1.1 数据寻址方式 53
4.1.2 转移地址寻址方式 59
4.2 指令编码 62
4.2.1 指令编码格式 62
4.2.2 指令编码举例 65
4.3 8086指令系统 66
4.3.1 数据传送指令 66
4.3.2 算术运算指令 71
4.3.3 逻辑运算与移位指令 82
4.3.4 串操作指令 85
4.3.5 转移指令 89
4.3.6 处理器控制指令 96
4.4 80286~Pentium指令系统 97
4.4.1 80286增强和扩充的指令 97
4.4.2 80386增强和扩充的指令 99
4.4.3 80486增强和扩充的指令 102
4.4.4 Pentium增强和扩充的指令 102
4.4.5 Pentium Pro增强和扩充的指令 103
4.4.6 Pentium Ⅱ增强和扩充的指令 103
习题4 104
第5章 汇编语言的基本语法 106
5.1 汇编语言的特点 106
5.2 汇编语言程序结构和基本语法 107
5.2.1 示例程序 107
5.2.2 基本概念 108
5.2.3 指令语句 114
5.2.4 伪指令语句 116
5.2.5 结构与记录 123
5.2.6 宏指令 125
5.2.7 简化段定义 129
5.3 ROM BIOS中断调用和DOS系统功能调用 130
5.3.1 ROM BIOS中断调用 130
5.3.2 DOS系统功能调用 131
5.4 汇编语言程序的上机过程 131
5.4.1 .exe文件的上机过程 131
5.4.2 .com文件及其上机过程 139
习题5 141
第6章 汇编语言程序设计及应用 145
6.1 汇编语言程序设计的基本方法 145
6.1.1 程序设计的基本步骤 145
6.1.2 程序的基本结构形式 145
6.1.3 子程序设计 147
6.2 汇编语言的编程应用 150
6.2.1 I/0与通信 150
6.2.2 声音与时钟 151
6.2.3 键盘I/0 152
6.2.4 鼠标器编程 154
6.2.5 图形显示 157
6.2.6 文件操作 161
6.3 Windows汇编语言程序设计简介 165
6.3.1 Windows API函数 165
6.3.2 动态链接库 166
6.3.3 指令集选择 166
6.3.4 工作模式选择 166
6.3.5 函数的原型定义 167
6.3.6 Windows应用程序的基本结构框架 167
6.3.7 Win32汇编语言应用程序实例 168
6.3.8 MASM 32汇编与连接命令 169
6.4 高级汇编语言技术 169
6.4.1 条件汇编 169
6.4.2 库的使用 170
6.4.3 汇编语言与高级语言的混合编程 171
习题6 176
第7章 微处理器的内部组成及外部功能特性 177
7.1 微处理器的内部组成 177
7.1.1 总线接口单元BIU 177
7.1.2 指令Cache与数据Cache 178
7.1.3 超标量流水线结构 178
7.1.4 动态转移预测及转移目标缓冲器BTB 179
7.1.5 指令预取器和预取缓冲器 181
7.1.6 指令译码器 181
7.1.7 执行单元EU 182
7.1.8 浮点处理单元FPU 182
7.1.9 控制单元CU 182
7.2 微处理器的外部功能特性 183
7.2.1 微处理器的外部引脚信号 183
7.2.2 微处理器的总线时序 188
习题7 196
第8章 I/O接口 197
8.1 I/O接口的基本概念 197
8.1.1 I/0接口的基本功能 197
8.1.2 I/0接口的基本结构 198
8.1.3 I/O端口的编址方式 199
8.1.4 I/0接口的地址分配 200
8.1.5 I/O接口的地址译码及片选信号的产生 201
8.1.6 I/0指令 202
8.2 I/O控制方式 202
8.2.1 程序控制方式 202
8.2.2 中断控制方式 204
8.2.3 DMA方式 205
8.3 DMA接口技术 206
8.3.1 DMA控制器的基本功能 206
8.3.2 DMA控制器的一般结构 206
8.3.3 DMA控制器的工作方式 208
8.3.4 DMA工作过程 209
8.4 可编程DMA控制器8237 210
8.4.1 8237的结构 210
8.4.2 8237的引脚 212
8.4.3 8237的工作方式 213
8.4.4 8237的寄存器及有关问题的说明 215
8.4.5 特殊软件命令 219
8.4.6 8237内部寄存器的寻址 219
8.4.7 8237的工作周期与操作时序 220
8.4.8 8237的页面寄存器 222
8.4.9 8237的编程 223
8.4.10 8237应用举例 224
习题8 228
第9章 中断系统 230
9.1 基本概念 230
9.1.1 中断 230
9.1.2 中断响应和处理过程 231
9.1.3 中断优先级和中断嵌套 231
9.2 80x86实模式的中断系统 233
9.2.1 中断的分类 233
9.2.2 中断向量表 234
9.2.3 外部中断 236
9.2.4 内部中断 238
9.2.5 中断响应和中断处理过程 240
9.3 可编程中断控制器8259A 243
9.3.1 8259A的引脚功能 244
9.3.2 8259A的内部结构 244
9.3.3 8259A的工作过程 245
9.3.4 8259A的工作方式 246
9.3.5 8259A的级联使用 248
9.3.6 8259A的控制字及编程使用 249
9.3.7 8259A应用举例 254
9.4 中断服务程序设计 255
9.4.1 中断服务程序的一般结构 255
9.4.2 在中断向量表中置入中断向量 256
9.4.3 中断服务程序设计 258
习题9 260
第10章 并行通信及其接口电路 262
10.1 简单的并行接口电路 262
10.1.1 锁存器74LS373 262
10.1.2 缓冲器74LS244 263
10.1.3 数据总线收发器74LS245 264
10.1.4 应用举例 265
10.2 可编程并行接口 267
10.2.1 可编程并行接口的组成及其与CPU和外设的连接 267
10.2.2 可编程并行接口的数据输入输出过程 267
10.3 可编程并行通信接口8255A 268
10.3.1 8255A的性能概要 268
10.3.2 8255A芯片引脚分配及引脚信号说明 268
10.3.3 8255A内部结构方块图 270
10.3.4 8255A的控制字 271
10.3.5 8255A的工作方式 272
10.3.6 8255A的状态字 278
10.3.7 8255A应用举例 279
习题10 285
第11章 串行通信及其接口电路 287
11.1 串行通信 287
11.1.1 串行通信的特点 287
11.1.2 串行通信涉及的常用术语和基本概念 288
11.2 串行通信接口标准 293
11.2.1 RS-232C 293
11.2.2 RS-449、RS-423A及RS-422A 298
11.2.3 RS-485标准 299
11.2.4 20mA电流环串行接口 299
11.3 串行接口的基本结构与功能 301
11.3.1 串行异步接口的基本结构与功能 301
11.3.2 串行同步接口的基本结构与功能 302
11.4 可编程串行通信接口片8251A 303
11.4.1 USART 303
11.4.2 8251A的基本的功能和工作原理 304
11.4.3 8251A对外接口信号 306
11.4.4 8251A的编程 309
11.4.5 8251A应用举例 313
习题11 317
第12章 计数/定时技术 318
12.1 概述 318
12.2 可编程计数器/定时器8253 318
12.2.1 8253的主要功能 318
12.2.2 8253的结构框图 319
12.2.3 8253的引脚 321
12.2.4 8253的工作方式 321
12.2.5 8253的初始化编程 326
12.2.6 8253的读出操作 330
12.3 8253的应用 331
习题12 335
第13章 存储器及其接口 336
13.1 概述 336
13.1.1 存储器的分类 336
13.1.2 存储器的性能指标 337
13.1.3 存储系统的层次结构 337
13.1.4 内存储器的基本结构及其数据组织 339
13.2 半导体存储器及其典型芯片 341
13.2.1 可读写存储器RAM 342
13.2.2 只读存储器ROM 355
13.3 存储器接口技术 364
13.3.1 存储器与CPU连接时应考虑的问题 364
13.3.2 存储器接口中的片选控制 365
13.3.3 存储器扩展 368
13.3.4 存储器接口分析与设计举例 370
13.3.5 16位、32位、64位存储器接口 372
13.4 PC机的存储器 374
13.4.1 内存条 374
13.4.2 PC机的内存空间分布 376
13.4.3 PC机内存类型及管理 377
13.5 高速缓存(Cache)技术 378
13.5.1 Cache基本原理 378
13.5.2 Cache的组织方式 380
13.5.3 Cache控制器82385 381
13.5.4 Cache的更新方式及替换算法 384
13.6 虚拟存储技术 386
13.6.1 虚拟存储器的工作原理 386
13.6.2 80x86微机系统中的虚拟存储技术 388
习题13 389
第14章 模拟接口 392
14.1 模拟接口概述 392
14.2 D/A转换器 393
14.2.1 D/A转换器的工作原理 393
14.2.2 D/A转换器的主要技术指标 396
14.2.3 D/A转换器芯片 397
14.2.4 D/A转换器芯片与微处理器的接口 399
14.2.5 D/A转换器的应用 400
14.3 A/D转换器 401
14.3.1 基本概念 401
14.3.2 A/D转换器的工作原理 403
14.3.3 A/D转换器的主要技术指标 404
14.3.4 A/D转换器芯片 404
14.3.5 A/D转换器芯片与微处理器的接口 406
习题14 408
第15章 总线技术 411
15.1 概述 411
15.1.1 总线 411
15.1.2 总线的分类 411
15.1.3 总线标准 413
15.1.4 总线仲裁 413
15.2 PCI总线 415
15.2.1 概述 415
15.2.2 PCI总线的系统结构及特点 415
15.2.3 PCI总线的引脚信号 417
15.3 USB总线 420
15.3.1 USB概述 420
15.3.2 USB的结构 421
15.3.3 USB协议简介 422
15.4 高速总线接口IEEE1394 426
15.5 高速图形端口AGP 427
习题15 429
第16章 80x86/Pentium保护模式的软件体系结构 430
16.1 保护模式概述 430
16.2 保护模式的主要数据结构 431
16.2.1 段描述符 431
16.2.2 描述符表 431
16.2.3 段选择符 432
16.3 保护模式的寄存器模型 433
16.3.1 全局描述符表寄存器 434
16.3.2 中断描述符表寄存器 436
16.3.3 局部描述符表寄存器 437
16.3.4 控制寄存器 438
16.3.5 任务寄存器 438
16.3.6 改变功能的寄存器 439
16.4 保护模式的存储器管理和地址转换 440
16.4.1 物理地址、线性地址与逻辑地址 440
16.4.2 虚拟地址和虚拟地址空间 441
16.4.3 虚拟地址空间的分段 441
16.4.4 物理地址空间和虚实地址转换 443
16.4.5 段式地址转换 443
16.4.6 页式地址转换 446
16.4.7 转换检测缓冲器TLB 449
16.5 描述符的格式及功能定义 450
16.5.1 非系统段描述符 450
16.5.2 系统段描述符 452
16.6 保护模式的系统控制指令集 454
16.7 多任务和保护 456
16.7.1 保护和特权级 457
16.7.2 任务切换和任务状态段 459
16.7.3 保护模式的中断和异常操作 463
16.7.4 保护模式的I/0保护 464
16.8 虚拟8086模式 466
习题16 467
第17章 高性能微处理器的先进技术及典型结构 469
17.1 引言—计算需求永无止境 469
17.2 高性能微处理器所采用的先进技术 469
17.2.1 流水线中的“相关”及其处理技术 469
17.2.2 指令级并行 472
17.2.3 超标量技术 473
17.2.4 超长指令字结构 474
17.2.5 超级流水线技术 474
17.2.6 RISC技术 475
17.3 指令系统对多媒体应用的支持 477
17.3.1 多媒体计算机的产生背景 477
17.3.2 多媒体扩展指令集(MMX) 477
17.3.3 SSE和SSE2技术 483
17.4 高性能微处理器举例 483
17.4.1 P6处理器核心结构 483
17.4.2 64位处理器Alpha 21064 485
17.4.3 Itanium处理器—IA-64架构的开放硬件平台 487
17.5 多核处理器简介 490
17.5.1 复杂单处理器结构所遇到的挑战 490
17.5.2 多核处理器时代的到来 490
17.5.3 多核处理器结构的主要特点 491
17.6 现代PC机主板典型结构 491
17.6.1 芯片组、桥芯片及接口插座 492
17.6.2 PentiumPC主板结构 493
17.6.3 PentiumIII-1GHz处理器典型主板布局 494
习题17 495
附录A 8086/8088指令系统 497
附录B 8086/8088指令编码格式 505
附录C DOS功能调用(INT21H) 510
附录D BIOS中断调用 515
附录E 调试程序DEBUG的使用 519
部分习题参考答案 524
参考文献 543