● R600芯片设计之初遇到的问题
现在回忆R600芯片,你能发现那是AMD所经历的一次难得的失败。因为从技术角度讲,R600架构延续了上一代R520/R580顶点着色器和像素着色器分置的SIMD结构(准确地说顶点着色器在Geforce 6000系列中已经上升为MIMD结构),这样的延续带来的直接后果就是技术研发的投入变小,相因的AMD在后期遇到的问题也会少很多,而且这些问题都是可控的。同时SIMD的另一个优势就是扩张容易,并且模拟这种扩张带来的性能变化比较简单,这一点是NVIDIA所不具备的。NVIDIA设计出一套非常优秀的G80架构,却在未来的发展道路上遇到很多障碍。
我比较喜欢分析AMD的失败,因为这些失败造就了后来的成功,那就让我们一起了解R600到底有哪些具体的失误,它们有细节方面的,也有策略方面的。
首先是R600时代,存储器速度限制像一堵看不见的墙壁一样挡在了AMD的面前,R600架构遇到了“Memory Wall(存储墙)”。这也是任何高速运算设备设计时所必须要面临的问题。
红色线表示具备访问存储器能力的模块
Radeon HD 2900XT核心工作频率为750MHz,运算单元单个时钟周期的长度在1.5ns以下。而我们可怜的外部存储器(显存)还在以400MHz左右的速度工作,加上内存本身的定址延迟和传输过程中的路径延迟,延迟就会大得可怕。如果换算成GPU内部的时钟,就是数百个周期的数据等待延迟,这种延迟会让整个流水线都陷入停顿,对于高速运行的GPU来说是灾难性的。
最重要的一点是R600还不够疯狂,换而言之就是320个流处理器单元的规模还不够多。我们知道R600的US是分“1大4小”,即一个全功能SP单元和4个仅能执行乘加运算而无法执行连乘运算的部分功能SP。如果指令段能够有相当多的天然4D指令,那么R600/RV770都可以以几乎全功率的性能进行运算。
但是很遗憾,如果你要实现复杂的Shader效果,不可能完全禁锢与全4D指令中,复杂多变的指令才是关键。全4D可以说是DX9B甚至更早的时代才有的光景。从这个角度来说,AMD之所以将R600的US设计成这样,简单地说就是不够进步的表现。
但是不够进步,可以通过堆量来实现掩藏发生内存存取动作的目的,而R600在需要疯狂的时候却又显得保守,只有320个流处理器或者仅有64个SIMD簇的规模让他在底层吞吐上并没有占据太大优势。
测试数据表明在AMD最为擅长的5D浮点指令吞吐中,R600仅超越G80约为80%,虽然这个超越非常明显,但是理论中几乎没有5D单发射指令可供R600去执行。几个所谓的并行吞吐测试R600虽然赢了,但是幅度太小,串行执行则全盘皆输。
而在明显放大的RV770架构中,RV770在5D浮点指令吞吐中领先对手GTX260达到124%,也就是说RV770将流处理器数量扩充到800个之后,已经达到了对手无法触及的5D理论吞吐量。同时情况出现了一些变化,NVIDIA长时间把守的串行指令执行测试中,RV770已经有少量超越GT200架构的表现,这是一个可喜的改变。
上图的测试数据来自著名的PCINLIFE网站,我们从该网站的几篇评测里凑齐了这项测试的数据,我想让数据来告诉读者,运算器堆砌带来的暴力吞吐能力是非常可怕的。
到了RV870时代,1600个流处理器的规模,已经让SIMD结构GPU不再低人一等,这时的5D浮点指令吞吐测试中,RV870已经领先GTX285将近229%,除了串行浮点MAD测试中输给了GTX285,其他底层指令吞吐测试全部翻盘。
- 第1页:AMD统一渲染GPU架构 历程回顾与评测
- 第2页:R520和R580对NVIDIA的影响
- 第3页:R600与G80的不均衡对抗
- 第4页:RV670开始改进 绝境求生
- 第5页:GT200体现NVIDIA变化方向
- 第6页:RV770的策略与成功
- 第7页:AMD的赌注与HD4850的改变
- 第8页:RV870的设计思路和诞生背景
- 第9页:RV870芯片概况与策略
- 第10页:Fermi架构的困惑
- 第11页:R600芯片设计之初遇到的问题
- 第12页:RV770和RV870架构追求不断改进
- 第13页:Fermi未来的性能亮点与优势
- 第14页:回顾统一渲染架构,探寻SIMD极限
- 第15页:基本信息分析——Radeon HD2900 XT
- 第16页:基本信息分析——Radeon HD3870
- 第17页:基本信息分析——Radeon HD4890
- 第18页:基本信息分析——Radeon HD5870
- 第19页:性能测试的硬件、软件平台状况
- 第20页:DX9理论性能测试:3DMark 06
- 第21页:DX10理论性能测试:3Dmark Vantage
- 第22页:GPGPU着色器性能-单精度Shader
- 第23页:GPGPU着色器性能-双精度Shader
- 第24页:3Dmark Vantage 贴图填充率测试
- 第25页:3Dmark Vantage 视差闭塞映射
- 第26页:3Dmark Vantage GPU粒子模拟
- 第27页:3Dmark 06 Shader Particles 3.0
- 第28页:Furmark Open GL 性能测试
- 第29页:Lightsmark 光照渲染测试
- 第30页:DirectX 10 SDK Cube Map GS
- 第31页:DirectX 10 SDK N Body Gravity
- 第32页:测试总结与回顾