看到很多本友一直问显存为什么变大的原因,找了篇技术文章,帖在这里,希望大家阅读。关于这个问题就不要再问了。显存变大的原因就是显卡使用了内存共享技术!ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø从AGP到PCI Express,显卡共享内存之梦
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 在主板首次拥有插显卡的专门接口,并且不必和PCI设备争夺带宽的时候,我们便知道这个叫做AGP的接口标准有一个功能叫做DIME(Direct Memory Execute,直接内存执行)的功能。通过这个功能,所有符合AGP规范的显卡都能直接对放置在内存中的纹理进行操作。在那个时候我们就幻想,或许未来的显卡只要能用少量的本地显存就能直接操作大量的纹理。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 当时大家都认为DIME全面普及需要等待AGP 2X、4X甚至是8X,因为AGP 1X接口所能提供的带宽实在是太少了,对于显卡来说这样的带宽绝对是杯水车薪。很可惜,如你所见,今天AGP 8X的显卡基本都配备了64MB显存,顶级娱乐级图形卡显存容量甚至开始向512MB进军。显卡显存容量什么时候变得和系统内存容量差不多了?AGP技术当年最为耀眼的DIME功能难道真的是中看不中用?
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøAGP 8X仍然是当今显卡的主流传输标准
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 事实上即便是按照今天AGP 8X标准来说,AGP 8X接口显卡所能提供的区区3GB的带宽并不能够满足3D纹理交换的需要。还有个致命的原因是,DIME只允许显卡在系统内存中存放纹理数据。而对于显卡来说操作最多的帧缓存却无法通过DIME操作。像i845G这样的集成显卡要调用系统内存作为帧缓存时需要在开机的时候就将这部分内存划出,无论空闲与否这些内存都不能再被其他程序应用。言归正传,由于DIME无法进行帧缓存操作,因此AGP显卡依然需要配备不少的显存。按照当时单通道内存和AGP接口的效率来看,即便能够实现帧缓存的使用,整个图形子系统也会因为系统内存的带宽和AGP接口的效率影像变得性能低下。这点,我们看看i845G系列整合图形核心在3D应用中的表现就能知道了。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 过多因素的制约使得今天AGP 8X即将成为历史的时候DIME技术都还未能普及。共享系统内存意味着能够减少显卡上的显存配备,显卡的布线也将因此而大幅简化。这些改进带来的直接效果就是显卡成本的大幅下降。PCI Express接口对于整个硬件产业有着深远的影响。在今年全面商品话之后,PCI Express X16接口就首先革了AGP 8X接口的命。第一款支持PCI Express接口的产品是Intel 9x5系列芯片组,除了PCI Express接口外,Intel还为人们带来i915G中被称作GMA900的整合图形核心。这款全新设计的图形核心不仅支持DirectX 9等最新API,在性能方面也能和GeforceFX 5200 64bit等低端产品并驾齐驱。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø整合GMA900的82915GMCH令显卡厂商汗颜
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø GMA900整合图形内核无疑是所有独立图形卡厂商的恶梦。要知道Intel早在i845G的时代就称霸了整个图形卡市场,同时延续至今。如今Intel拥有了整合图形核心中性能最强的GMA900。而i915P和i915G的芯片报价也相差不足10美元,10美元的差价就意味着整合图形内核的主板价格相差将不足200元人民币。200元能买到NVIDIA或者ATI最低端的DirectX 9图形卡吗?当然不能,于是NVIDIA和ATi都只能“另谋出路”。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøTubro Cache,NVIDIA的显存魔术
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 被GMA900逼的抓狂的ATi和NVIDIA都不约而同的抓住了PCI Express X16接口这根救命稻草。通过PCI Express X16接口的串行特性,强大的带宽和对内存操作的直接性。此时的系统平台也全面进入双通道时代,对于主流的双通道DDR400平台来说,内存带宽达到6GB/s轻而易举。内存的降价也刺激人们为自己的电脑搭配更大容量的内存。OK,万事具备,DIME复活计划开始,NVIDIA拿出了Tubro Cache,ATi则有Hyper Memory。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø普通图形卡内部架构
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 不要以为Tubro Cache是DIME技术的翻版,事实上NVIDIA的Tubro Cache技术相对于DIME有了质的飞跃。首先最大的不同就是整个Tubro Cache技术是构建在PCI Express连接上的。图形卡专用的PCI Express X16接口有有着双向8GB的带宽,同时串行的特性也让各种直接内存操作实现起来更为容易。当然,以往DIME无法实现的把帧缓存动态分配到系统内存上这个功能也被成功的实现。你或许会问,普通的PCI Express X16图形卡不也能调用系统内存进行渲染吗?是的他们的确能够调用系统内存存放纹理,但帧缓存就无能为力了。而他们对于纹理处理的实现方法,更多的是在本地显存中完成纹理处理之后copy到系统内存中暂时存放而已,根本无法直接对存放在系统内存中的纹理进行操作
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø普通共享内存架构和TC技术对比
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 要实现高速的共享系统内存功能,就必须对现有的GPU架构进行一些改动使得整个共享内存架构变得更为高效。在NVIDIA的Tubro Cache中负责管理整个显存调用主角叫做MMU(内存管理单元)。这个单元能够自行协调各种帧缓存、纹理的存放位置。对于GPU来说,MMU接近于“透明”。GPU只管对MMU发出寻址指令即可,剩下的工作将会由MMU代为完成。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø MMU的工作将会在3D流程进入象素流水线开始,NVIDIA的驱动和MMU将会确定把那些纹理放在系统内存,那些纹理放在本地显存。之后NV44便能对这些数据进行直接的渲染和各种操作。如果该对象在系统内存中则在完成渲染之后,还将会由MMU把最终结果从内存中取出,然后交给ROP进行最终的光栅化操作。完成这一切之后,MMC还将释放之前占用的系统内存空间,其他应用程序便能够接着使用这些空间。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøNV44内核架构
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 在新的Forceware 70系列驱动中,NVIDIA将会加入TCM(Tubro Cache管理器)功能的支持,拥有这个功能的Forceware驱动将会“默默”的协助NV44在后台完成内存寻址、分配、释放和使用优化等工作,不必用户的任何干预。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøNVIDIA Geforce6200 TC,“整合”独立图形卡
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 整合似乎和独立是完全相对的概念,但是搭载了Tubro Cache技术的Geforce6200 TC正是这样的混血儿。说NV44独立显然是因为Geforce6200 TC是一片独立的PEG显卡。而说其整合,则是这款显卡需要借用用户的系统内存。很明显,NVIDIA的Geforce6200 TC是冲着ATi Radeon X300系列和Intel GMA900系列来的。除了之前我们介绍的Tubro Cache特异功能之外,该GPU拥有4条象素流水线和2个ROP。这样的参数也正好是Geforce6600 GT的一半,考虑到NV44本身定位低端和采用共享系统内存之后的效率下降,只有2个ROP的NV44估计也不会在最终的光栅化操作中卡壳。当然,作为NVIDIA Geforce6系列家族的产品,NV44依然能够实现NV4x系列全部的功能和特性。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø事实上最让人担心的是Geforce6200 TC在调用系统内存时候的效率问题。尽管PCI Express X16有着8GB/s双向带宽,但是这仅仅是理论值。NVIDIA表示,在一些芯片组上PCI Express X16接口获得的带宽很可能仅仅只有上行下行4GB/s,上行1GB/s。而Geforce6200 TC所针对的用户群也仅仅是低端PCI Express平台用户,他们很可能会选择单通道256MB系统内存的搭配,这样一旦系统内存被NV44用去,系统的性能将会有明显的下降。而单通道内存平台所能提供的带宽也无法满足Geforce6200 TC的需要。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 由于象素流水线和ROP的减半,集成MMU之后的NV44晶体管数目依然不多,NV44的内核面积相对于NV43也所缩小。NV44有两款产品推出市场,其中有板载64MB/64bit显存的GeForce 6200 Turbo Cache 64MB和板载16MB/64bit显存的GeForce 6200 Turbo Cache 16MB。这两款产品都能通过Tubro Cache技术把显存容量扩展到128MB。值得一提的是为了和GMA900等产品抢夺市场,16MB的Geforce6200 TC更是创纪录的只有1片16MB显存,整个显卡的布线也非常精简。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø至于有消息指出Geforce6200 TC 16MB会因为集成显存较少而在2D情况下出现性能的大幅下降问题,现在看来这更多的是多余的顾虑。2D情况下的日常应用性能大幅下降更多的时候是因为显卡没有本地显存或者是本地显存低于8MB,Intel Extreme Graphic系列商业性能中的表现不佳就明显是因为需要从内存中划帧缓存空间进行存储帧数据。对于大部分人屏幕分辨率在1024x768~1600x1200的情况下,16MB显存已经绰绰有余。并不会对系统常规性能造成过度的影响。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø结语:Tubro Cache 效用几何?
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±VêøìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø 通过了各种各样的改进,Tubro Cache似乎在性能和成本的坐标系中找到了不错的平衡点。其16MB极低端版本使得独立图形卡首次拿到了与整合图形核心决斗的入场券,而Geforce6200 TC 64MB版本,则更多的是冲着Radeon X300系列去的。当你看到本文的时候,我们的Geforce6200 TC系列产品的评测也正在紧张的进行中,Tubro Cache技术对于NV44来说究竟是毒药还是补药?很快我们就能看到结果。
ìqÑ&°Ñbbs.sm1949.comðØ«ÈÈÖ±Vêø