MCPLive > 杂志文章 > 巨兽来袭 开普勒GK110全面解析(上)

巨兽来袭 开普勒GK110全面解析(上)

2012-09-21李实《微型计算机》2012年9月上

无法窥全貌 GK110架构图分析

在之前的费米时代,NVIDIA会给出比较详细的产品资料,包括架构设计、CUDA Core细节等。但是在开普勒特别是GK104发布后,这些内容一概欠奉,或者说没有明确展示。不过这次在GK110上,NVIDIA又给出了比较详细的GK110的晶圆、架构相关的资料。

首先是NVIDIA公布的GK110架构图,这张图的第一眼感觉就是之前存在的对称性设计消失了。在GT200、GF100、GK104等GPU的架构图中,对称性是为明显的特点。但在GK110上,NVIDIA设计了奇数个SMX单元,在架构图中只能以“八上七下”的方式排布。

一般来说,这种展示用的宏观架构图,只能提供很少量的GPU信息。比如GK110架构图除了15个SMX外,围绕在GPU外围的部分还有PCI-E 3.0总线控制器、超级线程控制中心、6组显存控制器(每组64bit,共64bit×6=384bit)。相比外圈信息,里面的内容更为乏善可陈。
不过我们接下来可以进一步分析每个SMX,因为NVIDIA给出了相对比较详细的SMX结构图。从上向下来看,首先是指令缓存(instruction cache),用于存放指令等待操作。接下来是四组Warp Scheduler波次调度器。四个波次调度器能够每周期为4个宽度为32线程的波次进行排序和分发。每个波次调度器配备了两个分发单元(Dispatch),等待操作的指令会进入下方64KB×32bit的寄存器中和更下方的大规模流处理器阵列组合中。

比较GF100的设计来看,GF100的每个SM只配备了2个波次调度器,这样的设计既考虑了GF100每个SM中CUDA Core比较少的原因,也考虑了GF100的CUDA Core本身比较大而复杂,带有一定的指令逻辑能力的因素。由于NVIDIA没有公布开普勒CUDA Core的内部规格,但就目前的资料来看,可能也是类似AMD在底层采用SIMD ALU阵列的方式。

在GK110中,一个SMX中CUDA Core的数量依旧只有192个,和GK104完全相同。但是GK110的SMX额外加入了64个双精度单元,这使得GK110的理论双精度能力提升到单精度能力的1/3。至于为什么不继续提升到1/2,NVIDIA技术人员表示,在开普勒的设计上优先考虑的是每瓦特性能,因此他们认为1/3是很合理的数据。

除了新增的大量双精度单元外,从费米时代就存在的Load/Store单元(LD/ST)以及特殊功能单元(SFU)也被保存了下来。前者主要用于存储缓存或者显存中寻址的数据,以便在需要时迅速找到数据而不用去重新寻址,可以节约一些时间;后者用于执行一些特殊计算,比如正弦、余弦以及插值计算等,这也是计算中不可或缺的部分。GK110的每个SMX中总计有192个单精度CUDA Core、64个双精度单元、32个特殊功能单元和32个load/Store单元。在计算能力规范上,GK110和GK104等开普勒家族的所有产品,都完整支持IEEE 754-2008中规定的双精度和单精度要求。

继续向下看,SMX中还存在一部分称之为interconnect Network的部分,其主要作用应该是保证内部结构互联和数据传输畅通,特别是保证缓存和计算部分的通路链接。在缓存部分,每个SMX中设计了64KB可读写的共享L1缓存(和费米GF100一样),以及48KB的只读数据缓存。另外,每个SMX中还拥有多达16个纹理单元。纹理计算能力在目前的游戏中还是相当重要的,特别对诸如3DMark 11这样的使用大量高精度纹理的测试软件来说,纹理性能往往会成为瓶颈。之前的费米GF110每组SM只配备了4个纹理单元,开普勒(包括GK104等全系列产品)一举增加到16个,彻底解决了之前费米产品中纹理计算不足的问题。

这是笔者参考一些资料,绘制的GK110晶圆架构示意图。其中,15个SMX核心分布在四周。Command Processor应该是类似于总线控制、线程调度的单元。上方的Memory Controllers、ROP Partitions等指的是显存控制器、ROP单元以及一些I/O接口单元,基本上是GPU的外围和后端设备。位于中间的6个Setup模块主要应付以多边形应用为主的图形计算。不过,L2缓存没有在该图中体现出来,很可能是L2缓存分布在每个SMX核心内部。
这是笔者参考一些资料,绘制的GK110晶圆架构示意图。其中,15个SMX核心分布在四周。Command Processor应该是类似于总线控制、线程调度的单元。上方的Memory Controllers、ROP Partitions等指的是显存控制器、ROP单元以及一些I/O接口单元,基本上是GPU的外围和后端设备。位于中间的6个Setup模块主要应付以多边形应用为主的图形计算。不过,L2缓存没有在该图中体现出来,很可能是L2缓存分布在每个SMX核心内部。

在缓存部分,由于之前费米架构已经带来了相当先进的缓存体系,因此GK110只是做一些改进而已。从宏观角度来看,开普勒将缓存体系分为共享存储、L1缓存(一共拥有64KB,可以灵活配置,比如46KB用于共享存储、16KB用于L1缓存,或者倒过来L1占用48KB、共享缓存占用16KB,或者干脆各32KB)、L2缓存(1.5MB)、只读存储(48KB)三个部分。其他方面的改进也有一些,比如之前的波次(warp)内的线程数据交换需要在缓存内进行,会占用宝贵的缓存空间,GK110将这种数据交换挪移到寄存器上执行,速度和资源占用情况都要更好一些。

到这里为止,GK110的SMX基本内容都已经介绍完毕。相比之下,NVIDIA在GK110上宣称的3.5代的计算能力与之前的GK104的3.0代计算能力相比,主要是额外加入了大量的双精度计算模块,其余部分则基本维持和GK104相当的水平。总的来看,GK110的架构是一个对通用计算进行了大量优化、效率非常高的强大并行处理架构。

GK110为何推后发布

NVIDIA在开普勒家族的产品发布上一反常态,并没有采用之前的首发大核心、次发中端小核心主流产品的方式,而是一开始就将采用小核心设计的GK104推向前台,并将其定位在单核心旗舰产品上,随后紧接着又用双芯产品GeForce GTX 690占据性能王座。这背后是什么原因呢?

回顾费米产品的发布方式可以发现,NVIDIA在费米上延续了之前一直存在的首发大核心芯片的传统。但台积电早期的40nm工艺表现并不成熟,再加上Fermi的大核心产品GF100设计和工艺配合上也存在一些问题,因此GF100直到AMD发布DirectX 11产品后很长一段时间才和用户见面,并且其巨大的发热和高噪音让用户诟病不已。直到真正的中端核心GF104出场后,这样的局面才有一定改善,后期的GF114则为NVIDIA带来相当巨大的市场成功。

此外,从产品角度来看,GF100这颗核心本身架构设计是相当出色的,问题出在它的用户目标群。GF100要做到的是大而全,它要满足专业的HPC用户、Tesla用户、Quadro用户以及大众的GeForce用户的全部需求。可惜专业和大众用户的对功能的要求取向不同,比如GeForce用户不需要双精度、ECC等功能。同时专业功能如双精度本身也需要不少晶体管支持,因此GF100上的部分设计对GeForce用户来说是没用的。

其实只要仔细分析,就可以得出如下结论:

1.大众关注的GPU,必须有很好的游戏性能;专业用户关注的产品,必须要有全面的功能。

2.生产大核心的难度越来越超乎想象,对生产工艺要求很高。

这样一来,NVIDIA的做法就不难理解了。结合上文提到的近年来NVIDIA的命名方式和目前已知的信息,笔者大胆预测,GK110才应该是开普勒6系列家族的单核心旗舰产品,它才应该是GTX 680。但由于NVIDIA在大核心的生产上遇到了一贯都存在的难题,再加上NVIDIA发现GK104的性能已经强大到足以占据单核心性能王座的地步,因此将在原计划中应该被命名为GTX 660Ti或者其他中端型号的GK104,直接命名为GTX 680并以旗舰产品的形式发布。即使GK104性能不济,双核心的GK104×2也能满足争夺卡皇的需要。而GK110自然就被雪藏起来,作为开普勒的第二代旗舰产品发布,型号可能是GTX 780。GK110这种更注重专业用户利益的大核心,有足够时间等待工艺进一步成熟后投产,不需要过于在乎民用市场的性能压力。

令人赞叹的超级架构

NVIDIA在GPU架构研发上的努力有目共睹。从G80开始,NVIDIA就力求给用户一个清晰、有序、模块化的并行计算GPU架构。在特斯拉(GT200)上,NVIDIA完成了并行计算架构宏观设计的一次飞跃,分出了GPC、SM等各层次结构。在接下来的费米(GF100)上,NVIDIA带来了全新的缓存设计、更完善的GPU层级设计、更优秀的并行计算体系以及模块化方案。这些所有的研究成果和经验全部都被容纳到GK110这个史无前例的超级大规模GPU中。在这里,NVIDIA几乎凝聚了它之前所有的研发经验,这颗GPU精致、庞大而充满美感和力度。本期介绍的内容仅限于架构设计方面的内容,在接下来的文章中,你还会看到NVIDIA在GPU的逻辑控制、线程调度以及智能化方面的研发进步。让我们下期再见!

分享到:

用户评论

共有评论(1)

  • 2012.10.19 14:23
    1楼

    本人是一名CG相关从业者,文章中提到光线追踪是现下渲染普遍采用的方式,并提到单精度计算就能满足这种要求,不知道双精度的加强会不会带来些帮助!还在等着GK110新品的发布!

    (0) (0) 回复

用户名:

密码: