第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 任意两种进位制数之间的转换 7
1.3 二进制数的算术运算和逻辑运算 8
1.3.1 二进制数的算术运算 8
1.3.2 二进制数的逻辑运算 9
1.3.3 移位运算 10
1.4 数据在计算机中的表示形式 11
1.4.1 机器数与真值 11
1.4.2 四种常见的机器数形式 12
1.4.3 数的定点表示与浮点表示 16
1.4.4 二-十进制编码 20
1.4.5 二进制信息的计量单位 21
1.5 数据在计算机中的运算方法 21
1.5.1 定点数加减法运算 21
1.5.2 定点数乘法运算 26
1.5.3 定点数除法运算 29
1.5.4 浮点数的四则运算 33
习题一 36
第2章 计算机的基本结构与工作过程 37
2.1 计算机的基本结构 37
2.1.1 存储程序概念与冯…诺伊曼计算机基本结构 37
2.1.2 计算机的基本组成框图及功能部件简介 38
2.2 计算机的工作过程 42
2.2.1 指令与程序 42
2.2.2 程序的装入与运行 43
2.2.3 计算机的工作过程 44
2.3 控制器基本原理 48
2.3.1 硬布线控制器原理 48
2.3.2 微程序控制器原理 50
2.3.3 一个简单的微程序实例 55
2.4 计算机系统的组成 57
2.4.1 硬件与软件 57
2.4.2 计算机系统的基本组成 57
2.5 微型计算机的分类及主要技术指标 58
2.5.1 微型计算机的分类 58
2.5.2 微型计算机的主要技术指标 59
2.6 微型计算机的基本结构及系统组成 60
2.6.1 微型计算机基本结构 60
2.6.2 微型计算机的系统组成 62
习题二 62
第3章 微处理器的编程结构 63
3.1 微处理器的工作模式 63
3.1.1 实模式 63
3.1.2 保护模式 64
3.1.3 虚拟8086模式 64
3.2 微处理器的编程结构 64
3.2.1 程序可见寄存器 65
3.2.2 80x86/Pentium处理器的寄存器模型 65
3.3 实模式下的存储器寻址 69
3.3.1 实模式下的存储器地址空间 69
3.3.2 存储器分段技术 70
3.3.3 实模式下的存储器寻址 71
3.3.4 堆栈 75
3.4 实模式输入/输出地址空间 76
习题三 77
第4章 寻址方式与指令系统 78
4.1 寻址方式 78
4.1.1 数据寻址方式 78
4.1.2 转移地址寻址方式 85
4.2 指令编码 87
4.2.1 指令编码格式 87
4.2.2 指令编码举例 90
4.3 8086指令系统 91
4.3.1 数据传送指令 91
4.3.2 算术运算指令 96
4.3.3 逻辑运算与移位指令 107
4.3.4 串操作指令 110
4.3.5 转移指令 114
4.3.6 处理器控制指令 121
4.4 80286~Pentium指令系统 122
习题四 122
第5章 汇编语言的基本语法 124
5.1 汇编语言的特点 124
5.2 汇编语言程序结构和基本语法 125
5.2.1 示例程序 125
5.2.2 基本概念 126
5.2.3 指令语句 132
5.2.4 伪指令语句 134
5.2.5 宏指令 142
5.2.6 简化段定义 144
5.3 ROM BIOS中断调用和DOS系统功能调用 145
5.3.1 ROM BIOS中断调用 145
5.3.2 DOS系统功能调用 146
5.4 汇编语言程序的上机调试 146
5.4.1 exe文件的上机过程 147
5.4.2 com文件及其上机过程 154
习题五 155
第6章 汇编语言程序设计及应用 159
6.1 汇编语言程序设计的基本方法 159
6.1.1 程序设计的基本步骤 159
6.1.2 程序的基本结构形式 160
6.1.3 子程序设计 162
6.2 汇编语言的编程应用 164
6.2.1 I/O与通信 165
6.2.2 声音与时钟 165
6.2.3 乐曲程序 167
6.2.4 键盘I/O 171
6.2.5 鼠标器编程 173
6.2.6 图形显示 176
6.3 Windows汇编语言程序设计简介 179
6.3.1 Windows API函数 179
6.3.2 动态链接库 179
6.3.3 指令集选择 180
6.3.4 工作模式选择 180
6.3.5 函数的原型定义 180
6.3.6 Windows应用程序的基本结构框架 181
6.3.7 Win32汇编语言应用程序实例 181
6.3.8 MASM32汇编与连接命令 183
6.4 高级汇编语言技术 183
6.4.1 条件汇编 183
6.4.2 库的使用 184
6.4.3 汇编语言与高级语言的混合编程 184
习题六 189
第7章 微处理器的内部结构及外部功能特性 191
7.1 微处理器的内部结构及相关技术 191
7.1.1 总线接口单元BIU 191
7.1.2 指令Cache与数据Cache 192
7.1.3 超标量流水线结构 192
7.1.4 动态转移预测及转移目标缓冲器BTB 193
7.1.5 指令预取器和预取缓冲器 195
7.1.6 指令译码器 196
7.1.7 执行单元EU 196
7.1.8 浮点处理单元FPU 196
7.1.9 控制单元CU 197
7.2 微处理器的外部功能特性 197
7.2.1 微处理器的外部引脚信号 197
7.2.2 微处理器的总线时序 202
习题七 206
第8章 I/O接口与DMA技术 208
8.1 I/O接口概述 208
8.1.1 I/O接口的基本功能 208
8.1.2 I/O接口的基本结构 209
8.1.3 I/O端口的编址方式 210
8.1.4 I/O接口的地址分配 211
8.1.5 I/O接口的地址译码及片选信号的产生 212
8.1.6 I/O指令 213
8.2 I/O控制方式 213
8.2.1 程序控制方式 213
8.2.2 中断控制方式 215
8.2.3 DMA方式 216
8.3 DMA技术 217
8.3.1 DMA控制器的基本功能 217
8.3.2 DMA控制器的一般结构 218
8.3.3 DMA控制器的工作方式 220
8.3.4 DMA工作过程 220
8.4 可编程DMA控制器8237 221
习题八 222
第9章 中断及中断控制器 223
9.1 基本概念 223
9.1.1 中断 223
9.1.2 中断响应和处理的一般过程 224
9.1.3 中断优先级和中断嵌套 224
9.2 80x86实模式的中断系统 226
9.2.1 中断的分类 226
9.2.2 中断向量表 227
9.2.3 外部中断 229
9.2.4 内部中断 230
9.2.5 中断响应和中断处理过程 231
9.3 可编程中断控制器8259A 235
9.4 中断服务程序设计 235
9.4.1 中断服务程序的一般结构 235
9.4.2 在中断向量表中置入中断向量 236
9.4.3 中断服务程序设计 238
习题九 239
第10章 并行通信及其接口电路 241
10.1 可编程并行接口的组成及工作过程 241
10.1.1 可编程并行接口的组成及其与CPU和外设的连接 241
10.1.2 可编程并行接口的数据输入输出过程 242
10.2 可编程并行接口8255A 242
10.2.1 8255A的性能概要 242
10.2.2 8255A芯片引脚分配及引脚信号说明 243
10.2.3 8255A内部结构框图 244
10.2.4 8255A的控制字 245
10.2.5 8255A的工作方式 247
10.2.6 8255A的状态字 253
10.2.7 8255A应用举例 254
习题十 257
第11章 串行通信及其接口电路 259
11.1 串行通信 259
11.1.1 串行通信的特点 259
11.1.2 串行通信涉及的常用术语和基本概念 259
11.2 串行通信接口标准 264
11.2.1 RS-232C 264
11.2.2 RS-485 265
11.3 可编程串行通信接口8251A 266
11.3.1 USART 266
11.3.2 8251A的基本功能和工作原理 266
11.3.3 8251A对外接口信号 269
11.3.4 8251A的编程 271
11.3.5 8251A应用举例 275
习题十一 278
第12章 可编程定时器/计数器及其应用 279
12.1 概述 279
12.2 可编程计数器/定时器8253 279
12.2.1 8253的主要功能 279
12.2.2 8253的结构框图 280
12.2.3 8253的引脚 282
12.2.4 8253的工作方式 282
12.2.5 8253的初始化编程 288
12.2.6 8253的读出操作 291
12.3 8253的应用 292
习题十二 294
第13章 存储器及其接口 296
13.1 概述 296
13.1.1 存储器的分类 296
13.1.2 存储器的性能指标 297
13.1.3 存储系统的层次结构 297
13.1.4 内存储器的基本结构及其数据组织 299
13.2 半导体存储器的结构及工作原理 301
13.2.1 可读写存储器RAM 302
13.2.2 只读存储器ROM 311
13.3 存储器接口技术 318
13.3.1 存储器接口中的片选控制 318
13.3.2 存储器扩展 320
13.3.3 存储器接口分析与设计举例 321
13.3.4 双端口存储器 324
13.4 高速缓存(Cache) 325
13.4.1 Cache基本原理 325
13.4.2 Cache的组织方式 327
13.4.3 Cache的更新方式及替换算法 328
13.5 虚拟存储器 330
13.5.1 虚拟存储器的工作原理 330
13.5.2 80x86的虚拟存储技术 331
习题十三 333
第14章 总线及总线标准 335
14.1 概述 335
14.1.1 总线 335
14.1.2 总线的分类 335
14.1.3 总线标准 337
14.1.4 总线仲裁 337
14.2 PCI总线 339
14.2.1 概述 339
14.2.2 PCI总线的系统结构及特点 339
14.2.3 PCI总线的引脚信号 341
14.3 USB总线 343
14.3.1 USB概述 343
14.3.2 USB的结构 344
14.3.3 USB协议简介 345
14.4 高速总线接口IEEE 1394 349
14.5 高速图形端口AGP 351
习题十四 352
第15章 80x86/Pentium保护模式原理与结构 353
15.1 保护模式概述 353
15.2 保护模式的主要数据结构 354
15.2.1 段描述符 354
15.2.2 描述符表 354
15.2.3 段选择符 355
15.3 保护模式的存储器管理和地址转换 356
15.3.1 物理地址、线性地址与逻辑地址 357
15.3.2 虚拟地址和虚拟地址空间 357
15.3.3 虚拟地址空间的分段 358
15.3.4 物理地址空间和虚实地址转换 359
15.3.5 段式地址转换 360
15.3.6 页式地址转换 362
15.3.7 转换旁视缓冲器TLB(快表) 366
15.4 多任务和保护 367
15.4.1 保护和特权级 367
15.4.2 保护模式的中断和异常操作 369
15.5 虚拟8086模式 371
习题十五 372
第16章 高性能微处理器的先进技术及典型结构 373
16.1 高性能微处理器所采用的先进技术 373
16.1.1 指令级并行 373
16.1.2 超标量技术 374
16.1.3 超长指令字结构 374
16.1.4 超级流水线技术 375
16.1.5 RISC技术 376
16.2 高性能微处理器举例 377
16.2.1 64位处理器Alpha 21064 377
16.2.2 Itanium(安腾)处理器——IA-64架构的开放硬件平台 379
16.3 多核处理器简介 381
16.3.1 复杂单处理器结构所遇到的挑战 381
16.3.2 多核处理器的出现 382
16.3.3 多核处理器结构的主要特点 383
16.4 现代PC机主板典型结构 383
16.4.1 芯片组、桥芯片及接口插座 384
16.4.2 Pentium PC主板结构 385
16.4.3 PentiumⅢ-1GHz处理器典型主板布局 386
习题十六 387
附录一 DOS功能调用(INT 21H)(节选) 388
附录二 BIOS中断调用(节选) 389
附录三 调试程序DEBUG的使用 390
部分习题参考答案 394
参考文献 408