第1章 数在计算机中的运算及表示形式 1
1.1 进位记数制 1
1.1.1 进位记数制及其基数和权 1
1.1.2 几种常用的进位记数制 1
1.2 不同进位制数之间的转换 3
1.2.1 二进制数转换为十进制数 3
1.2.2 十进制数转换为二进制数 3
1.2.3 任意两种进位制数之间的转换 5
1.3 二进制数的算术运算和逻辑运算 6
1.3.1 二进制数的算术运算 6
1.3.2 二进制数的逻辑运算 7
1.3.3 移位运算 8
1.4 数在计算机中的表示形式 9
1.4.1 机器数与真值 9
1.4.2 常见的机器数表示形式 10
1.4.3 数的定点表示与浮点表示 14
1.4.4 二-十进制编码 18
1.5 二进制信息的计量单位 19
习题1 19
第2章 计算机的基本结构与工作过程 21
2.1 计算机的基本结构 21
2.1.1 冯·诺依曼计算机基本结构 21
2.1.2 计算机的基本组成框图及功能部件简介 22
2.2 计算机的工作流程 25
2.2.1 指令与程序 25
2.2.2 计算机的基本工作流程 26
2.3 计算机系统的组成 28
2.3.1 硬件与软件 28
2.3.2 计算机系统的基本组成 29
2.4 微型计算机的分类及主要技术指标 29
2.4.1 微型计算机的分类 29
2.4.2 微型计算机的主要技术指标 30
2.5 微型计算机的基本结构及系统组成 31
2.5.1 微型计算机基本结构 31
2.5.2 微型计算机的系统组成 33
习题2 33
第3章 微处理器的工作模式与编程结构 34
3.1 微处理器的工作模式 34
3.1.1 实模式 34
3.1.2 保护模式 34
3.1.3 虚拟8086模式 35
3.2 微处理器的编程结构 35
3.2.1 程序可见寄存器 35
3.2.2 80x86/Pentium处理器的寄存器模型 35
3.3 微处理器的寻址机制 40
3.3.1 存储器分段技术 40
3.3.2 实模式下的存储器寻址 41
3.3.3 堆栈 45
习题3 46
第4章 寻址方式与指令系统 47
4.1 寻址方式 47
4.1.1 数据寻址方式 47
4.1.2 转移地址寻址方式 52
4.2 指令编码 54
4.2.1 指令编码格式 54
4.2.2 指令编码举例 57
4.3 8086指令系统 58
4.3.1 数据传送指令 58
4.3.2 算术运算指令 64
4.3.3 逻辑运算与移位指令 73
4.3.4 串操作指令 77
4.3.5 转移指令 80
4.3.6 处理器控制指令 87
4.4 80286~Pentium指令系统 88
习题4 88
第5章 汇编语言的基本语法 90
5.1 汇编语言的特点 90
5.2 汇编语言程序结构和基本语法 91
5.2.1 示例程序 91
5.2.2 基本概念 92
5.2.3 指令语句 98
5.2.4 伪指令语句 101
5.2.5 宏指令 107
5.2.6 简化段定义 110
5.3 ROM BIOS中断调用和DOS系统功能调用 111
5.3.1 ROM BIOS中断调用 111
5.3.2 DOS系统功能调用 112
5.4 汇编语言程序的上机调试 112
5.4.1 建立源文件 113
5.4.2 汇编 113
5.4.3 连接 116
5.4.4 运行 117
5.4.5 调试 117
习题5 120
第6章 汇编语言程序设计及应用 123
6.1 汇编语言程序设计的基本方法 123
6.1.1 程序设计的基本步骤 123
6.1.2 程序的基本结构形式 123
6.1.3 子程序设计 126
6.2 汇编语言的编程应用 128
6.2.1 I/O与通信 128
6.2.2 声音与时钟 129
6.2.3 乐曲程序 130
6.2.4 键盘I/O 133
6.2.5 鼠标器编程 135
6.2.6 图形显示 138
6.3 Windows环境下汇编语言程序设计 142
6.3.1 Windows API函数 142
6.3.2 动态链接库 142
6.3.3 指令集选择 143
6.3.4 工作模式选择 143
6.3.5 函数的原型定义 143
6.3.6 Windows应用程序的基本结构框架 144
6.3.7 Win32汇编语言应用程序实例 144
6.3.8 MASM 32汇编与连接命令 145
6.4 汇编语言与高级语言的混合编程 146
6.4.1 内嵌汇编 146
6.4.2 在C程序中直接调用汇编子程序 148
6.4.3 汇编语言程序调用C函数 151
习题6 151
第7章 微处理器的内部结构及外部功能特性 153
7.1 微处理器的内部结构及相关技术 153
7.1.1 总线接口单元BIU 153
7.1.2 指令Cache与数据Cache 154
7.1.3 超标量流水线结构 154
7.1.4 动态转移预测及转移目标缓冲器BTB 155
7.1.5 指令预取器和预取缓冲器 157
7.1.6 指令译码器 158
7.1.7 执行单元EU 158
7.1.8 浮点处理单元FPU 158
7.1.9 控制单元CU 159
7.2 微处理器的外部功能特性 159
7.2.1 微处理器的外部引脚信号 159
7.2.2 微处理器的总线时序 165
习题7 168
第8章 存储器及其接口 170
8.1 概述 170
8.1.1 存储器的分类 170
8.1.2 存储器的性能指标 171
8.1.3 存储系统的层次结构 171
8.1.4 内存储器的基本结构及其数据存储格式 173
8.2 半导体存储器的结构及工作原理 175
8.2.1 可读写存储器RAM 175
8.2.2 只读存储器ROM 184
8.3 存储器接口 190
8.3.1 存储器与CPU连接时应考虑的问题 190
8.3.2 存储器接口中的片选控制 191
8.3.3 存储器扩展 192
8.3.4 存储器接口分析与设计举例 194
8.3.5 双端口存储器 196
8.4 高速缓存 196
8.4.1 Cache基本原理 196
8.4.2 Cache的组织方式 198
8.4.3 Cache的更新方式及替换算法 200
8.5 虚拟存储器 202
8.5.1 虚拟存储器的工作原理 202
8.5.2 80x86的虚拟存储技术 203
习题8 204
第9章 I/O接口技术 206
9.1 I/O接口概述 206
9.1.1 I/O接口的基本功能 206
9.1.2 I/O接口的基本结构 207
9.1.3 I/O端口的编址方式 207
9.1.4 I/O接口的地址译码及片选信号的产生 209
9.1.5 I/O指令 210
9.2 I/O控制方式 210
9.2.1 程序控制方式 210
9.2.2 中断控制方式 211
9.2.3 DMA方式 212
9.3 DMA技术 213
9.3.1 DMA控制器的基本功能 213
9.3.2 DMA控制器的一般结构 214
9.3.3 DMA控制器的工作方式 215
9.3.4 DMA工作过程 216
9.3.5 可编程DMA控制器8237 217
9.4 中断系统 217
9.4.1 基本概念 218
9.4.2 80x86实模式的中断系统 220
9.4.3 可编程中断控制器8259A 226
9.4.4 中断服务程序设计 226
习题9 231
第10章 并行通信及其接口电路 232
10.1 可编程并行接口的组成及工作过程 232
10.1.1 可编程并行接口的组成及其与CPU和外设的连接 232
10.1.2 可编程并行接口的数据输入输出过程 233
10.2 可编程并行接口8255A 233
10.2.1 8255A的性能概要 233
10.2.2 8255A芯片引脚分配及引脚信号说明 234
10.2.3 8255A内部结构框图 235
10.2.4 8255A的控制字 236
10.2.5 8255A的工作方式 237
10.2.6 8255A的状态字 242
10.2.7 8255A应用举例 243
习题10 244
第11章 串行通信及其接口电路 246
11.1 串行通信 246
11.1.1 串行通信的特点 246
11.1.2 串行通信涉及的常用术语和基本概念 246
11.2 串行通信接口标准 251
11.2.1 RS-232C 251
11.2.2 RS-485 252
11.3 可编程串行通信接口8251A 252
11.3.1 USART 252
11.3.2 8251A的基本功能和工作原理 253
11.3.3 8251A对外接口信号 255
11.3.4 8251A的编程 258
11.3.5 8251A应用举例 261
习题11 263
第12章 计数/定时技术 265
12.1 概述 265
12.2 可编程计数器/定时器8253 265
12.2.1 8253的主要功能 265
12.2.2 8253的结构框图 266
12.2.3 8253的引脚 267
12.2.4 8253的工作方式 268
12.2.5 8253的初始化编程 273
12.2.6 8253的读出操作 276
12.3 8253的应用 277
习题12 279
第13章 模拟接口 281
13.1 模拟接口概述 281
13.2 D/A转换器 282
13.2.1 D/A转换器的工作原理 282
13.2.2 D/A转换器的主要技术指标 285
13.2.3 D/A转换器芯片 286
13.2.4 D/A转换器芯片与微处理器的接口 288
13.2.5 D/A转换器的应用 289
13.3 A/D转换器 290
13.3.1 基本概念 290
13.3.2 A/D转换器的工作原理 292
13.3.3 A/D转换器的主要技术指标 293
13.3.4 A/D转换器芯片 293
13.3.5 A/D转换器芯片与微处理器的接口 295
习题13 297
第14章 总线技术 299
14.1 概述 299
14.1.1 总线 299
14.1.2 总线的分类 299
14.1.3 总线标准 301
14.1.4 总线仲裁 301
14.2 PCI总线 303
14.2.1 概述 303
14.2.2 PCI总线的结构及特点 303
14.3 USB总线 305
14.3.1 USB概述 305
14.3.2 USB的拓扑结构 306
14.3.3 USB线缆及连接器 306
14.4 高速总线接口IEEE 1394 307
14.5 CAN总线 308
14.5.1 CAN总线概述 308
14.5.2 CAN总线特性 308
14.5.3 CAN总线的相关概念和技术 309
14.5.4 CAN通信协议的帧结构 310
14.5.5 CAN总线位的数值表示 313
14.5.6 CAN总线传输距离与传输速率的关系 313
14.5.7 CAN总线的应用环境 314
习题14 315
第15章 高性能微处理器的先进技术及典型结构 316
15.1 高性能微处理器所采用的先进技术 316
15.1.1 指令级并行 316
15.1.2 超标量技术 317
15.1.3 超长指令字结构 318
15.1.4 超级流水线技术 318
15.1.5 RISC技术 319
15.2 高性能微处理器举例 320
15.2.1 64位处理器Alpha 21064 320
15.2.2 Itanium处理器—IA-64架构的开放硬件平台 322
15.3 多核处理器简介 325
15.3.1 复杂单处理器结构所遇到的挑战 325
15.3.2 多核处理器的出现 325
15.3.3 多核处理器结构的主要特点 326
15.4 现代PC主板典型结构 327
15.4.1 芯片组、桥芯片及接口插座 327
15.4.2 Pentium PC主板结构 328
15.4.3 Pentium 4 PC主板的I/O组织结构 329
习题15 330
第16章 嵌入式系统与嵌入式处理器 331
16.1 嵌入式系统概述 331
16.1.1 嵌入式系统简介 331
16.1.2 嵌入式系统的组成 331
16.1.3 嵌入式系统的分类 334
16.2 嵌入式处理器 335
16.2.1 ARM系列处理器 335
16.2.2 Intel 8051系列微控制器 338
16.3 ARM体系结构 339
16.3.1 ARM处理器的工作状态 339
16.3.2 ARM处理器的运行模式 339
16.3.3 ARM处理器的异常处理机制 340
16.4 ARM指令系统 342
16.4.1 ARM指令系统的主要特点 342
16.4.2 ARM指令的基本格式 342
习题16 342
附录A DOS功能调用(INT 21H)(节选) 343
附录B BIOS中断调用(节选) 344
附录C 调试程序DEBUG的使用 345
部分习题参考答案 350
参考文献 363