我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 指令调度 >

ATI显卡和Nvidia显卡架构区别?

归档日期:07-05       文本归类:指令调度      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  首先,两种卡构架还是有很多不同的。 N卡是标量的构架,4个SP单元一组,运算一次,可以是1个SP在4个时间单位内处理掉,也可以4个SP在一个时间单位内处理掉,也就是4D处理。缺点很明显,随着画面复杂和多元化,很多指令不是4D,而是1、2、3、4……那么效率上就很不好了,不过异步的着色器频率能缓解这个问题。 A卡是超标量构架,每个SP里有5个超标量的ALU,人们习惯以每个超标量的ALU来表示A卡的SP数量,故而A卡显得SP很多,实际除以5是可以的。这种构架优势是灵活,每个大SP里有一个单元管辖5个ALU,从而实现多元化处理,4+1、1+1+1+1+1、2+2+1等等指令都可以有效的处理掉,没有太多情况能闲置ALU,效率上很好。 —————————————————— 回答希望您能满意!

  展开全部1、N卡的架构思路很简单,用强大的前端处理器把所有指令拆分成一个个1D指令,而下面所有运算单元都变成了1D单元(流处理器),这些流处理器都能当做像素和顶点单元来使用,这样不管碰到什么类型的指令都能一拥而上,完全解决了DX9时代固定单元的弊端。为了保证指令分派的高效率,这些流处理器都分成几大组管理,每一组都具备完整的前后端及缓存单元,每个流处理器都对应独立的控制单元,效率几乎达到100%的理想程度,是标准的线程级并行架构,也是追求高效率的理想架构。

  N卡的架构看上去很完美,但缺点也很明显,要想增加运算单元,必需以组为单位进行扩充,这样连带的前后端控制单元、功能单元和缓存都会成正比增加,晶体管消耗严重,所以在相同晶体管数量的情况下,N卡能做的流处理器就相对少很多。在流处理器数量相对少的情况下,处理4D指令时又会显得性能不足(因为要耗费四个流处理器去处理一个指令),所以N卡的流处理器频率都会比核心频率高出一倍以上,以弥补数量上的缺陷,但高频率带来的翻倍流水线又再次消耗了大量晶体管,最终结果就是功耗巨大,制造难度极高。

  总结,N卡架构执行效率(硬件资源利用率)极高,灵活性强,在实际应用中容易发挥峰值性能。但运算单元较难堆砌,理论运算能力也受到较大限制。低良品率和功耗问题也一直如影随形。

  2、A卡方面,也是采用通用的1D流处理器做为执行单元,每5个流处理器为一组,每组一次最大可接收一条5D指令(而N卡接收的是1D指令),在前端上就把所有指令打包成一个个5D指令发下去(而N卡是拆分成一个个1D发下去),当接到5D指令后,下面的5个流处理器就可以并行执行,属于指令级并行架构,又被称为5D架构,这样的设计可以实现高指令吞吐。同时控制单元与运算单元可做到分离,流处理器的增加不会牵动其它单元,晶体管消耗较少,所以A卡的流处理器数量一般都能做到N卡的4-5倍,芯片面积反而较小,理论运算能力也远强于N卡,功耗也相对要低一些。

  但是,A卡架构的缺点也很明显,虽然理论计算性能强大,但较少的控制单元限制了其指令调度效率,下面流处理器越多,前端压力就越大。一旦碰到混合指令或条件指令的时候,前端就很难实现完整的5D打包,往往变成3D、2D、1D的发下去了,造成每组流处理器只有3、2甚至1个在工作,几乎一半的单元浪费掉了,再加上每个5D包里面可能存在最糟糕的组合(比如有先后关系的指令被包到了一起),常常导致部分指令被踢出去再走一次打包运算的流程。程序要想针对这种架构优化,必需减少混合、条件指令的出现(需要耗费程序员的大量精力),或杜绝(这是不可能的)。所以在软件优化度上A卡也是处于劣势的,常常无法发挥应有性能。

本文链接:http://ok-panic.net/zhilingdiaodu/256.html