本书主要讲了片上多处理器(chipmultiprocessor),又称多核微处理器或简称CMP,已成为构造现代高性能微处理器的重要技术途径。片上多处理器领域正在蓬勃发展,具有巨大的商业和科研价值。本书共11章:第1章介绍了当今多核片上系统所面临的趋势与挑战;第2章讲述了在嵌入式多处理器平台上的验证和组合的问题;第3章分析了在片上处理器系统中硬件支持下的有效资源利用和建议方法,这些方法用来解决合理利用并行资源的问题;第4章阐明了在多核上的映射应用;第5章讲述了多核芯片消息传递的案例;第6章主要给读者阐述了FPGA在RAMPSoC中的应用、优点和前景,以及被称为CAP-OS的特殊用途操作系统;第7章提出了一种新的综合系统物理设计方法;第8章考察了低功耗系统级芯片的系统级设计;第9章深入探索了对于嵌入式应用空间多核系统所提供的机遇、多核系统设计相关的挑战以及一些创新的方法来应对这些挑战;第10章介绍了高性能多处理器片上系统作用、前景以及发展趋势;结束全书的一章给读者讲述了一种被称为侵入计算的新型并行计算系统。
适读人群 :从事电子信息、微电子设计、计算机硬件设计研究工作的相关人员、科研院所研究人员
本书主要讲了片上多处理器(chip multiprocessor),又称多核微处理器或简称CMP,已成为构造现代高性能微处理器的重要技术途径。片上多处理器领域正在蓬勃发展,具有巨大的商业和科研价值。
根据摩尔定律,可以预见在未来10年间半导体的集成密度会进一步提高,这预示着在一片小小的芯片上将会集成数以几十亿计的晶体管。然而越来越明显的是,使用更为深入的传送途径和更具实力的超标宽流量技术来开发这样规模的并行指令水平已经到达极限了,同时,对于大存储量的片上闪存来说,大部分晶体管预算也是这样的情况。特别需要指出的是,由于散热和高能耗问题,使用较高的时钟频率来改善系统的性能已经变得举步维艰。尤其是后者(指高能耗问题),不仅仅对于移动系统和设备来说成为了技术性的问题,而且由高能耗造成的在预算中的显著成本因素很快就会成为计算中心的心腹之患。由此可见,在任何系统层面,提高系统性能只有开发并行计算这条路可走了。
因此,对于高性能计算系统、高端服务器以及嵌入式系统,多核架构的大规模范式性的改变正在悄然形成。在单一芯片上集成多核可以使系统显著地提高其性能,而无需提高时钟频率。对于同样的性能来讲,多核架构比单核架构有更好的“性瓦比”[性能和能耗之比,功率单位为“瓦特(简称瓦)”]。
在科学计算中,对于CPU(中央处理单元)时间消耗较大的场合,将多核技术和协处理器技术结合起来可以大大提升计算能力。同时,对于在嵌入式领域特殊目的的应用,这种技术也同样有用武之地。特别是在硬件中,通过实施其计算密集核,基于加速器的FPGA(现场可编程序门阵列)不仅仅提供了给某个应用提速的机会,而且也适应了该应用的动态行为。
本书的目的是评价在MPSoC(多处理器片上系统)架构中未来的系统设计策略,在硬件设计和工具集成(现存的开发工具)两个方面展开讨论。当然,在MPSoC与可重构架构相结合的新趋势方面,本书也作为一个研究主题。本书主要的重点内容是在系统架构、设计流程、工具开发、应用以及系统设计方面。
作者衷心地感谢所有文献作者及其合作者为本书最终付梓所作出的杰出贡献。此外,还要感谢Springer集团的Amanda Davis夫人、Charles Glaser先生以及Jeya Ruby女士所给予的大力支持和耐心帮助。
Michael Hübner和Jürgen Becker 于德国巴登
译者序
原书前言
第1章多核片上系统介绍——趋势与挑战1
1.1从片上系统到多处理器片上系统1
1.2多处理器片上系统的通用架构2
1.2.1处理单元3
1.2.2互连3
1.2.3电源管理3
1.3电源效率与适应性4
1.4复杂性与可扩展性5
1.5异构与同构方法6
1.5.1异构多处理器片上系统7
1.5.2同构多处理器片上系统8
1.6多变量优化10
1.6.1静态优化10
1.6.2动态优化11
1.7静态与动态中心化和分散方法的对比15
1.8小结16
缩略语17
参考文献18
第1部分应用映射与通信基础设施
第2章独立开发、验证与执行的可组合性与可预测性23
2.1简介23
2.2可组合性与可预测性25
2.2.1专用术语25
2.2.2可组合资源29
2.2.3可预测性资源32
2.2.4可组合与可预测资源33
2.3处理器芯片35
2.3.1可组合性35
2.3.2可预测性38
2.4互连38
2.4.1可组合性39
2.4.2可预测性40
2.5存储芯片40
2.5.1可预测性41
2.5.2可组合性45
2.6实验46
2.7小结48
参考文献50
第3章在片上多处理器系统中硬件支持下的有效资源利用53
3.1简介53
3.2学习网络处理应用55
3.2.1商用网络处理器56
3.2.2网络应用实例57
3.2.3FlexPathNP方法58
3.2.4通过网络处理可以在多核域中学到什么62
3.3学习高性能计算和科学计算63
3.3.1芯片上的分层多拓扑网络64
3.3.2任务管理67
3.3.3同步子系统68
3.3.4从超级计算中可以在多核领域学到什么69
3.4自然界生物启发、自组织系统的学习69
3.4.1自然界独立生存体的集体行为和技术系统70
3.4.2自适应IP核的技术实现71
3.4.3多核领域从自然界能够学到什么75
3.5小结75
参考文献76
第4章在多核上的映射应用78
4.1PALLAS78
4.2驱动应用79
4.2.1基于内容的图像检索80
4.2.2光流跟踪81
4.2.3静态视频背景提取83
4.2.4自动语音识别83
4.2.5压缩传感MRI85
4.2.6市场价值的风险估计计算金融86
4.2.7游戏87
4.2.8机器翻译88
4.2.9本节小结89
4.3并行性能的观点89
4.3.1不被要求的线性缩放90
4.3.2衡量实际的实物硬件问题90
4.3.3考虑算法91
4.3.4归纳91
4.4模式的框架91
4.4.1应用程序框架92
4.4.2规划框架93
4.5小结95
4.6附录96
4.6.1结构模式96
4.6.2计算模式96
4.6.3并行算法策略模式96
参考文献97
第5章消息传递给多核芯片的例子99
5.1度量标准比较的并行编程模型99
5.2对比框架100
5.3对比消息传递和共享内存101
5.3.1议程并行102
5.3.2结果并行102
5.3.3专家并行103
5.4框架结构的影响103
5.5讨论和小结104
参考文献105
第2部分多处理器系统的可重构硬件
第6章适应性多处理器片上系统构建:自主系统设计和运行时间支持的
新角度109
6.1简介109
6.2背景:硬件重新配置的介绍111
6.2.1时钟重置基本概念111
6.2.2时钟重置基本概念和配置间隔分类113
6.3有关工作115
6.4RAMPSoC方法116
6.5RAMPSoC的硬件架构118
6.6RAMPSoC的设计方法120
6.7CAP-OS:用于RAMPSoC配置访问端口操作系统123
6.8小结与展望126
参考文献126
第3部分多处理器系统的物理设计
第7章设计工具和芯片物理设计模型131
7.1简介131
7.2MOS复杂门的应用132
7.3减少线长133
7.4减少功率134
7.5布局策略134
7.6一个晶体管网络的布局135
7.7使用ASTRAN帮助模拟单元的合成139
7.8小结140
参考文献141
第8章电源感知多核SoC芯片和NoC设计142
8.1简介142
8.2功率估算模型:从电子表格到功率状态机145
8.2.1处理器的功耗模型147
8.2.2存储功耗模型148
8.2.3片上互连的功耗模型148
8.2.4功率模型的嵌入式软件150
8.2.5功率估算、分析和优化工具151
8.2.6标准化和功率格式153
8.3电源管理154
8.3.1管理技术分类155
8.3.2功率的动态监测和散热管理156
8.4未来趋势159
参考文献160
第4部分多处理器系统的趋势与挑战
第9章嵌入式多核系统:设计挑战与机遇167
9.1简介167
9.2“真实世界”的要求168
9.2.1恒功率持续的高性能要求168
9.2.2高级系统集成的需求168
9.3产业增长的驱动力和可持续发展的大趋势169
9.3.1互动世界170
9.3.2连通世界170
9.3.3安全世界170
9.4区分多核SoC特性172
9.4.1虚拟化172
9.4.2异构多核系统173
9.5多核设计:关键因素174
9.6性能174
9.7系统带宽175
9.8软件复杂性176
9.9SoC集成176
9.9.1面积和功率177
9.9.2互连的关键作用178
9.9.3互连拓扑的选择179
9.9.4软件180
9.9.5异构多核180
9.10多核设计:挑战与机遇181
9.10.1汇合点性能目标181
9.10.2基于标准的编程模型183
9.10.3高级调试与优化187
9.11小结187
参考文献188
第10章高性能多处理器片上系统:面向大规模市场的芯片架构189
10.1简介189
10.1.1大规模市场与高性能189
10.2比例形式与用户期望192
10.2.1比例的限制193
10.3CPU的趋势194
10.3.1功率195
10.3.2暗硅195
10.3.3如何处理暗硅198
10.4小结203
参考文献204
第11章侵入计算:概述205
11.1简介205
11.1.1并行处理已经成为主流206
11.1.2在未来2020年及以后的困难和不足208
11.1.3侵入计算的挑战和原则209
11.1.4支持侵入计算的架构挑战209
11.1.5用于侵入计算支持