APU“真融合”异构计算开创处理器未来
扫描二维码
随时随地手机看文章
其实在2010年初,Intel就借助发布Clarckdale核心的corei5/i3,告诉全世界他们率先实现了CPU集成GPU。首先需要指出的是,这个所谓的集成只是把不同的CPU和GPU核心封装在了一起,也就是俗话所说的“胶水型”。其次Intel似乎选择性失忆了很多年前cyrix的gx86这款CPU集成GPU的先例,估计是认为cyrix早已被威盛收购而消失,绝大多数消费者已经不知道它的存在。
同时Intel为了宣传Clarckdale核心集成的GPU档次高(不高不行,毕竟被说成“鸡肋”就难堪了),随之而来就是大张旗鼓的推出了一些“干掉独显”之类的市场推广活动。应该说这波宣传攻势当中的倒霉蛋是NVIDIA,因为它的入门级独立显卡被Intel选中成为了“被干掉”对象。事后证明,Clarckdale集成的GPU实际上性能扔处于最差水平,别说干掉独显,就是面对NVIDA或者AMD的集成GPU也是垫底。
NVIDIA当然不会坐以待毙,他们的宣传切入点是GPU比CPU更高效、更重要,并通过运行一些游戏,以及视频编码转换的实例,证明自己的GPU比Intel的CPU快几倍甚至几十倍,甚至NVIDIA低档GPU也能击败Intel的旗舰CPU。
Intel与NVIDIA的口水战,延展开来还是“CPU与GPU谁更重要”这一话题。众所周知,CPU和GPU早已成为影响整机性能的两大最直接关键因素,由此成为争论的焦点并不奇怪。分析下来不难发现,Intel的“唯CPU论”,本质是因为他的GPU实力弱;而NVIDIA的“唯GPU论”,是因为他一直没能掌握CPU核心技术。很明显,双方为了各自专注的市场,刻意夸大自身优势,同时诋毁对方长处。
实际上对于整机性能而言,CPU和GPU同时都是保证PC实现高水准的计算的基石。抛开某些简单应用不谈,大部分需要强劲性能表现的应用都需要CPU和GPU并重才行。就拿一直以来最受关注的游戏来说,CPU很强但GPU很弱的系统固然运行不好,而GPU很强但CPU很弱的系统同样不会有好表现,这已经被无数实例证明了。其实原则很简单,凡事往往都有个“度”,走极端往往没有好结果。如果过分单独强调CPU和GPU各自的重要性,甚至刻意割裂它们,那就像学习,偏科学生决不会有好的总成绩,“偏科”的整机也绝不会是什么高水平方案。合理搭配CPU和GPU,让这两者更为均衡是关键,才能给用户带来最强的综合性能表现。
Intel的Clarckdale核心还存在另一个争议,那就是CPU集成GPU的方式还属于俗称的“胶水型”,即只是简单把CPU和GPU直接并排做到一个基板上,本质上并没有真正集成在一起。这就好比要是只因为住的近,就随便声称两家邻居已经是一家人了,那自然会引起质疑。不过Intel的类似做法由来已久,以前的双核以至于四核处理器也是这样实现的,因此倒也不意外。实际上直到2011年,也就是今年初发布的SandyBridge核心,Intel才算实现了CPU和GPU合成一颗芯片,终结了混乱一年之久的邻里关系。
与此同时,AMD也发布了他研发多年的APU,宣布将CPU和GPU“融合”在了一颗芯片上。从表面上看,Intel与AMD从2011年伊始同时站在了一个起跑线上,接下来就看谁跑得更快,从而能圈到更大的地,或者说争取到更多用户。不过要是仔细比较一下SandyBridge与APU这两类产品,很快就会发现它们之间其实存在着很大的差异,而这又直接取决于Intel与AMD两大巨头自身的特点。
CPU集成GPU可以大大增加集成度,非常有利于实现整机系统小型化这一趋势,这估计大家都知道。但是光“小”还不行,肯定还希望“强”!也许有些朋友可能想得简单:把最强的CPU和最强的GPU集成在一起不就行了?可实际上这没有可行性,因为复杂度过高,根本无法制造。在技术允许范围内,如何在有限的芯片面积上分配CPU和GPU这两部分的比重,实现高性能,这就是几年前摆在Intel与AMD面前的共同难题。现在他们都交出了答案,也就是SandyBridge与APU。
Intel是CPU的行家,但还没有能力研发出复杂的GPU,因此它的选择其实相对更容易,那就是CPU占据芯片的绝大部分,毕竟GPU就是想占更大也还不够资格,这决定了SandyBridge的方案更接近于传统CPU,GPU部分处于绝对的从属地位。而AMD因为同时精通CPU和GPU,想必为了确定APU中的比例方案一定费了不少的精力,最终的结果是CPU和GPU的比重几乎均等,这种两者平等的关系也让APU实际上具备了一种新类型处理器的色彩,想必这也是AMD把它命名为APU的重要原因。
现在可以比较一下SandyBridge与APU这两个方案的优劣了。如果仍单纯以CPU的角度而论,似乎SandyBridge更具优势,不过这就又落入了之前提到的“唯CPU论”的误区,因为SandyBridge的GPU部分性能很低。低到什么程度?具体来说,A系列APU中内置的GPU分了3个档次,SandyBridge中集成的GPU也分了3个档次,可最高档SandyBridge集成GPU的水平还不如最低档A系列APU的内置GPU。相比较而言,A系列APU的CPU部分性能虽然不占优势,但也达到了SandyBridge中档型号的水平。不难发现,APU的CPU和GPU搭配方案要比SandyBridge均衡很多,其综合表现也会更好,这符合之前已经探讨过的“合理搭配CPU和GPU最重要”的观点。
APU其实还有一个值得特别关注的要素,那就是它的“异构计算”能力,这也是处理器未来的发展方向!我们前文所说的CPU和GPU搭配工作,主要还是指双方各司其职,分别执行计算和图形处理这些各自的传统任务。不过大家应该都已经知道,最新型号的GPU已经具备强大的可编程运算能力,比如AMD的RadeonHD5000/6000系列,就可以通过支持OPENCL或者DirectCompute这两大api,非常灵活的实现很多以前只能依靠CPU的复杂运算任务,而不再被局限于传统的图形领域。
就运算而言,CPU和GPU各有所长,这是由它们各自不同的架构设计特点决定的。一般而言,CPU擅长处理不规则数据结构和不可预测的存取模式,以及递归算法、分支密集型代码和单线程程序。这类程序任务拥有复杂的指令调度、循环、分支、逻辑判断以及执行等步骤,而GPU擅于处理规则数据结构和可预测存取模式,特别适合那些超大规模的并行密集运算多线程程序。而异构计算的理念,就是同时结合CPU和GPU的运算能力,让它们能够各展所长,从而兼具两者的优势,实现协同计算,彼此加速的目的。[!--empirenews.page--]
像APU这样的产品已经将CPU和GPU合为一体,它自然更有必要、也确实有能力实现异构计算,毕竟APU集成的GPU就属于RadeonHD6000系列。你可能会问SandyBridge在这方面怎么样?很遗憾,它集成的GPU档次过低,还不具备实现OPENCL或者DirectCompute的可编程运算能力,因此无从谈起异构计算,只能靠CPU继续孤军奋战。其实你可以发现,APU还反映出AMD的的设计思路,就是让强劲的GPU不仅在传统图形领域帮助APU获得优势,就算在通用运算领域也能与CPU一起协同实现更强性能,从而超越SandyBridge的单纯CPU运算。