|
|
51CTO旗下网站
|
|
移动端

前言

《ARM嵌入式系统编程与优化》本书结合ARM架构和Linux工具,关注以性能为导向的嵌入式编程,深入讲解如何通过对数据、算法和存储等层面的优化,最终实现性能的显著提升。本书先讲解ARM架构和嵌入式系统的基础知识,然后结合图像变换、分形生成和计算机视觉等应用案例,详细说明不同的优化方法。本节为前言。

作者:梁元宇 译来源:机械工业出版社|2017-09-26 18:56

前言

Embedded Systems: ARM Programming and Optimization

多年来,我一直工作在可重构计算领域。可重构计算领域的目标是开发有效的工具和方法,以促进现场可编程门阵列(FPGA)作为协处理器在高性能计算机系统中的使用。

这个学科的主要挑战之一是“程序设计问题”,即FPGA的实际应用从根本上受到烦琐和容易出错的程序模型的限制。这个问题值得我们特别关注,因为它是技术优势所导致的结果:FPGA实现了细粒度并发操作,这样程序员可以控制芯片中每个电路的同步行为。然而,这种控制还要求程序员管理细粒度的控制,例如片上存储使用和路由拥塞。另一方面,CPU程序只需要考虑每一行代码的可能CPU状态,片上资源在硬件运行时将自动管理。

最近我意识到,现代嵌入式系统可能很快就会面临类似的程序设计问题。电池技术仍然相对滞后,并且在用近6年时间实现了从65nm到28nm的制造工艺后,摩尔定律的发展速度开始明显减缓。与此同时,消费者已经开始期待嵌入式系统功能的不断进步,例如能够在一副眼镜上的处理器中运行实时增强现实(AR)软件。

鉴于这些能源效率和性能的要求,许多嵌入式处理器厂商正在为微体系结构寻求更节能的方法,并经常涉及对并行类型的选择,而这一类型是不能从软件中自动提取的。这就需要程序员协助编写并行代码。这带来了很多问题:程序员要在资源和能量均有限的平台上兼顾功能和性能,要知道,在这个平台上可能包括从多核到GPU着色器单元等各种并行资源。

许多大学已经开展了“统一”的并行编程课程,这些课程涵盖了从分布式系统到多核处理器的并行编程系列。然而,教授这类主题的角度通常是高性能计算而非嵌入式计算。

随着最近Raspberry Pi等先进嵌入式平台的爆发,我意识到需要开发针对嵌入式系统性能的编程课程,这些课程应涵盖从计算机体系结构到并行编程的相关主题。我也想纳入一些有趣的相关项目和课程的案例研究,这样可以避开枯燥的传统嵌入式系统课程项目(例如闪烁的LED)和并行编程课程(例如编写和优化快速傅里叶变换)。

在自己的嵌入式系统课程中使用这些想法时,我经常发现学生们会争相实现最快的图像旋转或最快的曼德布罗特集合生成器。这种竞争也激发了学生的学习热情。

如何使用本书

本书面向初级或高级本科计算机科学或计算机工程课程。虽然嵌入式系统课程可能关注控制理论、机器人技术、低功耗设计、实时系统或其他相关的主题,但本书旨在介绍轻量级片上系统嵌入式处理器上的以性能为导向的编程。

本书应该结合Raspberry Pi等嵌入式设计平台一起使用,这样学生可以评估书中所述的实践和方法。

在使用本书时,学生应该预先学习C编程语言和Linux操作系统的基本知识,并了解诸如任务同步等基本的并发。

教辅支持

可访问网站booksite.elsevier.com/9780128003428查看本书的幻灯片、习题答案和勘误表。

致 谢

Embedded Systems: ARM Programming and Optimization

感谢帮助我完成本书的几位学生。

2013年春季和夏季,本科生Benjamin Morgan、Jonathan Kilby、Shawn Weaver、Justin Robinson以及Amadeo Bellotti评估了Raspberry Pi Broadcom BCM2835和Xilinx Zynq 7020上的DMA控制器和性能监控单元。

2014年夏季,本科生Daniel Clements帮助我开发了在ARM11、ARM Cortex A9和ARM Cortex A15上使用Linux perf_event的统一方法。Daniel还评估了图像技术的OpenCL运行时,以及描述了在ODROID XU Exynos 5平台上的PowerVR 544 GPU的性能特点。

2015年夏季,本科生Friel“Scottie”Scott帮助我评估了ODROID XU3平台上的Mali T628 GPU,并且校对了第5章的内容。

许多关于计算机视觉算法存储优化的见解来自我的研究生Fan Zhang的关于德州仪器关键数字信号处理器架构的自动优化模板循环的论文。

感谢以下评论者,他们在本书的编写过程中提供了反馈、见解以及有用的建议:

Miriam Leeser,美国东北大学

Larry D. Pyeatt,美国南达科他矿业理工学院

Andrew N. Sloss,美国华盛顿大学,同时在ARM公司做顾问工程师

Amr Zaky,美国圣塔克拉拉大学

感谢Morgan Kaufmann出版公司,感谢Nate McFadden在整个写作过程中给予我的不断鼓励和无限耐心。特别感谢Nate对于本书内容所持的开放和灵活的态度,这使我在写作时能够不断跟进新发布的基于ARM的嵌入式开发平台。也要感谢Sujatha Thirugnana Sambandam的细心编辑,还要感谢Mark Rogers为本书设计封面。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Microsoft SQL Server 2005技术内幕:T-SQL程序设

SQL Server 2005微软官方权威参考手册。 是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作。 全球公认SQL S...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊