Oscar的部落格publicmain复制地址

Power your innovation

记得在90年代的时候,大多数的程序员正在从C、PASCAL这类编译性语言中走出来,开始学习如何面向对象(Class)的编程。当时在做编译的时候,大多数程序员面对着比C臃肿的类(Class)包装程序代码都会产生疑虑。这时候Intel出来告诉我们“程序员应该把精力放在如何丰富程序的应用上,而不必担心程序的执行效率问题,如果我们的奔腾2不够快,我们还有奔腾3、奔腾4、奔腾5……”

历史也正朝Intel所意料的方向去发展,新奔腾处理器的应用确实使得程序执行效率日渐加快,而面向对象的编程语言在90年代开始被广泛使用,Intel的处理器也从奔腾2、奔腾3发展到奔腾4,多年来奔腾处理器始终以最强的性能,延续着摩尔定律并代表着各个时代处理器发展的最新进程。

Intel的诺言一直兑现到4GHz处理器计划的取消,受制于处理器散热、功耗、泄露电流等一系列的问题,Intel处理器不能再像以前一样以提高频率来增强性能,而把旺盛的研发精力投入到多核心处理器的研发上。

在过去三十年里,处理器的设计者主要从三个方面提高处理器的性能,分别是时钟速度,执行优化和缓存,而头两个就是从线性执行流程上考虑的。这使得大多数软件不用做版本的升级甚至原封不动,就可以轻松而持续的享受处理器性能提升的成果。让程序的执行速度大大加快。比如同一款Photoshop6.0版本软件在P3机器上和在P4机器上执行速度就大不一样。

而接下来的数年里,新型芯片的性能提升将主要从三个方面入手,其中仅有一个沿袭是过去的:(1)超线程(2)多核(3)缓存。而头两个就是从并行执行流程上考虑的,对单线程的应用程序毫无帮助,只有最后一个增加缓存的措施才对单线程的软件执行有所帮助。但如果你希望你的程序能获得更大的性能提升,那就需要重新编写你的并发程序。在我们之前针对四核处理器QX6700以及双核处理器X6800的测试表明(注1):软件厂商想利用新处理器来加速软件执行效率的免费午餐已经结束,要想再利用新处理器来提升程序的执行效率,就必须重新设计程序的并发机制,这样才能更好的利用多核处理器。
Intel目前已经在规划未来要推出100颗内核的处理器,那个时候单线程的应用最多就只能使用到100颗内核处理器的百分之一性能,“程序员应该把精力放在如何丰富程序的应用上,而不必担心程序的执行效率问题,如果我们的奔腾2不够快,我们还有奔腾3、奔腾4、奔腾5……”的说法在今天已经不切实际,4核心Kentsfield处理器的发布无疑是告诉软件厂商:已经不能再通过升级处理器提高程序的运行性能,再没有免费的午餐可以享用。

注1:http://diy.yesky.com/cpu/141/2653141.shtml


 

作者:Oscar 阅读() 评论()  编辑 发表于:2007-07-20 08:14
文章评论
发表评论

标题 *  
姓名 *  
主页
内容 *  
   验证码: *