32位处理器和64位到底有什么不同?

王朝知道·作者佚名  2012-07-19
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡
 
參考答案:

关于32位处理器和64位处理器有很多讨论和争论,有很多不同的观点,我本人也没有非常非常深入地研究这些。但是常常被朋友问及诸如下面这些问题,只能是一家之言,作为参考:

问题1:64位比32位可以用到更大的内存,这是它的最显著的特性,这使得很多需要大内存的应用程序可以运行。大内存的应用,减少了读写硬盘的时间,同时,CPU大缓存的应用也协调了CPU与内存之间的速度差异,使很多程序运行时间大大缩短。但我有一个问题:是不是只有那些需要大内存的程序才能体验64的优势,而那些内存需求小的程序的性能提升不明显?

回答1:这一点你很对:64位技术支持的大内存是科学与技术计算领域所非常需要的,尤其是smp系统。应该说,从32位到64位,就像从8位到16位,从16位到32位一样,我们获得了额外的并行处理能力,性能是稳步提升的。但是,从32位到64位,不仅仅是位数的增加,处理器的结构和设计也在变化,同时还融入了更多的设计思想。

我的观点是:不能笼统地说64位比32位有什么优势。应该全面比较64位时代的处理器与32位时代的处理器的差异,64位时代的处理器比32位时代的处理器性能的提升不仅仅是位数的增加带来的。处理器的比较,涉及到功能单元,指令集,和各种性能提升技术,一句两句说不清楚,我们可以找个时间再聊。

我认为应该这样说:一个程序能不能体验64位时代处理器的优势,能不能得到性能的提升,取决于程序计算的本质。如你所说,一个需要大内存的程序,就能够体验到64位大内存的优势;一个程序的计算本质正好适合64位时代处理器的结构、指令集、功能单元设计等等方面的各种特性,这个程序就应该得到性能的提升。比如说,如果一个程序不需要很大的内存,但需要频繁存取内存,则Opteron的cpu中集成的内存控制器就对性能的提升大有帮助。当然了,所有这些都需要编译器的支持。

问题2:从软件角度考虑,64位要发挥应有的性能需要64位软件的支持,在一个兼容32位技术的64位机上运行32位程序,性能也得不到提升。

回答2:最初安腾2是不兼容32位的,后来Opteron支持32位与64位兼容模式,intel也不得不跟进。兼容模式主要是商业考虑,会增加处理器设计难度,对64位没有什么好处。如果你的32位程序不能针对64位处理器进行优化,性能得不到提升是正常的。

问题3:是否即使有了64位CPU,大内存,64位软件,对于某些应用64位也未必比32位快?我做了一个测试,同样的任务在Itanium2 1.3和Xeon 2.8的机器跑,Itanium2要略慢些,我的程序用时主要消耗在CPU上(而非IO和网络上),是否对于这种CPU密集型程序,64位技术并没有明显优势,在这种情况下CPU的计算能力(整数,浮点)是决定性因素,虽然64位能够带来是整体性能的提升,但是在CPU 运算能力成为瓶颈的时候,Itanium还是会输给高主频的Xeon?

回答3:假设64位处理器具有很多优点,设计合理,它也只是有了使程序性能得到提升的潜能。至于能不能得到提升,还受到很多因素影响。编译器是最关键的因素之一。所谓高性能计算,这个"性能"二字才是最关键的。性能的追求永远是无止境的。性能的追求是很难的,这就是我们UnitedHPC希望能够为客户服务的地方。一个高性能计算程序要针对计算机的结构、问题特性,以至于处理器的类型进行优化,才能最终得到你所需要的性能。我就见过客户的程序经过性能优化得到100倍性能提升的例子。我自己就亲自处理过客户程序经过性能优化得到30倍性能提升的例子。你的例子,我现在不好作评论。如果你愿意,有时间我们可以坐下来研究一下。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航