标题：嵌入式多核系统软件开发嵌入式Intel体系结构实用指南
图书信息
出版社: 机械工业出版社; 第1版 (2010年2月1日)
外文书名: Software Development for Embedded Multi-core Systems A Practical Guide Using Embedded Intel Architecture
丛书名: 计算机科学丛书
平装: 245页
正文语种: 简体中文
开本: 16
ISBN: 7111291069, 9787111291060
条形码: 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 结论
附录
术语表