● 史上最强GPU架构设计
GF100 GPU基于图形处理团簇(翻译为GPC),可扩展流阵列多处理器(SM)和内存控制器(MC)。一个完整GF100实现四个GPC,16个SM和6个内存控制器。通过对GPC的开启和关闭,对SM和内存控制器不同的配置,可以划分出满足不同价位的产品。所以我们也可以称GF100为一个4 GPC核心的GPU。
Fermi架构GF100功能单元分布
图中我们可以看到GF100的总线接口、GigaThread线程调度器、四个完整的GPC单元、六个内存控制器、六个ROP簇和768KB二级缓存。每个GPC单元包含四个多边形引擎。六个ROP簇紧邻二级缓存。
CPU的命令通过Host Interface总线接口传输到GPU。在GigaThread引擎会从系统内存提取指定数据,并把它们拷贝到指定的显存。 GF100集成了6个64位GDDR5内存控制器(共计384位),以便获得高带宽和低延迟。然后GigaThread引擎创建并调度这些block到各个SM,其次再到warp(每个warp包含32个threads线程)交给CUDA Core和其他执行单位。在GigaThread引擎重新分配工作时,图形流水线上的各个单元如细分曲面和光栅化之类的单元也会继续工作。
GF100拥有512个CUDA Core,它们属于16个SM单元,每个SM单元包括32个CUDA内核。每个SM是一个高度平行处理器,最多支持在任何规定时间完成对48个warp的处理 。每个CUDA Core是一个统一的处理器核心,执行顶点,像素,几何和kernel函数。一个统一的768KB二级缓存架构负责线程加载、存储和纹理操作。每组SM里四个纹理单元,共享使用12KB一级纹理缓存,并和整个芯片共享768KB二级缓存。每个纹理单元每周期可计算一个纹理寻址、拾取四个纹理采样,并支持DX11新的压缩纹理格式。
Fermi架构GF100核心照片
GF100拥有48个ROP单元,用来执行抗锯齿和原子内存操作。这48个ROP单元被分配为6组,每组8个,每组ROP配备一个内存控制器。内存控制器、L2高速缓存和ROP单元是紧密耦合的,也可以成组屏蔽。所有ROP单元和整个芯片共享768KB二级缓存(GT200里是独享)。
关于运行频率,在每一组SM阵列里,纹理单元、一二级缓存、ROP单元和各个单元的频率也都完全不同于以往。除了ROP单元和二级缓存,几乎其他所有单元的频率都和Shader频率(NVIDIA暂称之为GPC频率)关联在一起:一级缓存和Shader单元本身是全速,纹理单元、光栅引擎、多形体引擎则都是一半。
Fermi颠覆了G80以来的分频模式,曾今我们称固定单元的频率是GPU核心频率,而流处理器频率较高,它的速度是核心的2.15或者2.25倍。从Fermi开始“核心频率”就是流处理器频率(也可以称为GPC频率),而固定单元的频率默认为“核心频率”的一半,未来的超频模式肯定要发生变化了。
●Fermi GPC运算架构
我们可以这样认为:NVIDIA的第一代CUDA机构是从G80开始延伸至GT200,而GF100将是第二代CUDA架构产品。G80核心的诞生奠定了NVIDIA未来核心架构的主方向,并一直延续至GT200,当然在发展的过程中NVIDIA还是会对核心整体进行优化调整,但总体来说就是累积晶体管增加硬件规格,功能方面并无变化。反观Fermi,核心硬件规格数量相比GT200确实也有大幅增长,但是在产品整体架构上Fermi做了很大改动,可以说是颠覆性改动,它不仅仅是借鉴以前成熟的架构体系,还调整并在架构上新增功能模块,令Fermi不再简简单单的是图形核心,而是一个复合型功能核心。
在NVIDIA产品进入DirectX 10的统一架构后,我们看到核心中引入了TPC(Thread Processing Cluster)、SM(Streaming Mulitporcessor)和SP(Streaming Processor)等新概念。例如,G80拥有8个TPC,每个TPC拥有2个SM,每个SM拥有8个SP,这种由繁化简的结构一直延续在NVIDIA的图形产品中。
G80和GT200的TPC构成,图片来自Anandtech网站
通过对比G80、GT200到GF100的发展模式,我们看到SM矩阵数量在减少,而每个GPC中SM数量和每组SM中SP数量在增加。在这中架构设计理念上GF100虽然是延续了G80的组成设计,但是每个组成模块的数量优化上有了大幅改变。
GF100图形架构核心,从硬件的块数称为图形处理团簇(GPC)。每个GPC包含一个光栅引擎和四个SM单元。GPC是GF100占主导地位的高层次的硬件模块。除了计算单元它还包括两个重要特点——分别是一个可升级的光栅引擎(Raster Engine)、Z-cull和一个带有属性提取和细分曲面的多边形引擎(Polymorph Engine)。
Fermi架构GPC架构图
正如其名称所示,所有的GPC都集成了关键的图形处理单元。它包括顶点,几何,光栅,纹理均衡设置和像素处理资源。随着ROP单元功能的不断增强,一个GPC单元可以被看作是一个配置齐全的GPU,而GF100拥有4个这样的核心。