GPU大百科全书第六章 谁也离不开的缓冲
CBSi中国·ZOL 作者:中关村在线 顾杰 责任编辑:林光楠 【原创】 2011年09月29日 05:00 评论(68)
房子分大小,缓冲分等级
前言:时隔一个月,GPU大百科全书又回来了。在之前长达三个多月的漫长连载中,我们一起按照工作顺序走过了整个GPU的流水线,相信在经历了这次辛苦的旅程之后,屏幕前的你多多少少都会有所收获了吧。
我们在上一期GPU大百科全书的结尾曾经说过,工作单元游历的完结并不代表着GPU大百科全书的结束,因为除了我们见过的这些功能各异的运算/操作单元之外,GPU中还有这一群数量庞大且作用极其重要的“幕后英雄”。它们分布在整个GPU内外,虽然并不直接参与任何运算和控制动作,但却担负着提升GPU执行效率的重要使命。它们就是GPU以及整个显卡最重要的组成部分——缓冲体系。
缓冲对于这个世界来说是至关重要的存在。工厂里的堆料车间是缓冲;城市里的停车场是缓冲;学生们做题时的草稿纸是缓冲;甚至当你被沉重的工作压得透不过气来的时候,放下工作去睡上一觉也是缓冲。缓冲可以为连贯任务的执行提供极大的帮助,甚至还能为执行单元更好的动作提供先决条件。对于GPU这一大并行度的运算执行体系来说,通过合理的缓冲设置来临时挂起和快速存储数据,不仅有助于数据的快速存储和结果的转移,更可以掩盖延迟造成的执行断档。
辅路可以为城市交通提供缓冲
要说缓冲体系完全躲在幕后吧,其实也有点冤枉。这些幕后英雄中有一位曝光率极高,甚至到了人尽皆知的地步。但对整个体系来说,润物细无声才是形容它们最好的词汇。今天,我们就来见见这些平时不怎么露面,但却能够影响GPU性能的朋友们吧。 ● 房子分大小,缓冲分等级
现代GPU的缓冲体系十分庞大,它包含了由体积、延迟及位置决定的4个主要的组成部分,分别是显存(Memory)、纹理缓存(Texture cache)、共享缓存(shared)及寄存器(Register)。显存置于GPU芯片外部,通过GPU内部的显存控制器进行控制和操作。纹理缓存、共享缓存及寄存器则集成在GPU内部,分别供TMU和ALU控制及使用。
GPU缓冲体系
在整个缓冲体系中,显存的体积是最大的,大到只能将其独立到GPU芯片之外。作为缓冲体系中最重要的组成部分,显存的知名度已经高到一提显卡必定提到它的地步了。相对于显存,缓冲体系中其他三位成员的名声不仅矮了一大截,甚至都不为大多数人所知晓。尽管在整个缓冲体系中显存并不是需要投注最多设计资源的部分,其作用也并不比其他三者更加突出。但在很多消费者心目中,显存的快慢和大小几乎是影响一款显卡身份和地位的唯一标准。对于GPU及整个显卡体系来说,显存就像是一个巨大的仓库,材质也好,指令也罢,几乎所有涉及显示的东西都能装进去。
我们今天的故事,就从这最大的仓库开始吧。
顾杰所写过的技术分析类文章索引(持续更新) 1、谁是微软忠实随从 A/N统一构架历史回顾 3、揪出幕后罪魁祸首 是谁拖累了统一架构 5、融聚的未来在哪里 APU构架方向发展分析 7、NV也玩融合 探GTX700核心CPU+GPU构架 9、上错花轿嫁对郎 CrossFireX超高效率揭秘 2、 忠实微软是否有用 A/N统一构架细节分析 4、 曝你不知道的DX11 解析GPU通用计算妙用 6、特效消耗是无尽陷阱?游戏画质现状解析 8、分裂帝国的统一之路 Intel融合构架探秘 10、口袋里的战争 移动世界3D芯片构架演义 11、iPad2也成无尽陷阱?移动GPU构架全揭秘 12、GPU大百科全书前传 看图形与装修的关系 13、GPU大百科全书第一章:美女 方程与几何 14、重归正途迎未来 AMD新GPU构架深度解析 15、GPU大百科全书第二章:凝固生命的光栅化 16、GPU大百科全书第三章:像素处理那点事儿 17、GPU大百科全书番外篇:那年AN那些事儿 18、GPU大百科全书第四章:虚与实共舞的TMU 19、GPU大百科全书第五章 桌面显卡的捍卫者 20、经典为何消失无踪?千元显卡现状解析 21、可曾记得爱 看十年间名留史册的经典显卡 产品:GeForce GTX560Ti nVIDIA 显示芯片 显存翻新历代记
● 显存翻新历代记
显存的历史是如此的漫长悠久,它的命运一直是与显卡交织在一起的,甚至可以说显存的历史就是显卡的历史。当最初的显卡出现时,尽管功能单一且作用极其有限,但它毕竟担负着输出画面的职责,而输出画面这一连贯动作本身需要一个临时缓冲,因此从显卡诞生的第一天起,显存作为帧缓冲就已经出现了。今天我们看到的运行频率高达数G,带宽动辄几百G的显存系统,全部发端于缓冲这些每秒不过几K甚至仅仅几百字节画面数据的buffer。
古老的Trident 8900显卡
受限于半导体工艺以及IC逻辑结构涉及的水平,最初的显存与内存具有极大的通用性,FP-DRAM(Fast Page DRAM)及EDO-RAM(Extend Data Output DRAM)等等当时内存常用的颗粒在显存中同样适用,甚至当时相当多显卡的显存颗粒都是可拆卸和手工扩展的。这些延迟几十甚至几百纳秒的显存在今天看来简陋不堪而且慢如蜗牛,但他们在当时不仅十分先进,而且其高通用性也促进和保障了显卡的正常工作以及稳定发展。
EDO-RAM
随着时间的推移,显卡逐渐从传统的2D输出控制机构转变成了能够执行CPU发出的图形相关命令的独立单元,甚至具备了操作纹理及材质的能力。材质的以及帧缓存的配合操作对显卡的存储空间提出了前所未有的要求,传统的FP-DRAM以及EDO-RAM已经无法满足图形发展的需要。于是对SD-RAM的大规模使用,在显卡具备了“3D加速”功能之后便顺理成章了。与此同时,具备block-write(块写)能力,拥有更好读写性能的SG-RAM也开始崭露头角,但终因成本要素在未能流行起来。在SD-RAM时代,显存的延迟通常在8~10ns。
使用DDR显存的NV10 GPU的出现将整个图形界推入了崭新的时代,更好的光影效果催生出了更大的材质需求,进而带动了显存的发展。NV10(Geforce256)不仅是人类历史上第一块GPU,同时也是第一块支持DDR-RAM显存的GPU。普通的DDR显存延迟一般为4~5ns,它将传统的SD-RAM显存的带宽提升了一倍。可以说NV10的出现,将整个图形界拉入了高速显存时代。另外值得注意的是,在DDR显存后期,SG-RAM的DDR版本GDDR开始崭露头角,这为今后的显存发展打下了良好的基础。