第1章 数据在计算机中的运算及表示形式 1
1.1 进位记数制 2
1.1.1 进位记数制及其基数和权 2
1.1.2 几种常用的进位记数制 2
1.2 不同进位制数之间的转换 4
1.2.1 二进制数转换为十进制数 4
1.2.2 十进制数转换为二进制数 5
1.3 二进制数的算术运算和逻辑运算 6
1.3.1 二进制数的算术运算 6
1.3.2 二进制数的逻辑运算 8
1.3.3 移位运算 9
1.4 数据在计算机中的表示形式 10
1.4.1 机器数与真值 10
1.4.2 常见的机器数表示形式 11
1.4.3 数的定点表示与浮点表示 16
1.4.4 二-十进制编码 20
1.5 二进制信息的计量单位 21
习题1 22
第2章 计算机的基本结构与工作过程 23
2.1 计算机的基本结构 24
2.1.1 冯·诺依曼计算机基本结构 24
2.1.2 计算机的基本组成框图及功能部件简介 25
2.2 计算机的工作流程 28
2.2.1 指令与程序 28
2.2.2 计算机的基本工作流程 29
2.3 计算机系统的组成 32
2.3.1 硬件与软件 32
2.3.2 计算机系统的基本组成 33
2.4 微型计算机的分类及主要技术指标 33
2.4.1 微型计算机的分类 33
2.4.2 微型计算机的主要技术指标 34
2.5 微型计算机的基本结构及系统组成 35
2.5.1 微型计算机基本结构 36
2.5.2 微型计算机的系统组成 37
习题2 38
第3章 计算机的核心部件——微处理器 39
3.1 微处理器的工作模式 40
3.1.1 实模式 40
3.1.2 保护模式 41
3.1.3 虚拟8086模式 41
3.2 微处理器的编程结构 41
3.2.1 程序可见寄存器 41
3.2.2 80×86/Pentium处理器的寄存器模型 42
3.3 微处理器的寻址机制 47
3.3.1 存储器分段技术 47
3.3.2 实模式下的存储器寻址 48
3.3.3 堆栈 52
3.4 微处理器的内部组成结构及相关技术 53
3.4.1 总线接口单元BIU 54
3.4.2 指令Cache与数据Cache 54
3.4.3 超标量流水线结构 54
3.4.4 动态转移预测及转移目标缓冲器BTB 56
3.4.5 指令预取器和预取缓冲器 58
3.4.6 指令译码器 58
3.4.7 执行单元EU 59
3.4.8 浮点处理单元FPU 59
3.4.9 控制单元CU 60
3.5 微处理器的外部功能特性 60
3.5.1 微处理器的外部引脚信号 60
3.5.2 微处理器的总线时序 66
习题3 70
第4章 寻址方式与指令系统 72
4.1 寻址方式 73
4.1.1 数据寻址方式 73
4.1.2 转移地址寻址方式 80
4.2 指令编码 81
4.2.1 指令编码格式 82
4.2.2 指令编码举例 85
4.3 8086指令系统 86
4.3.1 数据传送指令 86
4.3.2 算术运算指令 92
4.3.3 逻辑运算与移位指令 102
4.3.4 串操作指令 106
4.3.5 转移指令 110
4.3.6 处理器控制指令 117
4.4 80286~Pentium指令系统 118
习题4 118
第5章 汇编语言的基本语法 120
5.1 汇编语言的特点 121
5.2 汇编语言程序结构和基本语法 122
5.2.1 示例程序 122
5.2.2 基本概念 123
5.2.3 指令语句 130
5.2.4 伪指令语句 132
5.2.5 宏指令 140
5.2.6 简化段定义 143
5.3 ROM BIOS中断调用和DOS系统功能调用 144
5.3.1 ROM BIOS中断调用 144
5.3.2 DOS系统功能调用 145
5.4 汇编语言程序的上机调试 146
5.4.1 建立源文件 146
5.4.2 汇编 146
5.4.3 连接 149
5.4.4 运行 150
5.4.5 调试 150
习题5 154
第6章 汇编语言程序设计及应用 157
6.1 汇编语言程序设计的基本方法 158
6.1.1 程序设计的基本步骤 158
6.1.2 程序的基本结构形式 159
6.1.3 子程序设计 161
6.2 汇编语言的编程应用 164
6.2.1 I/O与通信 164
6.2.2 声音与时钟 165
6.2.3 乐曲程序 166
6.2.4 键盘I/O 169
6.2.5 鼠标器编程 171
6.2.6 图形显示 174
6.3 Windows环境下汇编语言程序设计 178
6.3.1 Windows API函数 178
6.3.2 动态链接库 179
6.3.3 指令集选择 179
6.3.4 工作模式选择 179
6.3.5 函数的原型定义 180
6.3.6 Windows应用程序的基本结构框架 180
6.3.7 Win32汇编语言应用程序实例 181
6.3.8 MASM 32汇编与连接命令 182
6.4 汇编语言与高级语言的混合编程 182
6.4.1 内嵌汇编 183
6.4.2 在C程序中直接调用汇编子程序 184
6.4.3 汇编语言程序调用C函数 187
习题6 188
第7章 存储器及其接口 190
7.1 概述 191
7.1.1 存储系统的层次结构 191
7.1.2 内存储器的基本结构及其数据存储格式 193
7.2 半导体存储器的结构及工作原理 195
7.2.1 可读写存储器RAM 195
7.2.2 只读存储器 ROM 205
7.3 存储器接口 213
7.3.1 存储器接口中的片选控制 213
7.3.2 存储器接口分析与设计举例 214
7.3.3 双端口存储器 216
7.4 高速缓存(Cache) 218
7.4.1 Cache基本原理 218
7.4.2 Cache的组织方式 220
7.4.3 Cache的更新方式及替换算法 222
7.5 虚拟存储器 224
7.5.1 虚拟存储器的工作原理 224
7.5.2 80×86的虚拟存储技术 225
习题7 227
第8章 I/O接口技术 229
8.1 I/O接口概述 230
8.1.1 I/O接口的基本功能 230
8.1.2 I/O接口的基本结构 231
8.1.3 I/O端口的编址方式 232
8.1.4 I/O接口的地址译码及片选信号的产生 234
8.1.5 I/O指令 235
8.2 I/O控制方式 235
8.2.1 程序控制方式 235
8.2.2 中断控制方式 236
8.2.3 DMA方式 238
8.3 DMA技术 239
8.3.1 DMA控制器的基本功能 239
8.3.2 DMA控制器的一般结构 240
8.3.3 DMA控制器的工作方式 241
8.3.4 DMA工作过程 242
8.3.5 可编程DMA控制器8237 244
8.4 中断系统 244
8.4.1 基本概念 244
8.4.2 80×86实模式的中断系统 247
8.4.3 可编程中断控制器8259A 254
8.4.4 中断服务程序设计 254
习题8 259
第9章 并行通信及其接口电路 260
9.1 可编程并行接口的组成及工作过程 261
9.1.1 可编程并行接口的组成及其与CPU和外设的连接 261
9.1.2 可编程并行接口的数据输入输出过程 262
9.2 可编程并行接口8255A 262
9.2.1 8255A的性能概要 262
9.2.2 8255A芯片引脚分配及引脚信号说明 263
9.2.3 8255A内部结构框图 264
9.2.4 8255A的控制字 265
9.2.5 8255A的工作方式 267
9.2.6 8255A的状态字 272
9.2.7 8255A应用举例 273
习题9 275
第10章 串行通信及其接口电路 276
10.1 串行通信 277
10.1.1 串行通信的特点 277
10.1.2 串行通信涉及的常用术语和基本概念 277
10.2 串行通信接口标准 283
10.2.1 RS-232C 283
10.2.2 RS-485 284
10.3 可编程串行通信接口8251 A 284
10.3.1 USART 284
10.3.2 8251A的基本功能和工作原理 285
10.3.3 8251A对外接口信号 288
10.3.4 8251A的编程 290
10.3.5 8251A应用举例 294
习题10 297
第11章 计数/定时技术 298
11.1 概述 299
11.2 可编程计数器/定时器8253 299
11.2.1 8253的主要功能 299
11.2.2 8253的结构框图 300
11.2.3 8253的引脚 302
11.2.4 8253的工作方式 303
11.2.5 8253的初始化编程 308
11.2.6 8253的读出操作 311
11.3 8253的应用 312
习题11 315
第12章 总线技术 316
12.1 概述 317
12.1.1 总线 317
12.1.2 总线的分类 317
12.1.3 总线标准 319
12.1.4 总线仲裁 320
12.2 PCI总线 321
12.2.1 概述 321
12.2.2 PCI总线的结构及特点 322
12.3 USB总线 323
12.3.1 USB概述 323
12.3.2 USB的拓扑结构 325
12.3.3 USB线缆及连接器 325
12.4 高速总线接口IEEE 1394 326
12.5 高速图形端口AGP 327
习题12 329
第13章 高性能微处理器的先进技术及典型结构 330
13.1 高性能微处理器所采用的先进技术 331
13.1.1 指令级并行 331
13.1.2 超标量技术 332
13.1.3 超长指令字结构 333
13.1.4 超级流水线技术 333
13.1.5 RISC技术 334
13.2 高性能微处理器举例 336
13.2.1 64位处理器Alpha 21064 336
13.2.2 Itanium处理器——IA-64架构的开放硬件平台 338
13.3 多核处理器简介 341
13.3.1 复杂单处理器结构所遇到的挑战 341
13.3.2 多核处理器的出现 341
13.3.3 多核处理器结构的主要特点 342
13.4 现代PC主板典型结构 343
13.4.1 芯片组、桥芯片及接口插座 343
13.4.2 Pentium PC主板结构 344
13.4.3 Pentium 4 PC主板的I/O组织结构 345
习题13 346
第14章 嵌入式系统与嵌入式处理器 347
14.1 嵌入式系统概述 348
14.1.1 嵌入式系统简介 348
14.1.2 嵌入式系统的组成 348
14.1.3 嵌入式系统的分类 352
14.2 嵌入式处理器 353
14.2.1 ARM系列处理器 353
14.2.2 Intel 8051系列微控制器 357
14.3 ARM体系结构 357
14.3.1 ARM处理器的工作状态 357
14.3.2 ARM处理器的运行模式 358
14.3.3 ARM处理器的内部寄存器 358
14.3.4 ARM处理器的异常处理机制 363
14.4 ARM指令系统 365
14.4.1 ARM指令系统的主要特点 365
14.4.2 ARM指令的基本格式 365
14.4.3 ARM指令的寻址方式 366
14.4.4 ARM指令简介 369
14.4.5 ARM指令系统与Thumb指令系统的比较 376
14.5 ARM汇编语言程序设计 377
14.5.1 ARM伪操作 377
14.5.2 ARM伪指令 380
14.5.3 ARM汇编语言语句格式 382
14.5.4 ARM汇编语言程序结构 382
14.5.5 ARM汇编语言程序设计示例 383
习题14 384
附录A DOS功能调用(INT21 H) 385
附录B BIOS中断调用 391
附录C调试程序DEBUG的使用 397
部分习题参考答案 402
参考文献 415