关于A卡和N卡的SP,某些人认为A卡SP多就一定更好,其实是错的!!!
本帖最后由 惟一VS唯一 于 2011-3-17 14:06 编辑显卡基础知识~~~~~~~~~~看懂A N 流处理器(转帖)
很多初级玩家都会有这样的发现,AMD的显卡从参数上来看,一般比NVIDIA要强上好多。特别是最为关键的流处理器数量上,即使是AMD入门级显卡都会有200个甚至400个之多,而且NVIDIA比较高端的产品也只有200来个。为什么N卡和A卡之间会有如此大的差异,这究竟是为什么呢?下文将会用几乎没有专业词汇的文字进行简明扼要地讲解,即使是菜鸟玩家也能明了,所以切勿翻页哦。(N卡“1片”抵A卡“5片^(⊙o⊙)^)
在相同级别的显卡上,为什么AMD的显卡流处理器会比NVIDIA多那么多呢?深究根源,其实是因为这两家显卡采用了不同的核心架构所导致的。虽然NVIDIA和AMD都将其称为“流处理器”,但是它们所称谓的“流处理器”的概念并不是相同的东西。
小编先来说说NVIDIA的核心架构。它采用了一种名叫“标量”流处理器的架构。举例来说,当显卡核心处理画面需要有A、B、C、D四项工作,那么NVIDIA所采用的“标量”流处理器的架构中的每一个流处理器都是可以独立进行以上所有的工作的。
相同级别的AMD和NVIDIA显卡流处理器为什么会相差那么多?
再来看AMD。和NVIDIA所不同的是,AMD采用的是一种名叫“超标量”的流处理器架构。同样是完成图像的A、B、C、D四项工作,在AMD的流处理器中,每个流处理器只会进行其中的一项工作。换句话来说,在AMD的显卡中需要多达四个流处理器才能完成一套完整的工作,另外还必须额外再占用一个流处理器进行四个流处理器的协调以及输入和输出工作。故此玩家也可以这样的认为:在AMD的显卡架构中,五个流处理器才能抵上NVIDIA一个流处理器。
在同样的晶体管下,AMD可以制造成更多的“流处理器”
不同的流处理器架构各有优劣即使是入门级的HD5450也有多达80个流处理器,可是一旦折算下来……方面,虽然一个流处理器可以完成四项工作,但是有一个非常大的弊端,那就是执行效率的问题。因为如果要同时进行A,B、C、D四项工作,那么一个流处理器需要在四个时钟周期内才能完成。如果需要在一个时钟周期内完成的话,那么就需要同时调用四个流处理器才行。由此一来,其工作效率可见一斑。为此NVIDIA流处理器工作频率相比核心频率而言,提升了两倍,由此来加快执行效率。
而反观AMD显卡架构中,虽然可以制造出数量夸张的流处理器,但是在性能上,相当依**于那颗负责协调的流处理器运行效率。因此AMD在整个显卡体系的改进过程中,不断地对运行算法进行优化设计,以获得更高的运行效能。
由于NVIDIA和AMD采用了不同的流处理相器架构体系,因此玩家们在选购的时候千万不能痴迷于在AMD或NVIDIA哪个流处理器更多这样的迷局之下。毕竟流处理器只是显卡中的一个环节,并不是显卡整体性能的全部。 本帖最后由 chenhehehehe 于 2011-3-18 11:37 编辑
从4D+1D到4D:深入理解AMD 4D架构
Radeon HD 6970/6950最为重要的改变就是从传统的4D+1D架构转变为4D架构,那么这样转变后的好处在哪里?AMD为什么要作出这样的调整?竞争对手NVIDIA又采用的是什么架构呢?
4D+1D架构的不足
AMD显卡传统的4D+1D结构可以在每次计算中处理一个像素的所有色彩或者坐标信息,不过考虑到有时候还需要一些特殊计算,比如sin、cos等,AMD还特别设计了一个ALU单元,称之为ALU.trans。这个特殊的单元和传统的用于计算四个ALU组成了AMD的4D+1D架构。
从理论上来看,4D+1D架构的效能是非常出色的。因为它一次计算就能处理一个像素所有的色彩或者坐标信息。但现实和理想总是有差距的,像素点并不是总需要计算位置或者色彩。一些像素实际上只需要改变色彩,坐标不变,或者只是运动一下,色彩信息没有变化,亦或者只是色彩中的某个数据需要计算,其他的不需要。总之,在实际计算中,并不是所有的信息都需要计算,这就造成了4D+1D架构中的部分单元的闲置。在最严重的情况下,4D+1D架构在遇到全部由1D组成的计算需求时,性能只有理论值的1/5。
AMD工程师很早就在思考解决上述问题的办法,在R600以及后续的4D+1D计算中,AMD开始允许指令合并,也就是说几个不同的指令可以合并在一起进入流处理单元并进行计算。这样可以在部分场景下提升显卡的性能。比如说,两个2D指令接踵而来,传统计算是先计算一个2D,再计算另外一个2D,这样4D+1D架构的性能只有理论性能的40%,但一些新的设计可以允许这两个2D指令合并成一次计算,变成2D+2D,这样就能发挥80%的性能。与此类似的还有3D+1D、1D+1D+1D+1D+1D、1D+4D等特殊的复杂计算。
虽然AMD利用了种种手段对4D+1D架构进行了优化,但改进的4D+1D架构的效率还是不够理想,在很多情况下部分晶体管都在打瞌睡。AMD的SIMD架构虽然效率不一定高,但好处是规模扩充相当容易,比如AMD的4D+1D流处理单元作为一个整体,只需要一个指令发射端就可以解决问题。Cypress拥有1600个流处理算数单元,320个指令发射端就可以了。但NVIDIA的MIMD 1D架构,每个ALU都需要发射端等辅助设计,晶体管开销巨大。再加上缓存、线程调度器、寄存器等周边设计,1D架构在芯片体积和规模上都有比较明显的劣势。这也是造成NVIDIA DircetX 11显卡功耗较高的一个主要原因。
放弃4D+1D,转向4D
从RV670开始,AMD一直奉行小核心策略,在一定程度上避开了工艺难度问题。但为了保证不错的性能,对晶体管效率就必须有很高要求。因此,AMD在研发了很长一段时间的SIMD架构后,掌握了大量显卡计算中的信息和数据,认为继续保持这样的4D+1D结构对晶体管利用率的提升已经没有太大帮助了。因此,AMD在新的Cayman中,将4D+1D改进为4D结构,抛弃了之前的1D。
AMD放弃的1D,是一个体积比较大的、用于一些特殊计算的ALU.trans(NVIDIA称之为SFU)。在放弃这个单元后,AMD重新设计了Cayman剩余的4D,将这四个4D单元变为对等的四个ALU。不仅如此,这四个ALU通过“合纵连横”,接管了之前ALU.trans的计算任务,比如一些特殊计算,可能需要占用3个ALU,但考虑到4D+1D本身就不太高的效率,这样的取舍从理论上来说是可能提升晶体管利用率的。根据AMD给出的数据,在改变成4D结构后,整个单元的每平方毫米性能可以提升10%。
不过效率的提升代价也相当明显。以定位相同的Radeon HD 5870为例,其具备1600个流处理算数逻辑单元(SPU),需要320个指令发射端(Radeon HD 5870是4D+1D架构,5D×320)。而Radeon HD 6970具备1536个流处理算数逻辑单元,SPU数量减少了,但指令发射端数量却增加到了384个(4D×384)。再加上周边一些辅助单元,整个晶体管规模就变得更为庞大。现在的Cayman晶体管数量达到了26.4亿,相比之前的Cypress的21.5亿提升了约23%,当然功耗也会随之提升。 更好地理解4D架构:像素计算方法
从本质上来说,显卡计算的目标就是屏幕上显示的像素点。例如一台24英寸显示器分辨率为1080p(1920×1080),如果你用这台显示器玩游戏的话,显卡必须保证在一秒钟之内至少有24张1080p的图像计算出来,然后才能在显示器上看到流畅的画面。
单独将一个像素拆分来看可以发现,其由两个部分构成:色彩和坐标。色彩方面自然是RGB三原色,再加上一个特殊的透明度参数,也就是A,最终组成RGBA四个数据的组合。每一个像素点,都需要这四个参数才能最终确定色彩的信息。我们再来看看坐标,在显终端上,像素是以二维方式存在的,即只存在X和Y两个坐标。但我们都知道,之所以称之为3D计算,就是因为显卡在最初对物体建模的时候,是按照3D空间的形状来处理的。我们现在在屏幕上看到的2D画面,只是3D场景的一个投影而已——只不过这个投影是根据观察者也就是游戏玩家所需要的视角来不断变换的。这说明屏幕上每一个像素,先需要XYZ三维坐标才能确定位置,最后通过光栅化的方法将其转换为XY二维场景。二维场景中已经包含了类似“近大远小”的深度信息。
但这还不够,很多点并非单独的点,它们还需要包含其他信息,比如3D计算中不同坐标系之间的变换,就需要确定不同坐标系之间的计算方法。传统的XYZ三维坐标并不包含坐标系信息,因此还得加上一个数据,这就诞生了XYZW——齐次坐标。齐次坐标是目前计算机图形学应用的最重要的手段,可以大大简化几何变换的计算,确定像素位置,还能够对向量和点进行有效区分。
我们现在就可以总结计算机计算中对某一个点的计算方法了。对点来说,色彩信息有四个:RGBA;坐标信息也有四个:XYZW。最初的分离式渲染架构(比如Radeon 9700等老显卡,分为顶点引擎和像素引擎),是分开处理像素渲染和顶点渲染的,他们的像素渲染确定的就是利用RGBA数据,顶点坐标变换的处理是利用XYZW数据。在统一渲染时代后,无论是RGBA还是XYZW,从“外形上”来看,都需要四次计算才能满足需求,因此,在AMD传统的SIMD架构上,基本的结构是4D,也就是一次计算可以处理这四个信息。
NVIDIA的1D架构
相比AMD的SIMD架构,NVIDIA采用了MIMD(多指令多数据流)的设计,这种设计保证了显卡随时处于最高效率运转。数据在进入NVIDIA显卡的流处理单元之前,就已经被全部拆分为1D,然后送入1D流处理单元。
NVIDIA目前的DirectX 11显卡均采用1D架构设计
比如进来一个3D数据,拆分为三个1D,计算三次;进来一个2D数据,拆分为2个1D数据,计算2次;在最差劲的情况下,进来的全部都是4D数据,每个数据在AMD的显卡中,一次就可以完成,但NVIDIA显卡需要四次计算。从理论来说,MIMD 1D计算方法的效率虽然接近100%,但问题是大量多数据需要多次计算。因此NVIDIA设计了分频的核心——流处理器频率比核心频率高出一倍左右,再加上庞大的流处理单元数量,也保证了相当高的性能。 {:3_153:}坐等反驳帝... 好多字,懒得看了,楼下给评论{:3_134:} {:3_153:}战贴~~~~~端杯茶来观战 總結,1樓的文章說N卡好,版主的說A卡好。{:3_149:} 不可否认N卡的创新通用计算,但是想吃独食的总是没好下场。{:3_185:}
开放才是王道,傍大款(intel)的有好日子过!{:3_112:}
悄悄加上一句,原来斑竹是A饭。。。。。 我觉得这俩楼加一块,并且把说对方不好的话删掉,就是个完美的科普贴啊。 谁也没说SP多就一定好 。。。。。。
但是看价位的话 - - 我肯定会选择A卡。。同价位显卡 A卡性能还是要比N卡要高一点的 chen版怎么可能是A饭?够2的 这小白的标题,加上三层楼的长篇大论,我的天啊 完全同意版猪的意见
同价位A卡确实比N卡性能略强,但是N卡的市场攻关做的比A要好。 字多没人看{:3_154:} 路过顺便顶 问题在于优化,还有优化成本
A卡需要驱动和软件优化配合才能发挥它的设计效率,而且4D或者4D+1D的驱动执行流程设计要复杂些,所以驱动兼容问题也就多些.
N卡的驱动和软件设计比较简单直接,所以N卡的驱动兼容问题少些
总之鱼与熊掌难以兼得. 谁说的,同样是A卡320Sp的3850要比400Sp的5670效能更好,比640sp的也不差,所以说Sp多并不代表性能更好。 关键是优化,例如xbox360的显卡超烂,但运行游戏却不慢,这就是优化了,其它的都是废话。 标题让人看了觉得很小白……
内容……觉得更偏向于C版的说法。 如果不是看到下面的人的说法- -我还不知道- -原来chen呵呵呵呵版主是A饭呢- -这是真的吗- -这是真的吗- -啊- -我表示我要低调点..... 回复 20# snowpussy
不是说A卡与A卡的SP比,是A卡与N卡的SP之间的比例是5:1 6900系列开始已经是1n=4a了 同系列的话,肯定是越多越好。其实,LZ说了那么多,就是两句话就行了:1.A卡和N卡因架构不同,流处理性能不一样;2.A卡6900系列又换架构了,流处理器性能又变了点。 AMD新4D的具体信息还没有出来,其单个ALU依然无法独立处理标量。个人感觉这次改进对指令收发器的妥协,其先进程度反倒不如原来的5D结构。
页:
[1]