PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

[转] “南方群岛”GCN架构简析:计算单元、缓存……

[复制链接]
跳转到指定楼层
1#
sapphirex 发表于 2011-12-26 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:3375|回复数:2
http://news.mydrivers.com/1/213/213097.htm


Radeon HD 7970发布的时候我们曾对其技术特性做过比较全面的介绍,这里再通过一组资料,简单看看“南方群岛”家族的GCN全新架构在底层有哪些宏观上的特点,包括计算单元、矢量单元、缓存等级、曲面细分等等。

首先是一张来自AMD官方的Tahiti Radeon HD 7900核心架构示意图,各种单元模块及其相互结构一目了然。中间占据核心位置的就是GCN架构的一组组流处理器,分成32个计算单元(CU),左右两侧分布着渲染后端(ROP单元)和一级、二级缓存;上方可以看到指令处理器、两个异步计算引擎(ACE)、两个几何引擎、两个光栅器、全局数据共享(可读写)等等;下方是六个64-bit双通道显存控制器,总计384-bit;最右侧通过Hub与核心相连的是各个扩展功能模块,包括PCI-E 3.0控制器、视频编码引擎(VCE)、UVD解码引擎、CrossFire交火合成器、Eyefinity控制器等等。

这是日本PCWatch专栏作家后藤弘茂绘制的Tahiti结构详细图解,可以更清晰地看到所有模块的分布情况。

下边看看计算单元(CU),这是构建整个GPU的基础模块,一定程度上类似之前的流处理器阵列(SM)。每个计算单元内部有四组、64个流处理器核心,组成四个矢量单元(Vector Unit),各自搭配64KB矢量寄存器。

计算单元内的其它模块还有:分布式可编程调度器、分支和消息单元、标量单元(协处理器)、4KB标量寄存器、64KB本地数据共享、四个纹理过滤单元(总共128个)、十六个纹理拾取载入与存储单元、16KB一级缓存(可读写)。

计算单元是基于新指令集的架构,抛弃了以往的VLIW(甚长指令字),而且每个计算单元都能同时从多个内核那里执行指令,单位周期单位面积的指令数也有所增加。总之,这种架构相比以往利用率和吞吐量更高,多线程多任务并行执行的能力也大大增强。

这是计算单元更详细的结构图。



再说矢量单元。GCN架构代表着从VLIW4 SIMD向Quad SIMD的进化,前者采用一个VLIW指令和四个ALU操作的方式,更适合图形而在通用计算上缺乏弹性,后者则是四个SIMD单元加一个ALU操作,大大增强了计算能力。

VLIW4 SIMD架构还有很多缺点,比如需要通过编译器管理寄存器端口的冲突,需要特定、复杂的编译器调度,汇编创建、分析、调试较为困难,需要仔细优化才能达到峰值性能。事实上,这种架构从理论上看非常完美,但因为实际应用的问题,很难能够真正发挥所有潜力。

Quad SIMD架构则就这些问题做了针对性的解决,比如不再有寄存器端口冲突,编译器调度和优化实现了标准化,汇编创建、分析、调试大大简化,工具链开发与支持更简单,性能方面也更稳定、更好预测。
因为重点转向计算,GCN架构的缓存体系也经过了完全重新设计,规模相当庞大而复杂。简单来说,每四个计算单元共享16KB指令缓存和32KB标量数据缓存,并与二级缓存相连;每个计算单元都有自己的寄存器和本地数据共享,搭配16KB可读写一级缓存,每时钟周期带宽为64字节;二级缓存总容量768KB,可读写,对应每个显存控制器分成六组,每组容量128KB,每时钟周期带宽也是64字节;全局数据共享则用于不同计算单元之间的同步辅助。

最后说说曲面细分这个争议话题。GCN架构已经进化到所谓的第九代,每核心两个曲面细分单元,主要改进之处有:提高顶点重新利用率、改进片外缓冲、增大参数缓存等等,而效果是所有系数下的性能均有所进步,相比于Radeon HD 6900系列的第八代技术提升最多四倍。

附送AMD、NVIDIA近些年的核心面积大小对比示意图,Tahiti在晶体管数量猛增的前提下反而Radeon HD 6900 Cayman又小了一些,只比Radeon HD 5800 Cypress稍大一些。

2#
chensdpt 发表于 2011-12-29 23:42 | 只看该作者
学习了!
3#
freemode 发表于 2011-12-30 20:55 | 只看该作者
纯技术贴啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部