任何一个人想完整描述Nvidia G80的架构,都是一件不可能的事情。在完成这篇通过Nvidia最新GeForce 8800GTX显卡,对G80进行架构分析,特性介绍的文章之后,我不得不得出这个结论。似乎已经很久,没有一款显卡能够同时拥有那么多“新鲜”的地方,一时间那么多新概念充斥而来让
NV 8800GTX官方样卡,完全可编程统一渲染着色单元
[NV 8800GTX官方样卡,完全可编程统一渲染着色单元]
让我们好好的看看这颗G80核心,虽然这仅仅是一款工程样品。但我可以很明确的告诉大家,最终出货版本与其几乎没有什么差别。从表面的激光刻蚀印字中我们能了解,其核心生产日期为06年第38周,大约是10月初的样子,修订号为A2。而之后的正式版本也同样如此:0638A2,只是在最底部会加入G80-100-KO-A2的核心标示。这款由Nvidia与台湾台积电TSMC共同研发,仍旧采用成熟90nm制作工艺的GPU,晶体管达到了空前的681M之多!虽然没有80nm的支撑,也不能像对90nm至少相对减小13%的核心面积,但我们如今看到的G80仍旧略小于480mm2。而在这之下,到底囊获了多少全新技术和特性呢?
G80核心工程样品0638A2-台湾同胞的自豪之作
如果用一句话来概括8800GTX核心,那么它将是一颗完全兼容微软DirectX 10规范,支持SM 4.0,采用统一着色架构,核心频率575MHz,具有8个TPCs,内置128个运行于1350MHz频率统一着色单元(此处省略相关介绍100字)……的GPU。谁能一口气说完我愿意请你吃一个KFC的鸡翅,如果没有人能做到,那么从这里开始我们将进入核心内部,让我尽力去详细地描述G80并说得通俗易懂一些。洗干净耳朵,Ready?GO!
DirectX 10中对统一着色架构的描述
在DirectX 10之前的显卡产品,我们往往会通过管线Pipeline以及两种着色器:Pixel Shader像素着色引擎和Vertex Shader顶点着色器进行描述。自Nvidia推出GeForce256这款具有划时代意义的显卡之后,GPU乃至之后ATI推行的VPU已经深入人心。原本需要CPU来辅助处理的T&L(Transforming以及Lighting,转换变形与光影效果),被顶点着色器内的硬件T&L所完成,更丰富了光源表现提升了画面质量。在这个时代,显卡的顶点着色器成为一个非常重要的指标。但是随着GPU以及游戏的发展,人们开始发现这种从Vertex顶点处理——>三角形等处理——>平面像素渲染等处理——>ROP输出(Rasterizing OPeration,光栅化引擎,即像素输出处理单元)——>显存交换数据的方式似乎有些不对劲。以往人们只要大幅提升频率,管线数量来提高性能和效果,但现在发现如此般处理流程极为浪费资源和影响性能。特别是对于厂商来说,必须同时满足PS和VS的需求,那么则必须同时在一个核心内融入两种Shader,如今看来这似乎并不是一个好的设计方案。
G80内部架构:完全可编程统一着色/渲染单元
随着时间的推移,人们发现为了应对不同游戏,必须在两种着色器上寻找平衡。许多游戏和3D应用场合中,对每一种着色器的需求并不相同。而与其苦苦计算两者的数量比例,还不如干脆将他们整合,只是在实际处理的时候根据需求调整输出比例。同时在DirectX 10中,除了上述两种着色/渲染模式外,又添加了一种称之为Geomerty Shader(从一些资料中我们了解,这种渲染方式主要将应用于脸部皮肤等高多边形处理状态,提供更为真实的动画渲染等方面的应用)的模式。难道今后我们还要在GPU中加入GS着色器么?正所谓整合才是王道,复杂的设计并不利于日后的研发及生产。于是乎,统一着色架构呼之欲出。
所谓的统一着色架构(Unified Graphics Core Architecture)其实很好理解,便是把那些个着色单元一股脑儿统统“捏”在一起。不再有硬件化的某Shader区分,只是仍旧有不同的渲染方式之别。而8800GTX中则拥有128个统一着色/渲染单元,并拥有自己的工作频率:1350MHz。并通过一个SSI(Small Sets of Instructions)单元进行调配和操控。不管某款游戏需要何种着色单元,无论什么场景或角色需要哪些渲染方式及程度,均由SSI进行控制并通过这128个统一着色器进行自动调控。这么做的好处显而易见,着色器们根据实际需求各司其职,不再有资源空闲和资源浪费的情况出现。同时这也能更好的兼容以往游戏,当然这需要在驱动等方面进行更多配合。所有的运作过程被简化为统一着色单元——>ROP——>显存交换。
网友评论