深入解析各代显卡架构之 变化!
gpu吧
全部回复
仅看楼主
level 11
ab6048368 楼主
说到架构 我想很多朋友 尤其是刚入门的新手 对这个带有抽象色彩的概念都不是很理解 虽然知道它的重要性 但始终都不了解 那么想深入了解的各位 就请关注吧!
首先 我们都知道 衡量显卡好坏性能好坏的几点有:架构的先进度 做工 频率 位宽 带宽等等 那么说到架构 我们就拿现代的产品来作为重点讲述!
从06年第一代"统一渲染架构"的诞生 所带来的性能突破让GPU的性能产生了翻天覆地的变化 那么我们就来先看看第一代的 G80架构的真面貌!
在这之前 为了新手更容易理解什么是统一渲染架构 我先简单的对比下两代架构的区别 早期GPU的规格主要用管线(Shader,着色器)来形容,分为像素管线(Pixel Shader)和顶点管线(Vertex Shader)。被称“为分离式架构”但因为资源分配不平衡 大量资源被浪费所以出现了“统一渲染架构”。没有了PS VS 取而代之的是SP单元。传统显示芯片架构的缺点1. 游戏厂商无法按照需要设计游戏,必须向硬件性能妥协。
2. 显示芯片的利用效率不高,运算单元被闲置的现象经常发生。
第一代统一架构 G80:
2013年07月24日 02点07分 1
level 11
ab6048368 楼主
统一渲染架构,说白了就是使用全新的Shader模块(现在被称为流处理器)取代之前的顶点管线和像素管线,然后通过专用的控制单元来统一协调指令分配,按照游戏的负载来动态的调度顶点、几何、像素指令。
所以从理论上来讲,NVIDIA和AMD之前的GPU在统一渲染架构的设计原理上是一致的。第一代统一渲染架构,就是将像素、顶点、几何、物理等图形渲染指令统一了起来,按照比例和优先级交给流处理器处理。
但区别在于双方产品在指令分配方式上存在差异 NV走的是标量路线 因指令操作方式被称为“MIMD”(多指令流多数据流) 而ATI则采用的是传统的传统SIMD(单指令多数据)架构 但这一架构存在弊端 在后面我会为大家介绍 G80/G92拥有128个流处理器,这些流处理器分为8组TPC(线程处理器簇),每组16个SP(流处理器),这16个SP又分为两组SM(多核流处理器),SM是不可拆分的最小单元,是8核心设计。
统一渲染架构的优点:1.动态分配运算单元,提升利用率2.并行处理,提高利用效率3.统一渲染架构还能够协调分配几何着色、物理着色等指令
第二代 “统一架构” GTX200
2013年07月24日 03点07分 2
SP(Stream Processor)流处理器,SM(Stream Multiprocessor)流多处理器,TPC(Thread Processor Cluster)线程处理器簇,MIMD(Multiple Instruction Stream Multiple Data Stream)多指令流多数据流,SIMD(Single Instruction Multiple Data)但指令多数据。
2018年10月04日 01点10分
level 11
ab6048368 楼主
2013年07月24日 03点07分 3
level 11
ab6048368 楼主
首先来看看NVIDIA对于新一代GTX200核心的设计目标:
性能翻倍:两倍于G80核心的性能; 优化架构:根据未来游戏的需要优化核心架构,植入更多的流处理器、扩大显存带宽,调整着色器和纹理的比率; 提高效能:提高GPU的“每瓦性能”,提高晶体管利用率; 改进DX10:加强DX10图形性能,比如几何着色和像素输出的效能; GPGPU:按照并行计算架构设计GPU,提高物理加速性能,优化GPU通过CUDA执行非图形运算的效能; 能源管理:尽可能的控制功耗,加入高级能源管理功能,最大限度降低空闲时的消耗
2013年07月24日 03点07分 4
level 11
ab6048368 楼主
从上面的图中我们可以看出 GTX200将TPC数量从8个扩充至10个,而且在每个TPC内部,SM从2个增加到3个,SM依然是8核心设计。如此一来,GTX200核心的流处理器数量就是,8×3×10=240个,几乎是G80的两倍!
纹理单元部分,GTX200的每个TPC内部拥有8个TF,这样总共就是8×10=80个纹理单元。这里GTX200的纹理过滤单元和定址单元的数量是相等的,而G80的纹理定址单元只有纹理过滤单元的一半(事实上G92核心中TA和TF数量就相等了)。
2013年07月24日 03点07分 5
TF(Texture Filter)纹理过滤单元,TA(Texture Address)纹理寻址单元。
2018年10月04日 01点10分
level 11
ab6048368 楼主
面向通用计算领域:GF100如果说G80 GTX200在游戏方面发生了翻天覆地的变化 那么GF100带来不仅仅只是游戏方面的提高 更多的是面向通用计算领域 将GPU的全部能力展现的淋漓尽致 让我们来看看GF100都带来哪些变化GF100:
NVIDIA声称Fermi GF100是一个全新架构并非没有道理。不但是通用计算方面,游戏方面它也发生了翻天覆地的变化,几乎每一个原有模块都进行了重组:有的砍掉了,有的转移了,有的增强了,还有新增的光栅引擎(Raster Engine)和多形体引擎(PolyMorph Engine)。
光栅引擎严格来说光栅引擎并非全新硬件,只是此前所有光栅化处理硬件单元的组合,以流水线的方式执行边缘/三角形设定(Edge/Triangle Setup)、光栅化(Rasterization)、Z轴压缩(Z-Culling)等操作,每个时钟循环周期处理8个像素。GF100有四个光栅引擎,每组GPC分配一个,整个核心每周期可处理32个像素。
多形体引擎则要负责顶点拾取(Vertex Fetch)、细分曲面(Tessellation)、视口转换(Viewport Transform)、属性设定(Attribute Setup)、流输出(Stream Output)等五个方面的处理工作,DX11中最大的变化之一细分曲面单元(Tessellator)就在这里。GF100中有16个多形体引擎,每组SM一个,亦即每组GPC四个。
多形体引擎绝非几何单元改头换面、增强15倍而已,它融合了之前的固定功能硬件单元,使之成为一个有机整体。虽然每一个多形体引擎都是简单的顺序设计,但16个作为一体就能像CPU那样进行乱序执行(OoO)了,也就是趋向于并行处理。NVIDIA还特地为这些多形体引擎设置了一个专用通信通道,让它们在任务处理中维持整体性。
当然,这种变化复杂得要命,也消耗了NVIDIA工程师无数的精力、资源和时间。事实上可以这么说,多形体引擎正是GF100核心最大的变化所在,也是它无法在去年及时发布的最大原因。NVIDIA产品营销副总裁Ujesh Desai说过这么一句话:设计这么大的GPU实在是太TMD难了。其实,他指的并不是30亿个晶体管。
这么做也是不得已而为之。考虑到细分曲面单元的几何复杂性,固定功能流水线已经不适用,整个流水线都需要重新平衡。通过多形体引擎的并行设计,几何硬件不再受任何固定单元流水线的局限,可以根据芯片尺寸弹性伸缩。和之前的GT200/G92以及AMD相比,GF100走上了另一条路,而且颇有要做CPU的架势。
在每一组SM阵列里,纹理单元、一二级缓存、ROP单元和各个单元的频率也都完全不同于以往。每组SM里四个纹理单元,合伙使用12KB一级纹理缓存,并和整个芯片共享768KB二级缓存。每个纹理单元每周期可计算一个纹理寻址、拾取四个纹理采样,并支持DX11新的压缩纹理格式。
ROP单元总共48个,分为六组,分别搭配一个64-bit显存通道。所有ROP单元和整个芯片共享768KB二级缓存(GT200里是独享)。
除了ROP单元和二级缓存,几乎其他所有单元的频率都和Shader频率(NVIDIA暂称之为GPC频率)关联在一起:一级缓存和Sahder单元本身是全速,纹理单元、光栅引擎、多形体引擎则都是一半。对于GF100来说,想超频的话很多地方都要重新来过了。
2013年07月24日 03点07分 7
level 11
ab6048368 楼主
以上讲述了NV显卡从第一代统一渲染架构到现在的整体变化过程 接下来 我们在看看ATI的变化
2013年07月24日 03点07分 8
level 11
ab6048368 楼主
说到ATI的统一架构 那我们要回忆起当年的RV600 也就是2600PRO 2600XT 2900XT了 现在想想 仍然让我回味无穷!那么我们就来看看ATI的第一代统一架构RV600:
虽然很多人对当时的RV600表现不是很满意 但如今的RV870所带来的成就 跟RV600也是息息相关的 所以RV600使我们不得不提。
随着G80的推出 ATI也推出了自己相应的统一架构产品 虽然都是统一架构 但从细节方面讲还是有很多区别的 前面也提到ATI的GPU架构被称为"SIMD"架构 这是跟指令的分配方式有关 在这一点NV和ATI采用了不同理念设计 废话不多说 还是来介绍下RV600带来的架构上的变化
R600核心还是采用了传统的SIMD架构,核心拥有64个Shader Units(又称Stream Processing Units),但它又在传统Shader基础上进行了该进,每个Shader内部包含了5个超标量ALU,因此AMD声称R600核心拥有64×5=320个流处理器。并且在每个SP当中除了5个ALU以外还有一个特殊处理单元来帮助SP完成复杂的函数操作
R6XX采用了5D着色单元架构
自从新一代的DX10显卡采用了统一的渲染架构,流处理器的数量就成衡量显卡性能的重要指标。2900XT拥有320个流处理器,是8800系列的2.5倍。
2.512bit显存位宽
2900XT拥有512bit的位宽,比DX9高出一倍,即使是8800系列最高也只有384bit。随着显卡位宽提高,显存带宽也得到了大幅提升。尽管2900XT的频率略低于8800系列,但凭借高位宽使其显存带宽仍高于8800系列。
3.CFAA反锯齿技术
ATI在新一代的DX10显卡中应用了新的CFAA技术,同倍数CFAA和8800系列的CSAA在画质上的差别不大,但经过仔细的对比,CFAA更胜一筹。
4.Avivo HD音视频技术
从名称中的“HD”字样我们可以看出,ATI的新一代Avivo技术除了视频引擎外还新增了音频引擎,其解码能力比NVIDIA的PureVideo更全面。
512BIT显存控制器
虽然ATI是首个引入512bit显存控制器的一方 但由于当时核心效率问题 导致512BIT控制器在性能提高方面并没有多大帮助
2013年07月24日 03点07分 9
level 11
ab6048368 楼主
好吧 因为审核原因导致我的RV670没办法发出来那么我就在此简单的说下RV670的变化RV670:从架构方面讲 RV670和RV600几乎相同 但从细节方面来说又有不同之处RV670继续支持最高8倍的标准MSAA(Multisampling Anti-aliasing)。MSAA拥有相对更为广泛的适用性和优秀的画面品质,但其对显卡本地内存容量和GPU的计算能力要求均较高,即使这样,大多数用户还是会选择这种模式进行游戏,典型的设置是开启4倍MSAA,并同时开启16倍的各向异性过滤。 AMD RV670 GPU 正如前文提到,RV670除了保留R600强悍的3D加速架构并细微调节更新支持至DirectX 10.1之外。这款GPU的最大改进在于它使用55nm工艺制造!RV670是全球第一款55nm工艺的GPU芯片,AMD再一次在制造工艺上走到了NVIDIA前面。 R600和RV670的比较 55nm的优势是提高集成度并缩小核心面积,RV670内含6.6亿个晶体管,因内存控制器位宽减半而低于R600,其核心面积只有192平方毫米。 RV670的其他特点还有内置256bit位宽的内存控制器及符合PCI Express 2.0规范的I/O接口。其着色器和整个GPU运行频率同步,Radeon HD 3850的标准核心频率设定为670MHz,Radeon HD 3870则超过775MHz。 ● 来自移动平台的先进技术PowerPlay 55nm制造工艺本身已经让RV670功耗相对降低,AMD还特别的在这款桌面及GPU引入了移动平台上的PowerPlay技术进一步降低显卡的整体功耗。 PowerPlay技术并不复杂,它的原理是动态频率调节,驱动程序将根据GPU的3D加速应用负载来自动控制GPU的实际运行频率,只有运行重负载3D程序时显卡系统才会全速运行。
2013年07月24日 03点07分 10
level 11
ab6048368 楼主
● 内置数字音频及领先的UVD RV670相对R600的最后一个不同电视塔全面支持AMD高清视频解码技术UVD(Unified Video Decoder),之前只有RV630/RV610拥有的这项功能现在也在高性能GPU上得到实现。 UVD是VC-1和H.264全面的解决方案
2013年07月24日 03点07分 11
level 11
ab6048368 楼主
第二代Power On Demand节能技术
RV770不仅拥有高效益的硬件规格,55nm技术亦已被ATi利用得炉火纯青的境界。RV770还通过第二代的Power On Demand节能技术,来实现与RV670相当的PowerPlay技术,RV770闲置待机时核心频率将直接下调到160MHz,显存频率更是直接下调到1000MHz附近,功耗和发热量都得到有效保证。
业界第一款GDDR5显存的显卡
由RV670开始,ATi一直坚持使用最顶尖的显存技术来满足GPU对于带宽的需求,对比起已经多代使用GDDR3颗粒的NVIDIA来说,勇敢的尝试带来的收效是让人满意的。由GDDR4到GDDR5的使用,GPU能够利用的带宽越来越大,也意味着在不提高GPU周边成本太大的情况下,保持让GPU发挥的更佳水准。举个例子,RV770使用了GDDR5显存,由于GDDR5的高频特性,因而在使用256Bit位宽的情况下,能够在性能上与512Bit GDDR3几乎相同的位宽。这样的好处是显而易见的,通过减少位宽,显卡上将可以使用更少的显存颗粒来节约一半以上的成本,同时,设计显卡PCB时候就能减少走线的复杂程度,形成一个对显卡成本更有效利用的良性循环。
Direct 10.1球体光影效果
ATi继续支持业界领先的DX10.1,相比DX10,DX10.1拥有更出色的光影互动,而且拥有更好的效能表现。
2013年07月24日 03点07分 13
level 11
ab6048368 楼主
RV770相比RV670主要优化了上图的部分,相比RV770,渲染单元能够共享更大的二级缓存,并让显存读写缓存能够直接抽取二级缓存的数据,加速了核心与渲染单元直接的效率。同时,渲染单元还可以直接与显存控制器交换数据。下图则是单个渲染单元改进大图:
当明白了RV770主要改进点之后,我们不难发现,其实NVIDIA和ATi都使用了不同的方式来进行相同的事情,加大单个核心对于缓存读写大小的权限以及加大缓存,这样的好处是显而易见的:开启全屏抗锯齿以及各向异性将不会再损失更多的周期,因而效率更高,这也是首次在统一渲染架构的GPU上看到加大缓存改进措施。
2013年07月24日 03点07分 14
level 11
ab6048368 楼主
RV870 “双核”造就王者!
2013年07月24日 03点07分 15
level 11
ab6048368 楼主
在讲解RV870之前 我们先来看看AMD的产品目标:
首颗支持DirectX 11的GPU;
提供最强DX9/10/10.1性能;
为最新的OpenCL 1.0和DirectCompute 11通用计算API提供优化支持;
在功耗不变的情况下实现规格和性能翻倍;
支持3屏甚至6屏超大画面输出。
-架构解析--
自从DX10时代以来,ATI和NVIDIA双方的GPU架构就没有多大变化,NVIDIA的G9X和GT200都沿用了G80的MIMD(多指令多数据流)标量流处理器架构,而ATI则一直使用R600上面的SIMD(单指令多数据流)超标量流处理器架构。
RV870的核心架构与R600、RV670和RV770没有本质区别,它是一颗用新工艺制造的、用大量晶体管堆积而成的超高规格GPU。
唯一遗憾的就是,RV870的显存控制器位宽没有翻倍,只是将GDDR5的显存频率进一步提升。因此HD5870的实际游戏性能不可能达到HD4890的两倍,只能是接近两倍。
2013年07月24日 03点07分 16
level 11
ab6048368 楼主
RV870核心控制引擎
R870的图形架构可以拆分为以下几个模块,一个一个来看都有什么改进:
Command Processor(指令处理器)
Graphics Engine(图形装配引擎)
Ultra-Threaded Dispatch Processor(超线程分配处理器)
Stream Processing Units(流处理器)
Texture Units(纹理单元)
Cache & Buffer(缓存及缓冲区)
Shader Export & Render Back-Ends(像素输出部分)
Memory Control(显存控制器)
Display Controllers(输出接口控制器)
● Command Processor(指令处理器)
Command Processor负责从PCI-E总线发出或者接受指令流,让GPU在驱动程序给定的时间间隔中完成恒定数据流操作,此过程需要通过Parallel DMA Engine,调用系统内存或者是本地显存的相关资源。
● Graphics Engine(图形装配引擎)
之前这个模块被称为Setup Engine,是GPU负责指令分配和安装的模块,主要负责给GPU内部各大模块将要执行的指令准备数据,我们将其称之为装配引擎。装配引擎之中有很多模块,包括Tessellator(镶嵌器)、Vertex Assembler(顶点装配器)、Geometry Assembler(几何装配器)、Rasterizer(光栅器)、Hierarchial-Z(多级Z缓冲模块)等。
RV870相比RV770,最主要的变化就是拥有两个光栅器和多级Z缓冲模块,而此前的GPU都只有一个。这可不是因为RV870本身是“双核”的关系,因为顶点装配器和几何装备器都只有一个。
装配过程:顶点数据装配完毕后,顶点三角形内插操作不再使用独立的硬件单元,而是交由流处理器处理,由DX11中新增的外壳着色器和域着色器替代,这两个着色器将辅助镶嵌器进行细分操作,生成新的顶点。
接下来三角形顶点的2D坐标信息经过Rasterizer(光栅器)之后就得到了像素信息,也就是得到了屏幕上每个点的数据信息。进行这部分操作的时候也经过扫面转换生成了每个点的Z轴信息,这些信息将被传输到Z轴缓冲之中,以备后用。
现在我们就可以理解为什么RV870要设计两个光栅器和多级Z缓冲模块了,因为DX11 Tessellator的关系,最终的模型将变得十分复杂,需要处理的指令数量很多,合理的分配任务并暂存数据很关键。RV870改进了连续存取缓存时的性能。
Hierarchical Z是一项非常智能的技术,在GPU完成坐标转换之后,Hierarchical Z会不断对比各个顶点的Z轴位置,一旦Hierarchical Z发现这个顶点不需要显示,将会直接将其剔除避免后续无效渲染,它将有效控制由Tessellator所带来的性能损失。
即便是在DX9或DX10应用中,双倍的Rasterizer和Hierarchical Z也能大幅提升GPU在高分辨率和多屏超高分辨率下的性能表现。
● Ultra-Threaded Dispatch Processor(超线程分配处理器)
最后,所有的像素/顶点/几何/纹理/颜色等数据经过Interpolators(排序器)之后交给Shader进行处理,当然在此之前还有一项必备的工序,那就是数据的重新封装打包,以及指定相应的统一渲染单元运算,这部分任务由超线程分配处理器完成。
2013年07月24日 04点07分 18
level 11
ab6048368 楼主
完毕!![太开心]
特发此贴 供本吧吧友们学习交流!!
2013年07月24日 04点07分 21
level 11
ab6048368 楼主
此帖转自电脑吧 @穷人过客
2013年07月24日 04点07分 22
level 9
mark,谢谢,接下来做好功课慢慢品位
2013年07月24日 04点07分 23
我能说我没怎么看嘛,有时间仔细看下
2013年07月24日 07点07分
回复 ab6048368 :[狂汗]
2013年07月24日 08点07分
觉得不错转载来让大家看撒
2013年07月24日 09点07分
回复 ab6048368 :好的
2013年07月24日 10点07分
level 10
帮顶。。没找到SIMD的弊端。。。
2013年07月24日 06点07分 24
百度一下你就知道
2013年07月24日 07点07分
level 6
留名,要认真研究一下
2013年07月24日 11点07分 25
1 2 尾页