第一图书网

嵌入式多核系统软件开发嵌入式Intel体系结构实用指南

杜梅卡 机械工业出版社
出版时间:

2010-2  

出版社:

机械工业出版社  

作者:

杜梅卡  

页数:

245  

译者:

宋廷强  

Tag标签:

无  

前言

当今,多核技术正飞速发展,已经广泛进入人们的生活。根据:Intel公司的战略计划,在不久的将来,主流处理器的内核数量将达到100个以上,这种多核发展趋势不但对计算机领域产生巨大影响,也将对通信、消费电子、移动计算等嵌入式领域带来巨大的转变。多核技术的出现,使得未来的软件开发及硬件平台都将逐渐转变到多核技术上。嵌入式领域正面临着该技术所带来的挑战与机遇,并不断地与其他技术相融合,推动着嵌入式系统的技术发展。随着多核技术、应用开发工具的成熟,基于多核的嵌入式系统开发正面临着新的机遇和挑战。根据市场预计,今后3~5年,Intel将没有单核,市场上对多核软件产生了迫切要求,以利用更多的内核资源。而在嵌入式技术方面,由于Intel全面引入了多核,必将促进需要高性能、超低功耗的嵌入式领域的飞速发展。本书从多处理器的硬件结构人手,全面阐述了嵌入式多核软件开发技术,以及嵌入式多核技术与其他技术的融合,如多线程技术和虚拟化等。并基于最新的Intel嵌入式多核体系结构对嵌入式多核软件开发过程中所遇到的技术问题进行了全面阐述。全书共分为11章,分别介绍了嵌入式多核处理器的概念、嵌入式Intel多核体系结构处理器及开发技术、多核处理器性能量化方法、嵌入式多核x86处理器移植、可用性技术、多线程开发技术、虚拟化和分区、多处理器优化技术、电能利用技术等内容。本书面向当前嵌入式多核软件开发的技术前沿,对嵌入式多核软件开发过程中面临的一些技术挑战进行了全面阐述。本书作者从事体系结构技术研究及嵌入式系统开发20余年,熟悉多种软件工具的开发,具备坚实的知识背景和实践经验。在翻译本书的过程中,我们充分体会到了作者在嵌入式多核软件开发方面有大量的积累,并认为本书的最大特色在于:·覆盖范围广书中涵盖了嵌入式多核处理器概念、体系结构等硬件基础,还包含了相关开发工具及软件开发技术,如多线程、虚拟化和分区、可用性技术等,并讲述了多核处理器的性能评价及基准测试,以及嵌入式多核处理器的电能利用技术等内容。·注重实践书中很多内容都基于实例进行讲解,在理论讲解时配以实例运行结果,通过对结果的分析,直观呈现出问题的实质,使许多枯燥的原理及技术都易于理解,而且读者也能够真正从实例中进行理解与掌握。·实用性强本书将嵌入式系统开发与多核技术相结合,基于业界领先的:Intel嵌入式多核处理器,针对其中的多项技术及挑战进行展开,内容具有前瞻性和实用性。本书的翻译工作主要由宋廷强、肖传伟、马兴录和高树静完成。其中肖传伟负责第4~6章的翻译,马兴录负责本书的前言、第7~8章的翻译,高树静负责9~11章的翻译,宋廷强负责了本书其他部分的翻译及全书的统稿工作。,对于本书的出版我们首先要感谢机械工业出版社的盛东亮编辑和他的同仁们,是他们的努力促成了本书的顺利翻译与发行,使读者能够通过本书及时了解嵌入式多核软件开发技术,同时也感谢李鹏程、张朝阳、周京地、申凤兰等给予本书的核对与检查。在本书的翻译过程中,我们力求忠实于原著,但由于译者技术和翻译水平都很有限,再加上多核技术刚刚兴起,很多词句译者一时很难把握准确,导致书中难免存在各种翻译错误,敬请读者批评指正,以便在重印时修改完善。

内容概要

本书系统阐述了嵌入式多核系统软件开发的技术,并基于主流的Intel嵌入式多核系统给出许多开发实例。全书共分为11章,分别介绍了嵌入式多核处理器的概念、嵌入式Intel多核体系结构处理器、多核处理器性能量化方法、嵌入式多核处理器移植、可用性技术、多线程开发、线程级并行优化、虚拟化和分区、多处理器优化技术、电能利用技术等内容。 本书采用模块化的结构安排、理论阐述与应用实例相结合的叙述方式,最大限度帮助读者掌握嵌入式多核开发技术。 本书可作为计算机科学与技术、电子科学与技术、电子信息工程等专业相关师生学习用书,也可供相关科研与工程技术人员参考。

作者简介

作者:(美)杜梅卡

书籍目录

译者序前言致谢第1章 绪论 1.1 写作目的 1.2 多核处理器的出现 1.3 多处理器系统不是一项新技术 1.4 应用程序需要采用多线程 1.5 软件是负担还是机遇 1.6 什么是嵌入式 1.7 嵌入式有何独特性 本章小结第2章 基本系统和处理器体系结构 2.1 性能 2.2 嵌入式Intel体系结构处理器发展历程 2.2.1 Intel 186处理器 2.2.2 Intel 386处理器 2.2.3 Intel 486处理器 2.2.4 Intel Pentium处理器 2.2.5 Intel Pentium Ⅲ处理器 2.2.6 Intel Pentium Ⅳ处理器 2.2.7 Intel Pentium M处理器 2.2.8 Intel Xeon LV及ULV双核处理器和Intel Xeon 5100系列双核处理器 2.2.9 嵌入式Intel Core2双核处理器 2.2.10 Intel Xeon 5300系列四核处理器 2.3 嵌入式系统及其处理器的发展趋势 2.3.1 未来45nm工艺嵌入式处理器 2.3.2 Intel Atom处理器内核 2.3.3 Tolapai片上系统加速器 2.4 x86汇编语言指导 2.4.1 x86汇编基础 2.4.2 提示1:关注小范围 2.4.3 提示2:快速识别源操作数和目标操作数 2.4.4 提示3:了解基本寄存器和存储器访问 2.4.5 提示4:熟悉常用操作 2.4.6 提示5:把参考手册当成好助手 2.4.7 提示6:注意编译器的优化 2.4.8 提示7:反汇编与源程序的相关性 2.4.9 汇编实例指南 本章小结 相关阅读第3章 多核处理器与嵌入式 3.1 采用多核处理器的目的 3.2 多核处理器体系结构 3.2.1 同构多核与异构多核 3.2.2 对称多核与非对称多核 3.3 多核处理器给嵌入式系统带来的好处 3.4 嵌入式市场与多核处理器 3.4.1 无线通信基础设施 3.4.2 工业控制 3.4.3 国家机关的应用 3.4.4 企业基础安全 3.4.5 车载娱乐 3.4.6 互动终端 3.4.7 语音及整合通信 3.4.8 数字安全监控 3.4.9 存储 3.4.10 医疗 3.5 多核处理器的性能评价 3.5.1 单核性能基准测试程序 3.5.2 多核性能基准测试程序 3.5.3 功耗基准测试 3.5.4 应用性能评价 3.5.5 嵌入式系统的性能特点 3.5.6 审查基准测试程序数据 本章小结 相关阅读第4章 移植到Intel多核处理器 4.1 移植到Intel体系结构 4.1.1 32位与64位支持 4.1.2 字节顺序:大端与小端 4.1.3 关于BIOS和OS 4.2 支持SMP操作系统 4.2.1 基本MESI协议 4.2.2 设备驱动程序和内核程序 4.3 多核处理器开发工具的发展 4.3.1 OpenMP 4.3.2 自动并行化 4.3.3 猜测预执行 4.3.4 线程库 4.3.5 图形设计工具 4.3.6 调试 4.3.7 性能分析工具 本章小结 相关阅读第5章 标量优化与可用性 5.1 编译器优化 5.1.1 一般优化 5.1.2 高级优化 5.1.3 高级优化选项 5.1.4 辅助优化 5.2 优化流程 5.3 可用性 5.3.1 诊断 5.3.2 兼容性 5.3.3 编译时间 5.3.4 预编译头文件 5.3.5 并行编译 5.3.6 代码规模 5.3.7 代码覆盖 5.3.8 调试优化结果 本章小结 相关阅读第6章 线程级并行优化 6.1 并行化基础知识 6.1.1 线程 6.1.2 分解 6.1.3 可伸缩性 6.1.4 并行处理的局限性 6.1.5 线程技术需求 6.2 线程开发周期 6.2.1 分析 6.2.2 设计与实现 6.2.3 调试 6.2.4 调整 本章小结 相关阅读第7章 案例研究:数据分解 7.1 案例概述 7.2 构建过程 7.3 分析 7.4 设计和实现 7.5 调试 7.6 调整 本章小结第8章 案例研究:功能分解 8.1 Snon 8.1.1 程序简介 8.1.2 构建过程 8.2 分析 8.2.1 串行优化 8.2.2 基准 8.2.3 串行优化结果 8.2.4 执行时间分析 8.2.5 函数调用关系图 8.3 设计与实现 8.3.1 线程化Snort 8.3.2 代码修改 8.3.3 流定位 8.3.4 流定位的代码修改 8.4 Snort调试 8.5 调整 本章小结第9章 虚拟化和分区 9.1 概述 9.2 虚拟化和分区 9.2.1 VMM体系结构 9.2.2 虚拟化的应用模型和优点 9.2.3 电信/嵌入式领域中的应用前景 9.3 技术和设计因素 9.4 虚拟化的电信实例 9.4.1 建立和配置BKM 9.4.2 计算和网络L/O性能 本章小结 相关阅读第10章 迎接低功耗Intel体系结构 10.1 体系结构 10.1.1 顺序执行 10.1.2 节能软件的多种技术 10.2 嵌入式系统调试 10.2.1 嵌入式系统调试历史概述 10.2.2 JTAG和嵌入式调试未来发展趋势 10.2.3 硬件平台的构建 10.2.4 操作系统和设备驱动程序调试 10.2.5 应用程序调试 10.2.6 多核调试的考虑因素 本章小结第11章 总结、趋势和结论 11.1 发展趋势 11.1.1 处理器发展趋势 11.1.2 软件挑战 11.1.3 带宽挑战 11.2 结论附录术语表

章节摘录

插图:下面进行的对话是过去几年里我和许多工程师进行讨论的概况,在此过程中我试着传达多核处理器以及相关工具的价值。这些对话也是激发我创作后续章节的动机。有一位打印成像公司的工程师问我,“用户使用四核处理器做什么?”起初我设法去回答这个问题,而且考虑了好久,也没能给出解答。我想说“我不知道”,但是没有说出来。我开始迅速转换思维,最终找到了这一问题的答案:多处理器已经在计算机系统应用多年了;除了降低成本之外,多核处理器与多处理器具有相同的优势。我想起了上研究生时在实验室的日子,当时大量的机器都在满负荷运转,用于图形学学生的光线跟踪项目。我便回答说,“是的,许多应用程序得益于采用多处理器提供的强大性能,一个简单的例子就是图像处理中可以把任务切分到不同的处理器核上进行。”接着,该工程师就说,“是啊,我知道一些应用程序将会从中受益,但是它就没有一点局限性吗?”我想到了大量的计算机用户运行文字处理软件或浏览互联网,对多核处理器的需求并不是十分迫切,更不用说现在还有最快的单核处理器可以使用。接着,我想到了以下这几点:·谁说640KB的计算机内存曾经任何人都需要呢?·具有多中央处理单元(Central Processing Unit,CPU)的系统还没有面向大众市场,因此开发人员也没有时间真正开发出从中受益的应用程序。我说,“这是一个典型的鸡和蛋的问题。由于价值决定价格,工程师往往千方百计地发挥设备的潜力,微处理器供应商也希望消费者看到多核的价值。随着开发人员深入的学习和应用,开发工具将更加成熟,多处理器开发也变得更加简单,这一过程也许会有些反复,但随着时间的推移,在给定开发系统中将有更多可以使用的处理器核。我们将发现,到底是什么样的应用程序能够充分利用多核处理器,利用了多少。”该工程师接着提问,“你提到了‘开发人员学习’。如果我还有能力去学习的话,那么我还需要学习点什么呢?”关于这一点,我确实不想打消该工程师的积极性,但也希望能坦率和真诚地把萦绕在我脑海里的几点内容说出来:·并行程序设计将成为主流,软件工程师需要能够熟练地设计和开发多线程程序。·在并行程序设计中,重视软件的稳定性和性能,软件工程师必须对处理器核的通信和控制进行协调。“要想从多核处理器中得到更多的益处,需要进行软件修改。进行这些修改的开发人员必须理解并行程序设计所带来的潜在问题。”“什么样的问题?”过度工作的工程师这样问道,同时也知道答案将不是他所喜欢的。“比如数据竞争、同步及与之相关的挑战,负载平衡等,这些问题下次再讨论。”


编辑推荐

《嵌入式多核系统软件开发嵌入式Intel体系结构实用指南》:多核开发速成在嵌入式软件开发中,如何才能充分利用多核处理器呢?使用多核和虚拟化技术,可在系统中同时运行多个操作系统,这一技术可以激发嵌入式设备的潜能。通过《嵌入式多核系统软件开发嵌入式Intel体系结构实用指南》可深入理解多核处理器,理解其在嵌入式应用开发过程中所面临的挑战及机遇。全书对在多核体系结构中处于领先的Intel体系结构进行了详细讲解及应用。《嵌入式多核系统软件开发嵌入式Intel体系结构实用指南》注重实践指导,并提供基本素材,帮助开发人员抓住应用多核处理器时的问题根源。对于嵌式应用,《嵌入式多核系统软件开发嵌入式Intel体系结构实用指南》通过详细的实例,逐步给出有效利用多核处理器的学习指导。《嵌入式多核系统软件开发嵌入式Intel体系结构实用指南》要点Intel多核体系结构应用,多核处理器给嵌入式系统带来的好处,利用线程进行标量优化,及并行优化虚拟化及任务分配,嵌入式系统调试。

图书封面

图书标签Tags

广告

下载页面


嵌入式多核系统软件开发嵌入式Intel体系结构实用指南 PDF格式下载



相关图书