本书介绍x86最基础和最新的处理器,重点介绍基于x86处理器构成微机系统的基本方法,包括总线结构微机系统中主存和I/O接口设计、芯片组结构微机系统中利用DDR存储器构成主存的设计、汇编语言程序设计、汇编语言与C语言混合编程、多核环境下并行程序设计、设备驱动程序设计等方法。
本书实例丰富,既可作为计算机及电子信息类专业微机课程的教材,也可作为从事微机应用设计的工程技术人员的参考书。
第1章 绪论 1
1.1 基本概念 1
1.2 微处理器概述 2
1.2.1 微处理器的发展 2
1.2.2 微处理器结构的发展 13
1.3 PC概述 16
1.3.1 PC的发展 16
1.3.2 PC的基本组成 18
第2章 Intel单核/多核处理器 21
2.1 单核处理器(Intel 8086处理器) 21
2.1.1 8086处理器的功能特性 21
2.1.2 8086处理器的体系结构 21
2.1.3 8086处理器的寄存器、主存储器和I/O结构 23
2.1.4 8086处理器芯片引脚 28
2.1.5 8086处理器的工作时序 32
2.1.6 8086系统总线的形成 35
2.1.7 8086与8088处理器的不同之处 37
2.2 Intel处理器体系结构的发展 38
2.3 多核处理器(Intel Core处理器) 41
2.3.1 Core i7处理器的体系结构 41
2.3.2 Core i7处理器的微架构 43
2.3.3 多核处理器的关键并行技术 48
2.4 基于Intel微处理器的PC体系结构 54
2.4.1 寄存器结构 54
2.4.2 主存储器结构 55
2.4.3 I/O系统结构 57
2.4.4 互连结构 58
习题 61
第3章 Intel指令系统与程序设计 64
3.1 Intel指令系统 64
3.1.1 Intel指令系统的发展 64
3.1.2 Intel指令的寻址方式 67
3.1.3 Intel指令系统 75
3.2 汇编语言及源程序结构 87
3.2.1 汇编语言的语句格式 87
3.2.2 常数 88
3.2.3 伪指令 89
3.2.4 汇编语言的运算符 93
3.2.5 汇编语言源程序的结构 94
3.3 汇编语言与C语言混合编程接口 95
3.3.1 C语言程序中嵌入汇编语言代码 96
3.3.2 让C语言程序从外部调用汇编语言代码 97
3.4 单核处理器平台的程序设计 98
3.5 多核处理器平台的程序设计 102
习题 106 [1]
第4章 总线技术 108
4.1 总线概述 108
4.2 典型的标准化总线 109
4.2.1 内总线 109
4.2.2 外总线 119
4.3 总线驱动与控制 124
4.3.1 总线竞争的概念 124
4.3.2 总线负载的计算 124
4.3.3 总线驱动与控制设计 125
4.4 总线设计中的工程问题 130
4.4.1 总线上的交叉串扰 130
4.4.2 总线的延时 131
4.4.3 总线上的反射与终端网络 132
4.5 PC中的总线 136
习题 138
第5章 存储技术 140
5.1 概述 140
5.1.1 存储器的分类 140
5.1.2 存储器的主要性能指标 141
5.2 常用存储器芯片及接口设计 142
5.2.1 静态随机读写存储器(SRAM)及接口设计 142
5.2.2 只读存储器(ROM)及接口设计 154
5.2.3 其他存储器 166
5.3 动态随机读写存储器及接口设计 170
5.3.1 简单异步DRAM 170
5.3.2 同步动态存储器SDRAM 175
5.3.3 DDR SDRAM 182
5.3.4 内存条 184
5.4 Intel 16/32/64位微机系统的主存设计 186
5.4.1 16位系统主存及接口设计 186
5.4.2 32位系统主存及接口设计 192
5.4.3 64位系统主存及接口设计 194
5.5 Intel微机系统的存储体系 200
习题 201
第6章 输入/输出技术 204
6.1 I/O概述 204
6.1.1 外部设备概述 204
6.1.2 I/O方式概述 205
6.1.3 I/O接口概述 206 [1]
6.2 程序查询I/O方式 215
6.2.1 无条件传送方式 215
6.2.2 程序查询方式 218
6.3 中断方式 221
6.3.1 中断概述 222
6.3.2 Intel 16位中断系统 226
6.3.3 Intel 32/64位中断系统 246
6.4 直接存储器存取(DMA)方式 264
6.4.1 DMA概述 265
6.4.2 DMA控制器8237 266
6.4.3 芯片组中8/16位DMA的实现 280
6.4.4 32/64位DMA的实现 283
习题 285
第7章 经典接口及定时器件 287
7.1 可编程并行接口8255 287
7.1.1 引脚及内部结构 287
7.1.2 工作方式 289
7.1.3 方式控制字与状态字 293
7.1.4 寻址与连接 295
7.1.5 初始化与应用举例 297
7.2 可编程定时器8253 300
7.2.1 引脚及内部结构 300
7.2.2 工作方式 301
7.2.3 控制字 304
7.2.4 寻址与连接 305
7.2.5 初始化与应用举例 307
7.3 可编程串行通信接口16550 310
7.3.1 异步串行通信及数据格式 310
7.3.2 串行通信接口16550 311
习题 326
第8章 基于总线的I/O接口设计 328
8.1 基于ISA总线的I/O接口设计 328
8.1.1 LED接口 331
8.1.2 键盘接口 339
8.1.3 光电隔离接口 346
8.1.4 A/D与D/A变换器接口 349
8.1.5 步进电机接口 367
8.2 基于PCI总线的I/O接口设计 372
8.2.1 PCI总线接口概述 372
8.2.2 PCI总线接口设计 379
8.3 基于USB总线的I/O接口设计 392
习题 398
第9章 设备驱动程序设计 402
9.1 Windows环境下的设备驱动程序设计 402
9.1.1 设备驱动程序概述 402
9.1.2 WDM结构 404
9.1.3 设备驱动程序开发工具 406
9.1.4 设备驱动程序开发方法 406
9.1.5 设备驱动程序开发实例 416
9.2 Linux环境下的设备驱动程序设计 422
9.2.1 Linux操作系统下的设备驱动 422
9.2.2 设备驱动程序的编写 423
9.2.3 设备驱动程序的加载 423
9.2.4 设备驱动程序的调用 424
9.2.5 设备驱动程序设计实例 424
习题 430
附录 SDRAM控制器设计 432
参考文献 452