POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 1366|回复: 6
打印 上一主题 下一主题

NVIDIA系列连载二:GTX200核心统一渲染架构解析

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-27 16:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  通过前面对于旗舰显卡的简单回顾我们可以发现,R600比G80有着许多先天优势:工艺先进、晶体管更多、频率更高、还有512Bit显存,但为何R600还不如G80的阉割版呢?这是因为决定性能的关键在于GPU核心架构,只有不停地优化架构,才能在晶体管、频率一定的情况下,大幅提升执行效能。那么现在我们就来研究下NVIDIA和AMD的DX10图形架构。
  G80核心第一代统一渲染架构解析
  GTX200的核心架构是在G80的基础上改进、优化、创新而来的,G8X/G9X都是第一代统一渲染架构,NVIDIA将GTX200称为第二代统一架构,所以必须熟知G80的架构特色后才能深入理解GTX200的新特新。
  ● 第一代统一渲染架构:G80统一像素/顶点/几何/物理
  在G80以前,显卡(GPU)的规格主要用管线(Shader,着色器)来形容,分为像素管线(Pixel Shader)和顶点管线(VertexShader)。芯片厂商在设计的时候并不会将顶点管线和像素管线按照相同的数目去做,一般像素管线数远大于顶点管线。比如G70/G71核心拥有24条像素管线和8个顶点管线。那么显示芯片厂商为什么要这么做呢?答案是:这样的结构和比例是芯片设计厂商根据常见游戏的情况而决定的。

沿用了20年的管线式架构被统一渲染架构终结
  不同的游戏在开发的过程中,设计的图像复杂度是不同的,有的游戏3D模型相对简单,这样游戏就可以在更多玩家的电脑上运行。有的游戏的3D模型和后期特效就非常复杂,这样在保证了游戏的效果的同时就让很多中低配置玩家难以流畅运行。除去游戏复杂度的区别,游戏的开发商和显示芯片厂商还处在一个更加难以解决的怪圈中,这就是:游戏开发商必须根据GPU的架构来调整图形资源消耗(如像素/顶点或像素/纹理的比例),而芯片厂商又得预估未来游戏的发展来定制GPU架构,出现了双方互相牵制难以协调统一的局面。
  具体来说就是,有的厂商会开发一些3D模型很复杂,顶点数目很多的游戏,这些游戏就需要耗费很大的顶点管线的资源,这类游戏可以把场景设计得很复杂,里面的3D模型的细节非常到位。而另一类厂商则会将焦点放在后期的象素级别的特效,这样的好处就是可以给游戏带来更炫的视觉效果。

传统管线式架构中像素和顶点负载不均衡,统一渲染架构就能自动分配负载
  上图可以看到一个典型的例子,第一场景(鲨鱼)主要是由框架以及三角形来构成的,因此对于顶点的计算量是相当高的,而像素计算的部分却非常少,像素管线资源被闲置。

 而第二个例子描绘的是一个复杂水体模拟场景,是由大量的光影特效都是依靠像素处理实现的,因此对于像素单元的要求却非常高,而顶点的操作早已完成,导致了资源的浪费。这两个例子充分的证明了这样一个事实,大部分的应用中,顶点和像素处理不平衡的现象非常普遍,导致部分Shader单元闲置,从而浪费宝贵的资源。这也正是Shader单元分离式设计显卡的最大弊端之一。

在实际游戏中,像素和顶点的负载并非一成不变,因此需要GPU自动协调获得最高效能
  在这种情况下,显示芯片厂商只能按照最常见的游戏的情况来设计显示芯片,尽最大能力去满足不同的游戏。而游戏厂商在设计游戏的时候也不能随心所欲的设计游戏,必须满足显示芯片的性能配比,这样才能在消耗性能最小的情况下达到最好的游戏效果。这个矛盾一天不得到解决,显示芯片最大的效能就不能充分的得到发挥,这也一直是显示芯片的性能提高的最大瓶颈所在。
  传统显示芯片架构的缺点
  • 游戏厂商无法按照需要设计游戏,必须向硬件性能妥协。
  • 显示芯片的利用效率不高,运算单元被闲置的现象经常发生。
  统一渲染架构的优点:
  1.动态分配运算单元,提升利用率
  在统一渲染架构下,每个处理单元都可以进行顶点和像素的运算,这样一来,无论是怎样的游戏,都能够充分利用显卡的资源,再也不会有一些处理单元闲置,一些处理单元负载过高的情况出现了。
  在需要大量顶点运算的游戏中,Unified Shader将被分配去做顶点的运算,而在需要大量后期象素级别特效的时候,Unified Shader将被安排去做像素着色。
  2.并行处理,提高利用效率
  除了动态分配方面带来的好处,这样的结构还有利于处理并行性的提升,因为这些处理单元可以并行运行,不像原来的串行的结构那样顺序执行。
  3.统一渲染架构还能够协调分配几何着色、物理着色等指令
  除了传统的像素着色和顶点着色之外,统一渲染架构还支持DX10新加入的几何着色,在专用控制单元的支配下,GPU可以代替CPU动态的生成和销毁几何图元数据,从而大幅提升执行效率,消除图像渲染过程中的瓶颈。
                                                       
GTX200核心第二代统一渲染架构解析   NVIDIA将G80称为第一代“统一渲染架构”,而GTX200则被称为第二代“统一架构”,渲染二字不复存在,从这个细微的变化就可以看出新一代的GPU的架构已经在朝着非图形领域发展了。现在我们就来看看两代核心架构图:

GeForce 8全系列架构图
  统一渲染架构,说白了就是使用全新的Shader模块(现在被称为流处理器)取代之前的顶点管线和像素管线,然后通过专用的控制单元来统一协调指令分配,按照游戏的负载来动态的调度顶点、几何、像素指令。
  所以从理论上来讲,NVIDIA和AMD之前的GPU在统一渲染架构的设计原理上是一致的。第一代统一渲染架构,就是将像素、顶点、几何、物理等图形渲染指令统一了起来,按照比例和优先级交给流处理器处理。

NVIDIA系列连载二:GTX200核心统一渲染架构解析                                                                                                                                                                                                                                                                                                                         2009-6-6                                                                                                                  来源: 互联网                                                                                                                                                                                                                关键字: GTX200 统一渲染架构 NVIDIA                                                                                                                                                                                                                                                                                                                                                                                                                     

GTX200核心架构图
  近年来,GPU除了进行图形渲染的本职工作之外,开始越来越多地涉足非图形计算领域,比如科学计算、媒体编码、数据分析等。NVIDIA甚至专门发布GPGPU的新品牌——Telsa,而且为GPU开发了全新的CUDA语言,为GPU的通用化提供了简单易用的新平台。
  两年时间过去了,虽然G80能够很好的胜任并行数据计算的需要,但NVIDIA发现图形架构还有继续改进的余地,只要在核心内部设计全新的控制模块,并对微架构进行专门的优化,就能将GPU的图形架构改造成更加适合非图形领域的并行数据处理架构。
  通过核心架构图可以看到,GTX200总共拥有十个流处理器阵列,每个阵列内部拥有8×3=24个流处理器,其中每8个为一组构成SIMT(单指令多任务架构),并共享16K指令缓存,三组SIMT共享一级缓存。这样的标量流处理器设计适合执行高度并行化指令,无论对于传统的图形渲染,还是物理加速运算、大规模数据处理都游刃有余。
  因此,第二代统一渲染架构的主要含义,就是将图形处理架构和并行计算架构完美的结合起来,成为一颗真正意义上的通用处理器,超越图形处理器的概念!
7#
发表于 2009-7-30 03:22 | 只看该作者
楼上,不一样在哪里?简单说说嘛
回复 支持 反对

使用道具 举报

6#
发表于 2009-7-29 22:57 | 只看该作者
Fermi 和 Tesla 的大架构并不一样。
回复 支持 反对

使用道具 举报

5#
发表于 2009-7-29 22:43 | 只看该作者
如果G300没有新构架,那么从Evergreen对G300就可以看到G80和R600构架终极进化型的对决了
回复 支持 反对

使用道具 举报

4#
发表于 2009-7-29 22:42 | 只看该作者
国外什么网站有相关技术论文?IEEE?
回复 支持 反对

使用道具 举报

3#
发表于 2009-7-29 22:35 | 只看该作者
楼主这篇档案从游戏编程和GPGPU角度都讲到了GT200.
不过偶有一份档案是专门从GPGPU角度来谈GT200的.
回复 支持 反对

使用道具 举报

2#
发表于 2009-7-29 22:19 | 只看该作者
本帖最后由 detonator 于 2009-7-29 22:41 编辑

such technical report no one supports?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-26 20:52

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表