《嵌入式多核系统软体开发嵌入式Intel体系结构实用指南》是2010年2月1日机械工业出版社出版的图书。
基本介绍
- 书名:嵌入式多核系统软体开发嵌入式Intel体系结构实用指南
- ISBN:7111291069, 9787111291060
- 页数:245页
- 装帧:平装
图书信息
出版社: 机械工业出版社; 第1版 (2010年2月1日)
外文书名: Software Development for Embedded Multi-core Systems A Practical Guide Using Embedded Intel Architecture
丛书名: 计算机科学丛书
正文语种: 简体中文
开本: 16
条形码: 9787111291060
尺寸: 25.8 x 18 x 1 cm
重量: 381 g
内容简介
《嵌入式多核系统软体开发嵌入式Intel体系结构实用指南》系统阐述了嵌入式多核系统软体开发的技术,并基于主流的Intel嵌入式多核系统给出许多开发实例。全书共分为11章,分别介绍了嵌入式多核处理器的概念、嵌入式Intel多核体系结构处理器、多核处理器性能量化方法、嵌入式多核处理器移植、可用性技术、多执行绪开发、执行绪级并行最佳化、虚拟化和分区、多处理器最佳化技术、电能利用技术等内容。
《嵌入式多核系统软体开发嵌入式Intel体系结构实用指南》採用模组化的结构安排、理论阐述与套用实例相结合的叙述方式,最大限度帮助读者掌握嵌入式多核开发技术。
《嵌入式多核系统软体开发嵌入式Intel体系结构实用指南》可作为计算机科学与技术、电子科学与技术、电子信息工程等专业相关师生学习用书,也可供相关科研与工程技术人员参考。
目录
译者序
前言
致谢
第1章 绪论
1.1 写作目的
1.2 多核处理器的出现
1971年,英特尔推出的全球第一颗通用型微处理器4004,由2300个电晶体构成。当时,公司的联合创始人之一戈登摩尔(Gordon Moore),就提出后来被业界奉为信条的“摩尔定律”——每过18个月,晶片上可以集成的电晶体数目将增加一倍。
在一块晶片上集成的电晶体数目越多,意味着运算速度即主频就更快。今天英特尔的奔腾(Pentium)四至尊版840处理器,电晶体数量已经增加至2.5亿个,相比当年的4004增加了10万倍。其主频也从最初的740kHz(每秒钟可进行74万次运算),增长到现在的3GHz(每秒钟运算30亿次)以上。
当然,CPU主频的提高,或许在一定程度上也要归功于1975年进入这个领域的AMD公司的挑战。正是这样的“双雄会”,使得众多计算机用户有机会享受不断上演的“速度与激情”。一些仍不满足的发烧友甚至选择了自己超频,因为在玩很多游戏时,更快的速度可以带来额外的饕餮享受。
但到了2005年,当主频接近4GHz时,英特尔和AMD发现,速度也会遇到自己的极限:那就是单纯的主频提升,已经无法明显提升系统整体性能。
以英特尔发布的採用NetBurst架构的奔腾四CPU为例,它包括Willamette、Northwood和Prescott等三种採用不同核心的产品。利用冗长的运算流水线,即增加每个时钟周期同时执行的运算个数,就达到较高的主频。这三种处理器的最高频率,分别达到了2.0G、3.4G和3.8G。
按照当时的预测,奔腾四在该架构下,最终可以把主频提高到10GHz。但由于流水线过长,使得单位频率效能低下,加上由于快取的增加和漏电流控制不利造成功耗大幅度增加,3.6GHz奔腾四晶片在性能上反而还不如早些时推出的3.4GHz产品。所以,Prescott产品系列只达到3.8G,就戛然而止。
英特尔上海公司一位工程师在接受记者採访时表示,Netburst微架构的好处在于方便提升频率,可以让产品的主频非常高。但性能提升并不明显,频率提高50%,性能提升可能微不足道。因为Netburst微架构的效率较低,CPU计算资源未被充分利用,就像开车时“边踩剎车边踩油门”。
此外,随着功率增大,散热问题也越来越成为一个无法逾越的障碍。据测算,主频每增加1G,功耗将上升25瓦,而在晶片功耗超过150瓦后,现有的风冷散热系统将无法满足散热的需要。3.4GHz的奔腾四至尊版,电晶体达1.78亿个,最高功耗已达135瓦。实际上,在奔腾四推出后不久,就在批评家那里获得了“电炉”的美称。更有好事者用它来玩煎蛋的游戏。
很显然,当电晶体数量增加导致功耗增长超过性能增长速度后,处理器的可靠性就会受到致命性的影响。就连戈登摩尔本人似乎也依稀看到了“主频为王”这条路的尽头——2005年4月,他曾公开表示,引领半导体市场接近40年的“摩尔定律”,在未来10年至20年内可能失效。
多核心CPU解决方案(多核)的出现,似乎给人带来了新的希望。早在上世纪90年代末,就有众多业界人士呼吁用CMP(单晶片多处理器)技术来替代複杂性较高的单执行绪CPU。IBM、惠普、Sun等高端伺服器厂商,更是相继推出了多核伺服器CPU。不过,由于伺服器价格高、套用面窄,并未引起大众广泛的注意。
直到AMD抢先手推出64位处理器后,英特尔才想起利用“多核”这一武器进行“帝国反击战”。2005年4月,英特尔仓促推出简单封装双核的奔腾D和奔腾四至尊版840。AMD在之后也发布了双核皓龙(Opteron)和速龙(Athlon) 64 X2和处理器。但真正的“双核元年”,则被认为是2006年。这一年的7月23日,英特尔基于酷睿(Core)架构的处理器正式发布。2006年11月,又推出面向伺服器、工作站和高端个人电脑的至强(Xeon)5300和酷睿双核和四核至尊版系列处理器。与上一代台式机处理器相比,酷睿2双核处理器在性能方面提高40%,功耗反而降低40%。作为回应,7月24日,AMD也宣布对旗下的双核Athlon64 X2处理器进行大降价。由于功耗已成为用户在性能之外所考虑的首要因素,两大处理器巨头都在宣传多核处理器时,强调其“节能”效果。英特尔发布了功耗仅为50瓦的低电压版四核至强处理器。而AMD的“Barcelona”四核处理器的功耗没有超过95瓦。在英特尔高级副总裁帕特基辛格(Pat Gelsinger)看来,从单核到双核,再到多核的发展,证明了摩尔定律还是非常正确的,因为“从单核到双核,再到多核的发展,可能是摩尔定律问世以来,在晶片发展历史上速度最快的性能提升过程”。
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 结论
附录
术语表