问:你对处理器双核化有什么看法?看起来它们出现的部分原因是出于能源的考虑,部分则是因为软件厂商已经开始掌握多线程编程技术了。 答:对于这个问题,服务器和客户端的情况并不相同。在服务器领域,并行型号已经存在20年了。几乎每台服务器都是基于对称型多处理机系统,双核处理器只不过是集成在一枚芯片内的双路SMP系统。而在客户端领域,人们日常工作很多时候都会使用两个线程,例如在处理邮件的同时进行病毒扫描或者压缩MP3文件。许多应用程序都能很好地利用双处理器。
问:那么两个以上处理器核心又如何? 答:我们会在大约2007年的时候推出四核心架构。现在在客户端的问题是软件。在虚拟技术、游戏和科学运算以外,愿意花时间在并行代码的程序员不多。双核之后是什么?如果你有足够的硅晶,能用一个不错的缓存架构配合四处理器,或者用三核心搭配比前者更佳的缓存架构,哪一种才是正确答案呢?答案取决于客户端软件未来两三年的发展。未来桌面系统的使用模式是什么?这些问题都将影响设计中的决策。
可以肯定的是,软件的发展要比硬件慢得多。
现在已经完成的x86客户端软件代码可能有1000亿行。有些人认为当中许多可能要重写以便能在五核心甚至六核心处理器上有效运行,我不认为这种做法是件好事。
问:那么Opteron处理器呢?在服务器领域,Opteron是否会有重大改变? 答:说到服务器领域,应用类型非常繁多,其中部分是基于Java和XML,我们现在在研究是否有扩展指令集能提高两倍甚至三倍性能。我们要考虑硅晶圆的使用效率。我们研究各种工作负荷、性质是为了找出在微处理器架构和指令层的解决办法。
通常来说,多用20%的硅晶圆能获得80%的性能增益已经很不错了。某些情况下,协处理器具有明显的优势。我们希望能将协处理器连上HyperTransport总线的工作简化,可能的方法是集成Java、XML、向量浮点单元等需要高带宽的协处理器。不过,现在还有些问题没解决。今天已经有了即时(JIT)编译器,一旦将之放到硅晶圆内就成了问题,我们需要在何时用硬件,何时用编译器之间取得平衡。我认为,硬件集成XML引擎的日子不会太远。
问:随着生产技术向65、45、32纳米不断缩微,处理器性能会有怎样的提升? 答:这取决于你如何使用它。如果你找到了更好地理解应用程序特性的方法,这就像关闭处理器中没有用的核心,提高能有效处理这些线程的一两个核心的电压和频率一样。不过,这种根据软件特性优化硬件架构的方法也是三五年之后的事了。
如果你只以相同时钟频率下每个核心运行情况的传统方式来看它,我想你不会见到太大的性能提升。要了解到每个核心的电压和频率变化,才能体会到当中的重大改善。
关闭其中一个核心并不难,难在要以非常短的时间内做到这一点以及即时打开。这需要从非常低能耗的环境下迅速恢复以及有效保留执行环境,时间可能在一秒之内,即用户按下按键的瞬间。这是我们眼下正积极研究的东西,处理得好的话,唯一需要改变的只是BIOS。 |