泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

图形与计算那些事 AMD次世代架构解析

    看了上页图形引擎部分的介绍,很多人可能会失望——基本没动嘛,还说什么次世代图形核心?别着急,好戏在后头。我们知道AMD历代GPU的瓶颈除了曲面细分以外,其实最重要的是5D/4D VLIW架构的效率问题。现在Tahiti的GCN架构就是要解决这个问题,它的流处理器结构已经面目全非了。

    Tahiti彻底抛弃VLIW架构

图形与计算那些事 AMD次世代架构解析

    通过Tahiti的整体架构图我们看到,传统的SIMD流处理器阵列消失了,取而代之的是GCN阵列,Tahiti总计拥有2048个流处理器,这样每个GCN阵列里面拥有64个流处理器。现在来看看GCN阵列的微观结构。

    GCN与GF100的SM何其相似

图形与计算那些事 AMD次世代架构解析

Tahiti的GCN阵列微观结构

    GCN阵列里有4组SIMD单元,每组SIMD单元里面包括16个流处理器、或者说是标量运算器。GCN架构已经完全抛弃了此前5D/4D流处理器VLIW超长指令架构的限制,不存在5D/4D指令打包-派发-解包的问题,所有流处理器以16个为一组SIMD阵列完成指令调度。简单来说,以往是指令集并行,而现在是线程级并行。

GF100的SM(流处理器簇)微观结构

    可以这么理解,一个GCN阵列与GF100当中的一组SM相当,GF100的一组SM当中有4组共计32个流处理器,而Tahiti的一组GCN当中有4组共计64个流处理器。

    缓存部分

    每个SIMD-16单元都拥有64KB向量寄存器

    每组GCN阵列拥有64KB的本地数据共享缓存,还有16KB的一级缓存

    每组GCN阵列有一个标量运算单元,用于执行整数指令、媒体指令和浮点原子操作,这个标量运算单元拥有自己的4KB寄存器

    而GF100的缓存设计得更加灵活,每组SM里面拥有总计64KB的共享缓存+一级缓存,这64KB缓存可以根据实际运算量来动态调整,如果把16KB分配给一级缓存的话,那剩下的48KB就是共享缓存,反之亦然。

    一般来说,进行图形渲染时需要共享缓存比较多,而并行计算时则会用到更多的一级缓存。GF100这种灵活的缓存分配机制更适合做并行计算,而GCN架构更大的共享缓存会有更好的图形渲染性能,并行计算则会稍逊一筹。

    更多的线程调度

    从缓存部分的设计来看,虽然GCN拥有更大的缓存容量,但在并行计算领域经营多年的NVIDIA显然要棋高一手。

    从线程级别来看,GCN与SM是不可分割的最小单元,GCN一次可以执行64个线程,而SM是48个(其实就是流处理器的数量)。

    从多线程执行上来看,GCN可以同时执行4个硬件线程,而SM是双线程调度器的设计(参见架构图)。

    如此来看,GCN架构的多线程性能会更好一些。

    小结:AMD GCN抄袭NVIDIA SM架构?

    在流处理器部分,终于不用费劲的把AMD和NVIDIA GPU架构分开介绍了,因为GCN与SM已经没有本质区别。剩下的只是缓存容量、流处理器簇的数量、线程调度机制的问题,双方根据实际应用自然会有不同的判断,自家的前后两代产品也会对这些数量和排列组合进行微调。

    AMD向NVIDIA的架构靠拢,证明了他这么多年来确实是在错误的道路上越走越远,还好浪子回头金不换,这次GCN架构简直就是大跃进!

2人已赞

关注我们

泡泡网

手机扫码关注