从CUP到GUP的全面化:解析AMD DirectX12硬件的秘密武器

来源 :微型计算机 | 被引量 : 0次 | 上传用户:starcui123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  与以往APl不同,最新的DirectX 12 APl是一个全面为提升CPU与GPU运行效率而生的神兵利器,因此也需要厂商在CPU与GPU上均做出相应的优化才能充分发挥出DirectX 12的优势——单单依靠GPU或仅仅依靠CPU,用户都无法体验到DireclX 12的完整魅力。因此芯片厂商AMD特别与微软配合,对它的CPU、GPU产品都进行了相应的优化与支持,下面就让我们来了解T它为DirectX 12做了哪些准备,有什么新技术。
  DirectX 12在DirectX的发展史上可以被称之为革命性进步,之所以这样说,是因为在过去的DirectX发展史上,涉及到Direct3D架构的深层次改进并不算很多。比如最早的DirectX 7实现了硬件的坐标转换,而随后的DirectX 8实现了顶点渲染引擎和像素渲染引擎的分离,DirectX 10则实现了统一渲染引擎。这几个版本都带来了DirectX和相关GPU的功能和硬件上的大跃进。虽然这些版本本身可能存在一定问题,使用时间并不长,但是这并不妨碍它们在技术发展历史中所具有的突破性、开创性历史地位。
  在DirectX 12上,微软加入了底层优化的概念,放弃了之前如“黑盒”般不可控的抽象层,使得开发人员可以更多地接触硬件架构的底层细节,从而提高效率,释放性能。此外,在诸如动态纹理绑定、通用计算方面,DirectX 12都有一定程度的加强。总的来看,DirectX12虽然没有对硬件提出特别的换代需求,但是其在软件层面尤其是渲染流程上的改进,堪称未来很长一段时间GPU发展的技术基础,它奠定了一个全新的GPU发展时代。
  同时与以往APl有所不同的是,DirectX 12还可通过基于底层开发,提升绘制调用性能的手段,来大幅提升处理器在运行游戏时的效率。因此芯片厂商AMD特别与微软配合,对它的CPU、GPU产品都进行了相应的优化与支持,并带来了异步着色器、多线程支持,以及更高效率的多GPU并行工作模式等三大利器。
  DirectX 12多线程支持——提高多核心CPU性能
  DirectX 12在多线程支持上可谓做出了决定性的改进。在之前的DirectX版本中,处理器所做的主要任务是为GPU准备命令列表,并将其存储至缓冲区。不过,这个过程由于存在一定的相关性,并且过程是不公开的,由处理器根据相关规则自动处理,因此很难有效多线程化。我们常常看到在一个游戏中,即使你使用了八核心处理器,但是依旧只有两个核心占据比较高的占有率,其余的核心都处于比较空闲的状态,造成了处理器性能的浪费。
  在DirectX 12上,AMD配合微软改进了这样的情况。由于DirectX12将CPU部分控制功能放开,使得程序员可以自行控制,因此在多线程优化上能够更为出色。根据AMD的测试数据来看,在AMD FX系列八核心处理器上,DirectX 12对CPU的工作负载能够比较均衡的分布在至少四个核心上。以游戏为例,八个处理器核心中的六个,可以得到比较有效的游戏负载,其余的一些诸如DirectX驱动、用户控制、DirectX Runtime等,也能有效的多线程化。根据AMD的测试,DirectX 12在八核心殇,系统负载延迟能够降低至15ms以内,对应的就是高达66fps的稳定帧率表现。
  另外,AMD还给出了3DMARK中有关API绘制调用测试的数据予以佐证。其中DirectX 11下,整个系统的调用无论是双核心还是八核心,都维持在比较低的水平,而在DirectX 12下,从双核心到四核心、六核心的绘制调用数量都有非常显著的增加,这样的状况直到八核心才变得不明显。AMD数据显示,在FX-8350八核心处理器上,最多可以启用其中的六个CPU核心,平均每个CPU核心处理了超过290万个绘制命令,相比传统处理器大约百万级别的绘制命令,DirectX 12的效率非常惊人。
  AMD认为,在DirectX 12释放了CPU端多线程的性能后,能够为游戏带来更高的FPS。CPU处理游戏代码更有效率、并行性更强,整体游戏性能也更为出色。不过需要说明的是,目前测试中显示出的如此巨大的性能优势,并不能直接反应到游戏中,因为绘制调用只是游戏和应用的一个方面,随后更重的负载会加在GPU以及其它部件上。DirectX 12对绘制调用在底层的优化,只对那些CPU性能约束比较严重的游戏有比较明显的效果,在一些优化得比较出色、GPU负载很高的测试和应用中,效果就没有那么明显了。
  Asvnc Shaders——异步着色器提高GPU效率
  AMD在DirectX 12上作出的另一项有效改进,就是有关异步着色器的设计和使用了。一般来说,目前GPU中的计算都是通过着色器来完成。当然,着色器(Shader)这个名称是来源于GPU发展的早期,现在虽然还叫着色器,但是它的功能都复杂化了,除了能够完成图形计算的内容外,还可以进行诸如通用计算、物理计算、后期处理等内容。目前GPU着色器上运行的计算队列包括图形队列、计算队列和复制队列三种。在DirectX 12之前,GPU的着色器计算,都通过只合有单一类型计算命令的队列来完成。比如这一个队列都是传统的着色器计算、下一个队列则是后处理计算等。不同的队列之间不能交叉计算,比如不能一会儿计算这个,一会儿计算那个,必须等一个队列完成或者中断后,才能进行下一个队列。三种不同队列的任务切换和等待都相当耗费时间,这使得GPU很少有100%的工作负载,浪费了性能。
  随后,人们对这种做法进行了改良。提出了优先级别等概念。新的方法增加了优先级、暂停等。这样的设计可以使得一些特别紧急、优先级特别高的任务能够优先完成,在一定程度上提高了效率,但并没有在GPU整体的效能上作出很好的改变。
  而在面向DirectX 12、采用GCN架构的GPU上,AMD设计了一个名为ACE(异步计算引擎)的部件。ACE(异步计算引擎)的作用是协调着色器上所有的计算,使得它们可以根据需要异步进行。简而言之,之前的队列都必须是一类计算,并且一队一队进XGPU。但是,在有7ACE之后,ACE会将所有的任务预先排好序,开启三组并行计算任务,让诸如复制、计算、图形等内容,在GPU内并行计算完成。也就是说,GPU内可以同时并行三条不同的计算序列,这比之前只能接收单条计算序列而言,效率大幅度提升。因为在并行化后,GPU无谓的等待时间变得更少了,任务切换也变得不那么频繁,反正总是这三种计算任务,那么某些CU单元处理图形、某些CU单元处理复制、某些CU单元处理计算即可。一旦部分CU单元不够用或者负载不平衡,那么再切换CU单元的工作也完全来得及。   这个功能被AMD称作异步着色器,英文名为Async Shaders,这个新技术的出现,使得AMD的GPU在面对DirectX 12计算时更为游刀有余。目前业内的GPU中,只有AMD独家拥有类似队列排序、并行计算的功能,这是AMD在DirectX 12B寸代GPU设计上的一大创新。
  底层改进效率——多卡并行更高效
  AMD在DirectX 12上的技术创新还有一个,那就是多卡并行能力大幅度提升。我们知道,之前AMD在多卡并行上付出了很多努力,开发了CrossFire交火技术,其双卡效率非常出色,同时也对三卡、四卡交火提供了支持,但是后两者的整体效率受制于APl,只能说表现尚可。
  现在,DirectX 12开始原生支持多卡并行技术,在开放了底层优化后,多卡并行更容易,也能更有效率地在更多GPU上实现。DirectX12使得游戏开发人员和驱动人员,能够精确地控制分配给每一个GPU的任务,也能够更精确地控制硬件,获取更高的利用率和性能。即便是APU与独立GPU这两种3D性能相差很大的产品,在DirectX12上,只要开发人员和驱动优化得当,那么APU和独立GPU也能“联手行动”,获得性能增益,带来更出色的使用体验,这使得用户的投资能够很好的保值,不会浪费。
  此外,对于多卡系统来说,DirectX 12还有一个特别惊人的功能,那就是显存不再复制,而是共同使用。在之前的多卡并行系统中,所有的并行GPU能使用的显存容量,只能是所有参与并行的GPU中显存最小的那一个。举例来说,一张2G B的R9 280X和一张4G B的R9 280X搭建CrossFire系统的话,那么这个系统最大的显存容量只有2GB。这是因为对每个GPU来说存在数据同步的需求,这使得它们必须在各自的显存中拥有对方更改的所有数据,这样才能保证下一次计算不会出错。但是这样一来,大量显存就会被无谓浪费掉,尤其在多卡的超清分辨率计算中,这样的问题尤为重要。
  但是在DirectX 12上,显存的浪费问题可能得到很大的缓解。因为DirectX 12的工作特性,使得开发人员能够很好的将计算任务分配到不同的GPU上,每个GPU不再需要保存对方的信息在自己的显存中,因此显存从之前的复制转向了叠加。依旧是上述那个例子,在DirectX 12上下优化得当的话,一张2GB的R9 280X和一张4GB的R9 280X搭建CrossFire系统的话,那么这个系统最大的显存容量就可能会达到6GB。而如果是两张4GB的显卡搭建多卡系统的话,那就可以完全使用8GB显存,大大拓宽了显存空间。
  目前在Windows 10发布后,DirectX 12相关应用的发展速度开始提速,估计年内像《奇点灰烬》、《杀出重围:人类分裂》支持DirectX 12的游戏就会发布。同时《奇点灰烬》DirectX 12 Demo、Elemental Demo等DirectX 12性能测试工具已经上线,那么AMD开发出的优化技术到底能带来多大的效果呢?请关注《微型计算机》近期制作的DirectX 12专项测试。
其他文献
金河田曾在飓风系列机箱上采用了独创的360度天窗设计,其精准散热的特性受到了主流用户的欢迎。另一方面,USB 3.0存储设备已有大量上市的趋势,于是增加USB 3.0接口的飓风升级版极冻机箱上市了(以下简称极冻机箱)。  极冻机箱的前置面板采用不规则的多边形造型,并大量应用>中孔网和栅格,前置I/O接口中的USB 3.0接口非常显眼。硕大的红色开关键手感不错,迷你的重启键则可以防止用户误触导致系统
别告诉MCG编辑,你特意买了带802.11n无线网卡的迅驰4笔记本电脑,只是为了能在劫难逃家里或者星巴克无线上网,那也太逊了吧!能一分钱不花就用到无线热点就应该当仁不让地蹭,而且据国外某网站的调查,有一半的Wi-Fi用户“偷”过别人的热点。    今天这边有个会    会议室中的无线热点对于现在的商务人群,已经算是必不可少了,而很多承办会议的酒店,在他们的会议室中,自然也按需配备了无线设备,这类热
依然记得2009年的8月,刚刚从大学毕业的我终于踏上了工作岗位,有了自己的第一份工作。在那草长莺飞的青葱岁月里,我还是一个有着无数热情的穷苦DIYer,用人生第一个月的工资购买了一套研究许久的心仪配置,算是心愿达成。那时,集超频与开核于一身的AMD羿龙Ⅱ X3710、帅气的790FX主板以及HD4870显卡所组成的3A平台打遍天下无敌手。可惜时过境迁,昔日的主流配置疲态尽显,早已不复当年之勇。  
在NVIDIA高端产品线上,2000元价位上有GTX 560Ti把守,1300元左右价位则有GTX 460坐镇,但1300元-2000元价位上并没有相应的产品。在这个价位段上,AMD充分利用锚位竞争策略,倚仗Radeon HD 6870吸引了不少玩家的关注。在这种情况下NVIDIA推出了GTX560——它和GTX 560Ti又有什么关系呢?我们将从影驰GTX 560黑将(以下简称“影驰GTX560
一般来说,玩家们关注一款手机处理器主要看的是CPU部分和GPU部分,比如CPU是什么架构、多少个核心、频率多少,GPU又有多少个模块、像素单元多少个等,但实际上手机处理器的构造远不止如此,除了性能支撑外,它还要负责例如语音处理、图像处理、输入输出处理、触觉反馈等。那么,这些“零零碎碎”的工作是由什么手机处理器中哪些部分完成的呢?答案就是DSP。  什么是DSP?  DSP的全称是“Digital
面对AMD咄咄逼人的攻势,NVIDIA当然不会束手就擒,其下一代产品早已开始研发。那么NVIDIA的下一代GPU是否有足够的性能应对挑战?别慌,在回答这个问题之前,请让我们先来追忆一个人——开普勒(Kepler)。我们知道开普勒是德国著名的天文学家,因发现行星运动定律暨开普勒三定律闻名于世。不过,这位伟大的科学家不会想到,在他逝去近400年后,他的名字却出现在了他永远也不会从事的领域—显卡。对,就
德国产品一向以精良做工和扎实用料的形象示人,在汽车领域如此,在厨具领域如此,在键鼠领域也同样如此。产品最能体现制造国家的底蕴,Cherry机械键盘和机械轴作为为数不多非中国制造的IT产品,也充分体现出德国人的严谨精神,它的成功正是依赖其稳定可靠的性能。对于经常参观国内工厂的本刊记者来说,也对实体经济发达的德国充满兴趣,特别对德国的本土工厂十分向往。我们希望能进一步了解中国企业与德国企业之间的差异,
24年前。第一台笔记本电脑诞生,这个贝壳式的方盒子迅速成为电脑的发展趋势,6年前第一款采用迅驰平台的笔记本电脑司世,笔记本电脑在迅驰的帮助下顺利从商务领域进军家用市场,现在,随着硬件规格和设计水平的不断提升笔记本电脑也娱乐的观点想必没有人会反对,不过仍然有不少消费者对笔记本电脑的娱乐能力心存怀疑对此,我们的建议是先看看顶级的娱乐笔记本电脑,再来下结论吧。  如果要对娱乐定位的笔记本电脑进行细分,大
毫无疑问,人们总是希望硬盘容量越大越好,然而在硬盘容量发展到3TB时,人们对大容量硬盘的追捧却出现了少有的犹豫,一些专业媒体也刊登了“3TB带来烦恼”之类的论调。究其原因在于传统操作系统中使用的MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案使用4个字节即32bit来存储分区的总扇区数,按电脑的二进制运算法则,可以看出它最大只能表示2的32次方扇区个数,即4294967296个扇区。按每扇
如果电视机出现了灰阶丢失的情况,并不一定是电视机本身的问题,也很有可能是电视机不兼容计算机的色彩空间和灰阶模式造成的。如果你不了解色彩空间,那么,本文会给你答案。  当我们用HTPC连接平板电视机时,你有没有发现图像的暗部和亮部细节损失严重?而且在调节之后,图像的细节都无法还原,难道我们当初千挑万选的电视机灰阶显示能力这么差?其实,这可能并不是你的电视机出现了问题,而是你的HTPC和电视机之间因为