ARM认证工程师应试指南
ARM认证工程师应试指南封面图

ARM认证工程师应试指南

奚海蛟, 谌利, 编著

出版社:电子工业出版社

年代:2013

定价:49.0

书籍简介:

本书主要内容分为两部分:前一部分为AAE认证考试大纲所涉及的各知识点介绍,并指出了各知识点所需要参考的本书第二部分的内容索引;第二部分则为系统知识的主体部分,系统地介绍了ARM Cortex-A系列的架构和处理器、内核模型、汇编指令集、浮点协处理器和NEON技术、中断模型、ARM系统优化、启动代码和系统移植知识、多内核系统架构和对称系统架构、软件并行运算、系统功耗设计概念、系统安全、虚拟化、系统调试模块,以及ARM的bigLITTLE技术等。

作者介绍:

奚海蛟,男,北京航空航天大学博士、博士后,2000年开始在多个大型培训机构和高校任讲师,主讲的课程有信号与系统、通信原理、游戏客户端开发、3D数学、嵌入式移植、嵌入式驱动程序设计、ARM体系结构开发、物联网等;2009创建北京融慧广泽科技有限公司,2010年创建北京通联物网教育咨询有限公司合伙人,总经理。

书籍目录:

第1部分 ARM认证工程师学习指南

第1章 学习指南

1.1 ARM认证工程师介绍

1.2 ARM认证工程师大纲概述

1.3 大纲详述

1.3.1 实现

1.3.2 软件调试

1.3.3 架构

1.3.4 软件开发

1.3.5 系统

1.3.6 软件优化

第2部分 Cortex-A系列程序员指南

第2章 ARM简介

2.1 ARM的历史

2.2 片上系统(SoC)

2.3 嵌入式系统

第3章 ARM体系结构和处理器

3.1 体系结构的版本

3.2 体系结构的历史与扩展

3.3 ARM Cortex-A系列处理器架构关键点

3.4 处理器和路径

3.5 Cortex-A系列处理器

3.5.1 Cortex-A5处理器

3.5.2 Cortex-A7处理器

3.5.3 Cortex-A8处理器

3.5.4 Cortex-A9处理器

3.5.5 Cortex-A15处理器

3.5.6 高通公司的Scorpion

第4章 工具、操作系统和开发板

4.1 Linux发行版

4.1.1 ARM的Linux系统

4.1.2 Linux术语

4.1.3 嵌入式Linux

4.1.4 板级支持包

4.1.5 Linaro

4.2 有用工具

4.3 ARM处理器的软件工具链

4.4 ARM DS-

4.5 示例平台

第5章 ARM寄存器、模式和指令集

5.1 指令集

5.2 模式

5.3 寄存器

5.4 指令流水线

5.4.1 并发流水线

5.4.2 寄存器重命名

5.5 分支预测

5.5.1 返回栈

5.5.2 程序员的观点

第6章 汇编语言简介

6.1 与其他汇编语言的对比

6.2 指令集

6.3 GNU汇编器简介

6.3.1 激活GNU汇编器

6.3.2 GNU汇编器语法

6.3.3 程序段

6.3.4 编译器的伪指令

6.3.5 表达式

6.3.6 GNU工具的命名惯例

6.4 ARM工具汇编语言

6.4.1 ARM汇编语法

6.4.2 标签

6.4.3 伪指令

6.5 交互工作

6.6 识别汇编代码

第7章 ARM/Thumb的统一汇编语言指令

7.1 指令集基础

7.1.1 常量的值

7.1.2 条件执行

7.1.3 状态标志位和条件码

7.2 数据处理操作

7.3 乘法运算

7.4 存储器指令

7.4.1 寻址方式

7.4.2 多指令传送

7.5 分支指令

7.6 整数SIMD指令

7.6.1 整数寄存器SIMD指令

7.6.2 整数寄存器SIMD乘法

7.6.3 绝对差之和

7.6.4 数据打包和解包

7.6.5 字节选择

7.7 饱和算法

7.8 杂项指令

7.8.1 协处理器指令

7.8.2 协处理器15(CP15)

7.8.3 SVC

7.8.4 修改PSR

7.8.5 位操作

7.8.6 高速缓存预加载

7.8.7 字节反转

7.8.8 其他指令

第8章 浮点

8.1 浮点运算的基本知识以及IEEE 754标准

8.1.1 舍入算法

8.1.2 ARM VFP

8.1.3 指令

8.1.4 启用VFP

8.2 GCC对VFP的支持

8.3 ARM编译器对VFP的支持

8.4 Linux对VFP的支持

8.5 浮点优化

第9章 NEON简介

9.1 SIMD

9.2 NEON结构概述

9.2.1 VFP的通用性

9.2.2 数据类型

9.2.3 NEON寄存器

9.2.4 NEON指令集

第10章 高速缓存

10.1 为什么高速缓存卓有成效

10.2 高速缓存的缺点

10.3 存储器层次

10.4 高速缓存的结构

10.4.1 高速缓存控制器

10.4.2 直接映射高速缓存

10.4.3 Set关联高速缓存

10.4.4 高速缓存术语

10.4.5 现实中的例子

10.4.6 虚拟和物理的标签和索引

10.5 缓存策略

10.5.1 分配策略

10.5.2 替换策略

10.5.3 写策略

10.6 写缓冲区和取缓冲区

10.7 缓存的性能和命中率

10.8 无效化和清空缓存

10.9 一致点和统一点

10.10 二级缓存控制器

10.11 奇偶校验和ECC高速缓存

第11章 内存管理单元

11.1 虚拟内存

11.2 一级页表

11.3 二级页表

11.4 转换查找缓冲区

11.5 TLB的一致性

11.6 页大小的选择

11.7 内存属性

11.7.1 内存访问权限

11.7.2 内存类型

11.7.3 域

11.8 多任务和操作系统使用的页表

11.8.1 地址空间ID

11.8.2 页表基址寄存器0和

11.8.3 快速上下文切换扩展

11.9 大物理地址扩展

第12章 内存访问排序

12.1 ARM存储排序模型

12.1.1 Strongly-ordered和Device内存

12.1.2 Normal内存

12.2 内存隔离

12.2.1 内存隔离使用示例

12.2.2 用隔离避免死锁

12.2.3 WFE和WFI的隔离

12.2.4 Linux下使用的隔离

12.3 缓存一致性问题

12.3.1 复制代码的问题

12.3.2 编译器的重新排序优化

第13章 异常处理

13.1 异常类型

13.2 异常模式一览

13.3 进入异常处理程序

13.4 退出异常处理程序

13.5 向量表

13.6 返回指令

第14章 中断处理

14.1 外部中断请求

14.1.1 中断分配

14.1.2 简单中断处理

14.1.3 中断嵌套处理

14.2 通用中断控制器

14.2.1 配置

14.2.2 初始化顺序

14.2.3 中断处理

第15章 其他异常处理程序

15.1 中止异常处理程序

15.2 未定义指令处理

15.3 SVC异常处理

15.4 LINUX的异常程序流

15.4.1 引导过程

15.4.2 中断调度

第16章 引导代码

16.1 启动一个裸机系统

16.2 配置

16.3 引导LINUX

16.3.1 复位异常处理

16.3.2 引导程序

16.3.3 初始化内存系统

16.3.4 内核镜像

16.3.5 内核参数

16.3.6 内核入口

16.3.7 平台的具体行为

16.3.8 内核启动代码

第17章 移植

17.1 大小端

17.2 对齐

17.3 其他的C代码移植问题

17.3.1 unsigned char和signed char

17.3.2 编译器packing结构体

17.3.3 堆栈的使用

17.3.4 其他问题

17.4 移植ARM的汇编代码到ARMV-

17.5 移植ARM代码到THUMB架构

17.5.1 使用PC作为操作数

17.5.2 分支和互连

17.5.3 操作数组合

17.5.4 ARM/Thumb的其他差异

第18章 应用程序二进制接口

18.1 过程调用标准

18.1.1 VFP和NEON寄存器的使用

18.1.2 链接

18.1.3 栈和堆

18.1.4 返回结果

18.2 C和汇编代码混合编程

第19章 性能分析

19.1 分析器输出

19.2 Gprof

19.3 OProfile

19.4 DS-5 Streamline

19.5 ARM性能监视器

19.6 Linux的Perf事件

19.7 Ftrace

19.8 Valgrind和Cachegrind

第20章 优化运行在ARM处理器的代码

20.1 编译器优化

20.1.1 函数内联

20.1.2 消除公共子表达式

20.1.3 循环展开

20.1.4 GCC优化选项

20.1.5 armcc优化选项

20.2 ARM存储系统优化

20.2.1 数据缓存优化

20.2.2 循环分片

20.2.3 循环交换

20.2.4 结构对齐

20.2.5 关联性的影响

20.2.6 优化指令缓存的使用

20.2.7 优化L2和外部缓存的使用

20.2.8 优化TLB的使用

20.2.9 数据中止优化

20.2.10 预取内存块访问

20.3 修改源代码

20.3.1 循环结束

20.3.2 循环合并

20.3.3 减少堆和栈的使用

20.3.4 变量选择

20.3.5 指针别名

20.3.6 除法和取模

20.3.7 外部数据

20.3.8 内联或嵌入汇编

20.3.9 复杂寻址模式

20.3.10 非对齐访问

20.3.11 链接器优化

第21章 编写NEON代码

21.1 NEON C编译器和汇编器

21.1.1 矢量化

21.1.2 NEON库

21.1.3 内部函数

21.1.4 C的NEON类型

21.1.5 变量和常量

21.1.6 从C/C++代码生成NEON指令

21.1.7 NEON汇编器和ABI的限制

21.1.8 检测NEON

21.2 优化NEON汇编代码

21.2.1 内存访问优化

21.2.2 对齐

21.2.3 调度

21.3 NEON省电

第22章 多重处理器简介

22.1 多处理器ARM系统

22.2 对称多重处理

22.3 非对称多重处理AMP

第23章 SMP架构考虑

23.1 缓存一致性

23.1.1 MESI协议

23.1.2 MOESI协议

23.1.3 ACP

23.2 TLB和缓存维护广播

23.3 在SMP系统中处理中断

23.4 独占访问

23.5 引导SMP系统

23.5.1 处理器ID

23.5.2 Linux中SMP启动

23.6 私有内存区域

第24章 并行软件

24.1 分解法

24.2 线程模型

24.3 线程库

24.3.1 线程间的通信

24.3.2 线程性能

24.3.3 线程关联

24.4 Linux内核中的同步机制

24.4.1 结束(Completions)机制

24.4.2 自旋锁

24.4.3 信号量

24.4.4 无锁同步

第25章 并行软件的问题

25.1 线程安全性和可重入性

25.2 性能问题

25.2.1 带宽问题

25.2.2 线程依赖性

25.2.3 缓存抖动

25.2.4 伪共享

25.2.5 死锁和活锁

25.3 剖析SMP系统

第26章 电源管理

26.1 待机模式

26.2 休眠模式

26.3 汇编语言电源指令

26.4 动态电压和频率调整

第27章 安全性

27.1 可信区的硬件架构

27.2 多处理器系统的安全性扩展

27.3 正常世界和安全世界的相互作用

第28章 虚拟化

28.1 用于ARMV7-A的虚拟化扩展

28.1.1 在ARMv7-A的虚拟化扩展中的权限模型

28.1.2 超级管理模式

28.1.3 内存转换

28.2 超级监控程序异常模型

28.3 虚拟化和ARM安全扩展之间的关系

第29章 big.LITTLE简介

29.1 big.LITTLE配置

29.2 big.LITTLE系统的结构

29.3 big.LITTLE中的执行模型

29.3.1 big.LITTLE迁移模型

29.3.2 集群迁移

29.3.3 CPU迁移

29.4 big.LITTLE MP操作

第30章 调试

30.1 ARM调试硬件

30.2 ARM跟踪硬件

30.3 调试监视器

30.4 调试Linux应用程序

30.5 DS-5的调试和跟踪

30.5.1 使用DS-5调试Linux应用程序

30.5.2 调试Linux内核模块

30.5.3 使用DS-5调试Linux内核

30.5.4 使用DS-5调试多线程应用程序

30.5.5 调试共享库

30.5.6 DS-5的跟踪支持

参考文献

内容摘要:

《嵌入式技术与应用丛书:ARM认证工程师应试指南》是针对ARMAAE考试认证编写的,旨在为对参加AAE认证考试的读者提供有益的帮助,对汇编语言和C语言的程序员提供有用的信息。
  《嵌入式技术与应用丛书:ARM认证工程师应试指南》分为ARM认证工程师学习指南和Cortex-A系列程序员指南两部分。在ARM认证工程师学习指南部分给出了AAE认证考试的要点及其要求掌握的程度;在Cortex-A系列程序员指南部分对第1部分给出的要点进行了详细论述,内容涵盖:ARM简介,ARM体系结构和处理器,工具、操作系统和开发板,ARM寄存器、模式和指令集,汇编语言简介,ARM/Thumb的统一汇编,浮点,NEON简介,高速缓存,内存管理单元,内存访问排序,异常处理,中断处理,其他异常处理程序,引导代码,移植,应用程序二进制接口,性能分析,优化运行在ARM处理器的代码,编写NEON代码,多重处理器简介,SMP架构考虑,并行软件,并行软件的问题,电源管理,安全性,虚拟化,big.LITTLE简介,调试。

书籍规格:

书籍详细信息
书名ARM认证工程师应试指南站内查询相似图书
丛书名嵌入式技术与应用丛书
9787121213618
如需购买下载《ARM认证工程师应试指南》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)49.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

ARM认证工程师应试指南是电子工业出版社于2013.9出版的中图分类号为 TP332 的主题关于 微处理器-系统设计-工程技术人员-资格考试-自学参考资料 的书籍。