多核CPU技术白皮书

上传人:ji****72 文档编号:45692132 上传时间:2018-06-18 格式:PDF 页数:17 大小:379.26KB
返回 下载 相关 举报
多核CPU技术白皮书_第1页
第1页 / 共17页
多核CPU技术白皮书_第2页
第2页 / 共17页
多核CPU技术白皮书_第3页
第3页 / 共17页
多核CPU技术白皮书_第4页
第4页 / 共17页
多核CPU技术白皮书_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《多核CPU技术白皮书》由会员分享,可在线阅读,更多相关《多核CPU技术白皮书(17页珍藏版)》请在金锄头文库上搜索。

1、Copyright 2007 杭州华三通信技术有限公司 第1页, 共17页多核CPU技术白皮书 关键词:关键词:多核CPU、多线程、CMP 摘摘 要:要:本文基于Herb Sutter先生“The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software”的精彩中文版“免费午餐已经结束软件历史性地向并发靠拢”修改而成(译文发表于程序员2006.11)。英文原稿于2005年3月发表在Dr. Dobbs Journal,被Rickard Oberg(J2EE奇才,JBoss作者)认为是2005年度世界最重要技术文章之

2、一。文章深刻分析了CPU性能提升技术的发展历史与未来趋势、并发的重要性及其与软件的关系。从中可以看出,多核CPU技术代表了当前CPU应用的大趋势。 缩略语:缩略语: 缩略语 英文全名 中文解释 MMX Multi Media Extended 多媒体扩展指令集 SSE Streaming SIMD Extensions 单指令多数据流扩展 SIMD Single Instruction Multiple Data 单指令多数据 ILP Instruction Level Parallelism 指令级并行机制 CMP Chip Multiple Processor 片上多处理器系统 Copyr

3、ight 2007 杭州华三通信技术有限公司 第2页, 共17页目 录 1 多核CPU产生的历史背景.3 1.1 提升CPU性能的传统方法.3 1.1.1 提升时钟速度.4 1.1.2 优化指令执行.4 1.1.3 增大片内高速缓存.4 1.1.4 小结.4 1.2 提升CPU性能的瓶颈.5 1.2.1 时钟主频.5 1.2.2 执行优化.7 1.3 多核CPU的出现是CPU技术发展的必然.9 1.3.1 需求.9 1.3.2 从多CPU系统到多核CPU系统.9 2 多核CPU技术.10 2.1 多核CPU的优势.10 2.1.1 性能密度.10 2.1.2 系统负载能力.11 2.1.3 功

4、耗.11 2.1.4 多线程技术 .12 2.2 多核多线程CPU技术的发展.13 2.3 多核CPU对软件开发的影响.15 2.4 多核CPU对硬件开发的影响.16 3 多核CPU技术展望.16 4 附录 .17 4.1 作者简介.17 Copyright 2007 杭州华三通信技术有限公司 第3页, 共17页1 多核多核CPU产生的历史背景产生的历史背景 1.1 提升CPU性能的传统方法 现代计算机技术的基石CPU,其性能在很长时间以来一直以指数方式发展,主要基于两个原因:首先,构成CPU和存储器的晶体管数目和速度一直按照摩尔定律发展,直接导致CPU的性能得以快速提升;其次,实际的CPU发

5、展速度甚至超过了摩尔定律的预测,因为CPU设计者能够在现代芯片设计中放置更多的晶体管来实现更高的软件并行度。这种发展情形可以用Intel的CPU发展历程来描述。 图1 Intel CPU的时钟速度和晶体管集成规模演变历史 自从在上世纪70年代发明了CPU,一直采用传统的冯.诺依曼模型,只有一些很小的改动和例外。对编程者而言,每台计算机都是包含一个单一的CPU,执行一系列预先编好的连续的指令,CPU与存储器相连,存储器存储所有的程序数据。因为对Copyright 2007 杭州华三通信技术有限公司 第4页, 共17页早期CPU的后向兼容性可以带来很好的经济性,因此芯片设计者原则上只是增强已有的设

6、计,使性能进一步提高,而体系架构变动很小,这种趋势维持了几十年的时间。 过去30年里,CPU设计者主要从三个方面提高CPU性能。 1.1.1 提升时钟速度 首先,提升时钟速度就是提升CPU工作的节拍,让CPU跑得更快,也就意味着能让同样工作能够在更短的时间里完成,这实际上也是我们所看见的、最关心的CPU性能表示方法,对于普通大众来说,主频简直就是CPU性能的代名词。 1.1.2 优化指令执行 其次是优化指令执行效率,尽量压榨每个CPU时钟周期,在同样的时间内完成更多工作。 现代CPU设计中,一些指令的执行被不同程度地做了优化,如流水线设计、分支预测、同一时钟周期内执行更多指令,甚至指令流再排序

7、支持乱序执行等等。引入这些技术的目的是让指令流更好、更快执行,降低延迟时间,确保每一个时钟周期都不浪费,榨出芯片的最后一点工作潜能。在CPU内部,经常采用增加指令流水线长度的方法,更多阶指令流水线可以进一步提供指令的执行频率,这些指令通常被分解为更小的指令片,这种设计还可以大大减少每个时钟周期进行切换所需要的逻辑电路数量,以明显提高每个时钟周期的指令执行效率。从上世纪80年代到今天,以前一条指令需要几个时钟周期可以执行完成,现在需要20甚至更多的周期。但与此同时,超标量CPU设计也得以蓬勃发展,在一个时钟周期内可以执行多条指令,即在指令流里面找出那些结果互不依赖可以同时在一个时钟周期内并发执行

8、的指令,同时执行。相对原始的程序而言,实际上就是乱序执行。这样一来,极大地提高了CPU的处理性能。 1.1.3 增大片内高速缓存 第三个是增大片内高速缓存(即Cache)。内存一直比CPU慢很多,因此让数据近可能靠近CPU就很重要最好就是直接放在CPU片内了。片内缓存容量持续飚升了很多年,现在的主流芯片商出售的CPU都带有2M甚至更高的二级缓存。 1.1.4 小结 上述方法带来的CPU性能提升,无论是顺序(非并行的单线程或单进程)、还是并发执行的程序,都能直接受益。这点很重要,我们目前大量的程序都是单线程的,Copyright 2007 杭州华三通信技术有限公司 第5页, 共17页而且在未来仍然有重要的存在价值。当然,适当时候,我们重新编译程序,可以利用CPU的新指令(如MMX、SSE)和新特性提升系统性能。但总的来说,即使放弃使用新指令和新特性,不做任何更改,老程序在新CPU也会跑得更快,这当然让人高兴。 图2 IntelCPU性能发展概况 曾经的世界是这般美好

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号