不支持Flash

分析:AMD与Intel展开四核拉锯战(2)

http://www.sina.com.cn 2007年10月26日 15:09  计世网

  Barcelona与Core英雄相惜

  所谓君子合而不同,Barcelona和Core也有异曲同工之妙。在Core架构中的命令融合,可以大大提高流水线的利用率,在Barcelona中也有类

  似的机制,能够把三条宏指令进行融合,从而大大提高效率。另外,Barcelona还另外在指令解析阶段增加了指令,避免出现问题。而Core则是通过添加指令解析阶段的流水线,大大提高指令解析的带宽,并且把执行完的指令释放带宽也提高到每个周期4条指令。

  类似还包含WriteCombining,两者都有类似的机制,在计算的时候通过计算Store的内存范围,在同一个范围内的内存读写被安排在一块集中读写,以便于提高带宽的利用率,这也是与串行的思想相符合的。但是这种延迟的读写和为了提高效率的读写一旦出现问题,软件出现崩溃的概率虽然没有那么大,但是基本上是白用功了。

  FastForword也是类似的。有一些的计算是前后相继的,也就是说后一个计算的因子可能就是前一个计算的结果,那么只要有这种情况出现,就可通过FastForword这样的技术把上一个计算结果暂时存储起来,不写到缓存中去,等到下一个计算load的时候,即可把数据释放出去,从而节省了命中、等待的时间,大大提高效率。这在一些循环运算中尤其多见,比如高清内容的编码和解码,有了这个技术能够大大提高编码和解码的效率,这也是最近的处理器能够从容应对这些运算的根本原因。

  另外,相同的方面还包含Barcelona首次使用了8个128位的XMM寄存器,用于多媒体指令的存储。这样可以大大提高多媒体指令的执行效率从而能够在执行编码解码的矩阵运算中,拥有更宽的带宽。并且这样的寄存器十分灵活,能够方便地构成64位或者多个32位的组合,要比通用寄存器方便。

  尽管如此,Barcelona和Core都尽量避免循环的运算。以前处理器之所以无法应付解码运算,很大程度上是循环运算的带宽和效率太低,无法应付视频解码的需求,在Pentium时代添加MMX指令和寄存器目的就是增加解码带宽需求。

  但是,循环运算是编程中的最普遍的运算之一,另外一项则是跳转命令,经常的比较和判断对处理器而言是灾难性的。因而要对付循环带来的问题,需要增加缓存的容量,Core架构能够支持64个循环,Barcelona连像连续加这样的运算最好分成四个,尽量少用抽象的运算,从中可以看出差别,为Barcelona进行优化相当不容易。一旦是递归的算法,效率会大大降低,在编程的时候,恐怕要尽量避免这种情况出现。

  谁将是基准

  Barcelona改进不可谓不少。包含三个整数运算和浮点运算单元以及更为完善的指令解析流水线和深思速率采取跟Core类似的一些关键技术,Barcelona绝对不仅仅是一个过客。事实上,在浮点方面相当强悍,增加了浮点运算的单元; 另外,浮点运算本来就因为AMD系统带宽大有优势。

  但是,技术对制造的妥协又决定了它必然是一个过渡产品,它的价值最多是告诉世人,AMD有了四核处理器,并为随后的多款产品打下基础,就Barcelona自身而言,不会给人太多的惊喜。Intel很容易就能赶上来,最近的45nm产品好像还大有把Barcelona打落下来之势。

  内核之间的环状连接也是问题。上文已经说到间隔的两个处理器通信恐怕需要通过三级缓存才最好,那么处理器直接连接的意义便小多了,跟拼接的两个处理器类似。也就是说,不会与Intel现行的四核处理器有多大区别。而且,由于数据交换的频繁也会降低连接带来的好处,从目前的制造工艺来看又不可能做到全连接,在四核之上,它的内核直连的优势将淡然无存。

  当然,它也设立了一些新的基准。比如通过判断指令是标量和向量,确定不同的解析流水线,并且通过措施保证在进行其中一个运算的时候,另外一个不对其进行干扰。同样的,在整数和浮点的运算中,也预先判知从而进入不同的流水线,并且通过LZCNT/POPCNT这样的命令来保证流水线的正常运行,这种策略是相当有趣的。

  同时还把load/store控制单元进行了改变,这个最重要的单元涉及到处理器执行效率的高低和与缓存/内存之间的复杂关系,通过平行地把这个单元独立出来,并且提供两个并行的操作方式,保证了数据装载和存储的效率。LSU能够存储一个128位数据或者存储两个64位数据抑或是混合。

  下一代处理器的设计将继续在内存读取的效率上大作文章,把内存读取当作一个流水线来对待。在Core架构中有预先读取的命令,而Barcelona显然在存储上更有优势。结合WriteCombining,可以大大提高处理器的I/O效率,不过根据AMD提供的资料可以看出,针对连续的读取,似乎不太适合WriteCombining,这将会对系统的性能带来很大的影响。

  也有文献说,Barcelona各个内核能够运行在不同的频率上,而不是简单地统一频率。处理器提供5个状态,在不同状态下,处理器的频率和功耗将有变化,并且根据系统电源板的需求可以关掉其中的一个内核,这个时候处理器的频率也只有几百兆赫兹。

  这个功能是设计给系统板的设计人员,不一定能够用到处理器的应用中。也就是说

操作系统或者软件恐怕无法针对这个特性进行开发,至于是否会成为一种应用状态,还要看未来的走向。

  在四核逐渐成为议题之后,大家开始考虑超过四核的状况。最近AMD又有三核心的处理器,这就意味着在未来很难说是否会像目前这样的模式,说不定以“三”为基准的多核处理器机制将成为主流。

  三核心处理器有不可多得的优势,全连接相当简单,而且如果有两组三个核的处理器,可以实现两个组之间的组合,不需要添加额外的设计和制造成本。尤其是处理器内核增加太多之后,全连接变得不太可能,以3个内核的模块设计才是未来的最好出路。

  目前的多核处理器为了解决数据交换的问题将使用更多的共享缓存,从制造的角度将推进更大容量的共享式二级缓存,从而大大降低处理器数据交换的难题。

  由于制造工艺的提升,原生的多核处理器将变得更多,而不是像目前这样的状况,也不否认有可能出现比较复杂的系统要多个模块的情况。

  总之,处理器内核越多,所面临的问题就会越多,需要考虑到的细节也会越多。Barcelona和Core2 Quad给了一个方向,指明了一条路,未来会怎么样,依然是成本和技术双方协调的结果。Barcelona差点在AMD的执拗中夭折,相信它会吃一堑长一智……

[上一页] [1] [2]

本文导航:
·分析:AMD与Intel展开四核拉锯战
·分析:AMD与Intel展开四核拉锯战(2)

发表评论 _COUNT_条
爱问(iAsk.com)
不支持Flash
·城市营销百家谈>> ·城市发现之旅有奖活动 ·企业管理利器 ·新浪邮箱畅通无阻
不支持Flash