b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

外媒:图形卡Vector AMD左NVIDIA对吗?从Fermi架构看GPU开发

电脑杂谈  发布时间:2020-09-01 09:06:53  来源:网络整理

显卡 矢量_amd显卡和nvidia显卡_联想台式机显卡与dell显卡不配套

AMD在左边,NVIDIA在右边?从Fermi架构看GPU开发

[1. 指南]

就像所有故事都始于“从前……”一样,今天的故事将有一个无聊的开始. 这次,我要讨论两种主要的图形卡,一种是NVIDIA,另一种是AMD的图形部门. 自3D图形卡问世以来,它们一直处于竞争关系. 他们曾经是现在,现在是,但是将来呢?关于显卡的未来方向,从过去两年的表现中可以看出,NVIDIA已不再与AMD捆绑在一起. AMD率先在DX11时代处于领先地位,并得到了Microsoft的支持以享受炫酷体验,并继续坚持DX游戏之路. 支持DX11的HD 5000图形卡是当前唯一支持DX11的图形卡. 即使NVIDIA不抢夺下一代图形卡,但它们仍雄心勃勃. 他们有信心,他们将比AMD看到更多,并且会做得更好. 新一代基于Fermi的图形卡将成为NVIDIA最大的王牌.

两党之间的分歧似乎早已预见到. 在DX9和更早的时代,衡量图形卡性能的两个最重要的指标是顶点单位(Vertex shader)和像素单位(pixel shader)的计算能力. 通常,带有更多VS和PS单元的图形卡的性能会更强. 在DX10规范中,Microsoft合并了VS和PS(还有一个Geometry shader几何渲染器GS)的功能,并将它们统一为Unified shader,也称为Stream procerer. 即使DX11也基于流处理器,该体系结构一直延续到现在. 统一渲染单元的好处显而易见. 设计人员不再需要考虑顶点,像素和几何运算之间的差异. 不仅编程难度大大降低,而且程序的性逐渐显现出来,并且AMD和NVIDA是图形卡的核心. 在架构设计甚至发展方向上都有分歧.

早在2003年,NVIDIA就一直在计划GPU通用计算. 因为没有统一的标准,所以相关的供应商正在摸索. 当时的想法是将程序映射到GPU可通过OpenGL和DX中的高级着色语言识别的图形操作,然后在计算完成后执行映射以获得所需的结果. 坦率地说,这种方法是“欺骗” GPU,需要谨慎处理,否则GPU将退出.

NVIDIA引入了一种CG(图形用C语言)语言来调用GPU资源进行编程开发. CG基于C语言,但是并不完全相同. 程序员仍然需要花费时间来学习CG语言,以便顺利使用它. AMD(或当时的ATI)还研究了GPU通用计算. 早在X1900时代,它就与Folding @ Home项目合作,使用自己的Stream通用计算技术来提供计算支持. 由于当时的技术,这些尝试均未成功.

DX10中统一渲染器的出现促进了GPU通用计算的发展

GPU通用计算在DX10时代具有新的机遇,因为在DX10中,Microsoft用Unfied Shader代替了像素渲染器,顶点渲染器和几何渲染器. 计算指令不再具有顶点,像素或几何区别,简化了处理过程. Microsoft尚未强制要求如何设计统一渲染器. 因此,AMD和NVIDIA设计了自己的统一渲染器. AMD推出了原始设计的改进版本. NVIDIA以此为契机设计了更通用的统一渲染. 从G80架构开始,它走上了通用GPU计算的“好路”. GT200发行时,它呼唤“ GPU集中化”,并且最新的Fermi架构诞生于高性能计算.

这篇文章统计了最近几代AMD和NVIDIA GPU架构设计,并着重于Fermi架构设计. 也许我们可以理解两家制造商的不同概念以及他们对未来发展的愿景.

[2. NVIDIA和AMD统一渲染架构之间的区别]

计算机的每个像素都由RGB(红色,绿色和蓝色三种原色)组成,并且添加了alpha灰度值以指示每种颜色的透明度,并且顶点包含四个坐标XYZW. 因此,在进行图像处理时,像素单元可以同时执行R,G,B和Aplha的四个运算以获得像素的颜色,顶点单元还可以执行XYZW的四阶矢量坐标运算. 一次. DX10之前的架构就是所有SIMD(单指令多数据(Single Instruction Multiple Data,单指令多数据)架构),这种架构在执行4D矢量运算时效率最高,并且可以在100%满载下执行而不会浪费运算单元.

联想台式机显卡与dell显卡不配套_amd显卡和nvidia显卡_显卡 矢量

除了矢量运算,游戏中还有越来越多的标量运算. 当执行一维标量计算时,传统SIMD架构的利用率仅为原始SIMD架构的25%,这将不可避免地导致性能下降. AMD之前也采用了变通方法,将4D向量更改为3D向量+ 1D标量操作. 除了3D + 1D组合之外,NVIDIA的G70还具有2D矢量+ 2D标量运算方法. 随着DX10中统一渲染单元的出现,SIMD架构的缺陷变得越来越明显,制造商需要新的架构设计.

AMD已将传统的4D矢量操作改进为4D + 1D架构

AMD的解决方案是将原始4D矢量计算扩展到4D矢量+ 1D标量体系结构,并将其命名为Supersclar(超标量),并且4D + 1D计算体系结构也已在当前的DX11图形卡上使用. AMD的Supersclar架构可以在一个周期内执行5个矢量运算或一个标量+一个矢量运算,而5D指令仅需要一个发送端口,每个流处理器需要更少的晶体管,并且大大降低了设计难度. 缺陷仍然是遇到标量运算时效率降低. AMD大大增加了流处理器单元的数量,并增加了分支预测单元(Branch Execution Unit)以改善指令分配问题,并且需要更多的精力来驱动设计.

AMD的Superscalar架构仍在使用中

与AMD的逐步发展相比,NVIDIA的解决方案更具革命性. NVIDIA的首款DX10架构G80使用标量设计. 所有运算,无论是4D矢量,3D + 1D,2D + 2D还是1D标量,都都转换为标量计算,因此标量运算的效率始终为100%,但是在矢量运算中,还存在效率降低的问题,因为G80只能在一个周期内执行一个操作,并且需要四个周期才能完成4D矢量执行. NVIDA使用异步体系结构将流处理器的频率与核心频率分开. 流处理器的频率大大提高到1.3G以上,几乎是核心频率的两倍,并保证了4D矢量运算的速度.

NVIDIA的标量流处理器无异于突破. 从那时起,游戏和通用计算程序就证明了这种体系结构的卓越性. 除了将频率流处理器加倍以弥补数量上的缺点外,最重要的是全标量架构的高执行效率. G80中的每条指令都可以在一维标量上进行操作,利用率可以保持在100%. AMD的4D + 1D架构需要将指令组合成适合5D操作的VLIW(很长的指令),以确保充分利用所有流处理器. 一旦重组失败或指令不适合重组,就不能使用流处理器的数量. 从Folding @ home的贡献排名中可以看出,AMD显卡具有许多优点,因此理论上浮点计算功能非常强大,但是在实际应用中它们并不比NVIDIA显卡突出甚至不逊色于NVIDIA显卡.

截至今年12月27日的Folding @ home贡献排名

A和N体系结构设计中的上述差异只是一个方面. 两者的特定体系结构设计有很多差异. 总的来说,到目前为止,AMD的DX11显卡仍沿用R600 1D超标量结构首创的4D +,但是设计难度不大,通过新工艺大大增加sp单元的数量可以提高性能,而NVIDIA拥有走了另一条路. 一维标量流处理器具有很高的执行效率,异步分频也可以弥补这一点. 实际效果很好,但是必须面对负责任的设计和高成本的问题. 除了游戏应用程序外,高效的一维标量设计还有助于NVIDIA实现GPGPU通用计算,这也是NVIDIA过去两年一直在计划的新策略.

[3.G80原来是NV规划通用计算]

2006年11月,NVIDIA首先发布了支持DX10规范的新一代图形卡. 首批图形卡包括旗舰产品GeForce 8800 Ultra(价格在800-1000美元),高端GeForce 8800 GTX(599美元)和高端GeForce 8800 GTS(399-499美元),这三者图形卡全部基于NVIDIA的G80架构,并且是第一款支持DX10规范(与当前情况有些相似)的计算机.

G80架构的成功是NVIDIA在过去三年中最引以为豪的资本之一. 即使是当前的低端图形卡也受益于G80衍生的G92 / G94架构,以及从8800 GTX流程升级的9800 GTX. 到目前为止,GTS 250已经使用了三代图形卡,但它仍然是玩家的最佳选择之一. G80架构能够通过当时出色的架构设计实现所有这些目标. NVIDIA放弃了以前的图形卡的矢量计算单元,转而使用复杂但效率更高的标量计算.

联想台式机显卡与dell显卡不配套_amd显卡和nvidia显卡_显卡 矢量

如前所述,AMD和NVIDIA对于流处理器有不同的设计思路. DX10指定了统一渲染单元的功能,但是制造商可以确定如何实现统一渲染功能. AMD遵循传统的SIMD架构,并遵循4D + 1D计算方法. 每个流处理器的设计也非常简单,并且还可以大大增加流处理器单元的数量. G80革新了MIMD指令架构. 内部单元完全针对一维标量设计. 1D,2D和3D指令的执行效率很高,但设计复杂,晶体管规模大,成本高.

G80建筑设计图

G80体系结构具有128个流处理器(以下称为sp),64个纹理单元和24个光栅单元,由8个阵列组成,每个SM单元具有16个sp和8个纹理单元. 每个阵列中的sp单元也分为两组,每个组有8个sp单元. 这8个sp单元也称为一组流式多处理器(SM)单元. 每个阵列具有8个独立的纹理过滤单元(TF),4个纹理地址单元(TA)和L1缓存. 详细结构如下:

每个数组的详细结构

在对G80显卡的分析和测试中,每个人都更加关注其游戏性能,G80显卡在这一点上也给出了令人满意的答案. 但是,游戏应用程序还不是全部. 众所周知,在G80推出时,NVIDIA还引入了GPU通用计算环境技术,称为CUDA(计算机统一设备架构). 除了首个仅支持CUDA 1.0的8800 Ultra / GTX,其余派生内核可以支持CUDA 1.1,依此类推,GT200架构支持CUDA 2.x,而最新的Fermi将支持CUDA3.x.

图形卡的通用计算并不是NVIDIA的第一个. 许多公司以前都尝试过. 即使是老对手ATI在Folding @ Home项目中也比NVIDIA起步更早,但是在DX10统一渲染器出现之前,图形卡已经普及. 计算技术的发展一直处于相对较低的水平. 流处理器的出现使得充当CPU成为可能. 在支持环境中,CUDA的出现解决了软件开发环境的问题.

G80架构具有另一个首次支持C语言的图形卡架构,而CUDA的核心实际上是C语言编译器. 程序员无需学习其他编程语言,而直接使用他们熟悉的C语言. ,GPU硬件资源可以通过CUDA编译直接调用. 在以前的GPU常规计算中,程序必须映射到GPU可以处理的“晦涩” API(例如DX或OpenGL)以“欺骗” GPU来执行常规计算. 换句话说,CUDA的出现降低了GPU开发的门槛. 利用GPU强大的浮点计算功能,开发人员可以使用标准C语言编程来实现CPU无法实现的并行计算.

Nvidia很快发布了Tesla品牌,利用G80架构的通用计算功能进入HPC高性能计算机市场,并占领了传统CPU服务器的领域.

[4.R600及其后的AMD第一代DX10架构不利]

当NVIDIA推出G80架构时,AMD和ATI忙于合并double-A. AMD第一代DX10架构显卡仍由最初的ATI负责. 在NVIDIA迟到将近半年之后,AMD于2007年5月发布了基于R600架构的HD 2000系列显卡. 由于AMD和NVIDIA在设计统一渲染器时有不同的想法,因此R600的问世也给人们带来了惊喜. 比较A,N两个的机会不同.

R600核心架构设计图

amd显卡和nvidia显卡_显卡 矢量_联想台式机显卡与dell显卡不配套

根据上一篇文章,AMD的统一渲染器设计从原始的SIMD架构进行了改进. 超标量超标量体系结构由4D向量和1D标量计算核心组成,这在执行传统4D矢量计算时效率最高. 当遇到一维标量运算时,计算效率降低到四分之一,因此需要大量的流处理器来弥补这一缺点. 在R600架构中设计了320个流处理器单元,将其分为四个SIMD阵列,每个阵列可以分为两组,每个组具有40个sp单元. 每个80 sp数组分为16个小单元,每组由5个流处理器和一个分支预测单元组成.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-311512-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...