正文内容 评论(0

图形与计算那些事:AMD GCN架构历史解析
2012-01-06 11:06:08   编辑:上方文Q     评论(0)点击可以复制本篇文章的标题和链接

GCN架构的精髓:流处理器完全重新设计

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

Tahiti彻底抛弃VLIW架构

图形与计算那些事:AMD GCN架构历史解析

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

GCN与GF100的SM何其相似

图形与计算那些事:AMD GCN架构历史解析
Tahiti的GCN阵列微观结构

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

图形与计算那些事:AMD GCN架构历史解析
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架构简直就是大跃进!

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#快讯

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...