该书共11章,重点介绍了ARM内核及其软硬件系统的结构、组成与应用,同时从逻辑电路和ARM内核的设计层次,剖析了嵌入式微处理器系统的控制器、数据通路等主要功能部件的工作原理和内部结构。书中讨论了基于ARM内核的微处理器软硬件系统的结构及组成,并着重探讨了嵌入式操作系统的系统结构、操作系统移植、引导和加载等关键技术;书中还讨论了嵌入式系统的软硬件协同设计及基于ARM内核的SoC设计技术。
第1章 概述 (1)
1.1 计算机的发展 (1)
1.1.1 电子计算机技术 (1)
1.1.2 普适计算与泛在通信 (2)
1.2 集成电路与SoC设计 (6)
1.2.1 集成电路技术 (6)
1.2.2 基于IP的SoC设计 (6)
1.3 先进处理器技术 (9)
1.3.1 片上多核处理器 (9)
1.3.2 流处理器 (10)
1.3.3 存内处理器 (11)
1.3.4 可重构处理器 (12)
1.4 嵌入式系统 (14)
1.4.1 嵌入式系统的概念 (14)
1.4.2 嵌入式系统的组成 (15)
1.4.3 嵌入式系统中的处理器 (16)
1.4.4 嵌入式系统的发展趋势 (17)
1.4.5 学习嵌入式系统的意义 (18)
习题 (18)
第2章 计算机系统的结构组成与工作原理 (19)
2.1 计算机系统的基本结构与组成 (19)
2.1.1 计算机系统的层次模型 (19)
2.1.2 计算机系统的结构、组织与实现 (21)
2.2 计算机系统的工作原理 (22)
2.2.1 冯·诺依曼计算机架构 (22)
2.2.2 模型机系统结构 (23)
2.2.3 模型机指令集 (26)
2.2.4 模型机工作流程 (27)
2.3 微处理器体系结构的改进 (28)
2.3.1 冯·诺依曼结构的改进 (29)
2.3.2 并行技术的发展 (33)
2.3.3 流水线结构 (34)
2.3.4 超标量与超长指令字结构 (36)
2.3.5 多机与多核结构 (38)
2.4 计算机体系结构分类 (40)
2.5 计算机性能评测 (42)
2.5.1 字长 (42)
2.5.2 存储容量 (43)
2.5.3 运算速度 (43)
习题 (44)
第3章 微处理器体系结构及关键技术 (46)
3.1 微处理器体系结构及功能模块 (46)
3.1.1 微处理器的基本功能 (46)
3.1.2 微处理器的基本结构 (47)
3.1.3 一个简化的微处理器模型示例 (48)
3.2 微处理器设计 (50)
3.2.1 微处理器的设计步骤 (50)
3.2.2 控制器的操作与功能 (51)
3.2.3 硬连逻辑控制器设计 (53)
3.2.4 微程序控制器设计 (55)
3.2.5 寄存器组设计 (57)
3.3 指令系统设计 (58)
3.3.1 机器指令系统 (58)
3.3.2 指令格式 (59)
3.3.3 寻址方式 (60)
3.3.4 指令系统设计要点 (64)
3.4 指令流水线技术 (64)
3.4.1 流水线技术的特点 (65)
3.4.2 流水线技术的局限性 (67)
3.4.3 指令流水线的性能指标 (70)
3.5 典型微处理器体系结构简介 (71)
3.5.1 ARM体系结构 (71)
3.5.2 Intel x86体系结构 (72)
习题 (74)
第4章 总线技术与总线标准 (75)
4.1 总线技术 (75)
4.1.1 概述 (75)
4.1.2 总线仲裁 (79)
4.1.3 总线操作与时序 (81)
4.1.4 串行总线 (85)
4.2 总线标准 (88)
4.2.1 片上AMBA总线 (88)
4.2.2 PCI系统总线 (95)
4.2.3 PCI-E总线标准 (105)
4.2.4 通用异步串行总线标准 (114)
习题 (116)
第5章 存储器系统 (117)
5.1 存储器件的分类 (117)
5.1.1 按存储介质分类 (117)
5.1.2 按读写策略分类 (120)
5.2 半导体存储芯片的基本结构与性能指标 (121)
5.2.1 随机存取存储器 (121)
5.2.2 只读存储器 (128)
5.2.3 存储器芯片的性能指标 (132)
5.3 存储系统的层次结构 (133)
5.3.1 存储系统的分层管理 (134)
5.3.2 虚拟存储器与地址映射 (136)
5.3.3 现代计算机的多层次存储体系结构 (139)
5.4 主存储器设计技术 (142)
5.4.1 存储芯片选型 (143)
5.4.2 存储芯片的组织形式 (143)
5.4.3 地址译码技术 (148)
5.4.4 存储器接口设计 (152)
习题 (154)
第6章 输入/输出接口 (157)
6.1 输入/输出接口基础 (157)
6.1.1 输入/输出接口的功能与结构 (157)
6.1.2 输入/输出端口编址 (160)
6.2 接口地址译码 (161)
6.3 接口信息传输方式 (163)
6.3.1 程序查询传输方式 (163)
6.3.2 程序中断传输方式 (165)
6.3.3 直接存储器访问(DMA)传输方式 (172)
6.3.4 通道传输方式 (175)
6.4 并行接口 (176)
6.4.1 无联络信号的并行接口 (176)
6.4.2 带联络信号的并行接口 (180)
6.4.3 可编程并行接口 (181)
6.5 串行接口 (185)
6.5.1 同步串行接口 (185)
6.5.2 异步串行接口 (188)
习题 (190)
第7章 ARM微处理器编程模型 (192)
7.1 ARM内核体系结构 (192)
7.2 ARM编程模型 (195)
7.2.1 ARM微处理器工作状态 (195)
7.2.2 ARM微处理器工作模式 (195)
7.2.3 寄存器组织 (196)
7.2.4 数据类型和存储格式 (200)
7.2.5 异常 (200)
习题 (204)
第8章 ARM汇编指令 (205)
8.1 ARM指令格式 (205)
8.1.1 ARM指令的一般编码格式 (205)
8.1.2 ARM指令的条件码域 (206)
8.1.3 ARM指令的第二源操作数 (207)
8.2 ARM寻址方式 (209)
8.2.1 数据处理类操作数寻址方式 (209)
8.2.2 内存操作数寻址方式 (210)
8.3 ARM指令集 (213)
8.3.1 数据处理指令 (214)
8.3.2 转移指令 (223)
8.3.3 程序状态寄存器访问指令 (226)
8.3.4 加载/存储指令 (227)
8.3.5 异常产生指令 (234)
8.3.6 伪指令 (235)
习题 (236)
第9章 ARM程序设计 (237)
9.1 ARM汇编语言程序设计 (237)
9.1.1 ARM汇编语言程序结构 (237)
9.1.2 ARM汇编语言程序设计实例 (238)
9.2 ARM汇编语言与C/C++的混合编程 (245)
9.2.1 C语言与汇编语言之间的函数调用 (246)
9.2.2 C/C++语言内嵌汇编语言 (250)
习题 (253)
第10章 基于ARM微处理器的嵌入式系统设计 (256)
10.1 基于ARM内核的微处理器简介 (256)
10.2 最小硬件系统 (257)
10.2.1 电源模块 (258)
10.2.2 时钟模块 (259)
10.2.3 复位模块 (260)
10.2.4 JTAG调试接口模块 (261)
10.2.5 存储器模块 (261)
10.3 人机交互接口 (264)
10.4 通信接口 (266)
10.4.1 UART接口 (266)
10.4.2 其他通信接口 (272)
10.5 嵌入式软件系统结构及工作流程 (272)
10.5.1 嵌入式软件系统结构 (273)
10.5.2 嵌入式软件系统的工作流程 (274)
10.6 嵌入式软件系统的引导和加载 (274)
10.7 嵌入式Linux (276)
10.7.1 嵌入式Linux结构 (276)
10.7.2 Linux内核文件 (279)
习题 (280)
第11章 基于ARM内核的SoC设计 (282)
11.1 SoC概述 (282)
11.2 SoC的组成结构 (283)
11.3 SoC的片上总线 (284)
11.3.1 片上总线的特点 (284)
11.3.2 片上总线标准 (285)
11.4 SoC的设计技术 (286)
11.4.1 SoC设计中的关键技术 (286)
11.4.2 SoC的系统级设计 (289)
11.4.3 SoC的硬件设计流程 (290)
11.5 基于ARM内核的SoC系统设计 (291)
11.5.1 基于ARM内核的SoC系统结构 (291)
11.5.2 基于ARM内核的SoC系统应用设计举例 (295)
习题 (298)