GF110/100图形架构关键词
1.四个GPC图形处理器集群
2.16组SM阵列、512个流处理器(NVIDIA称其为512个CUDA核心)
3.16个PolyMorph Engine(多形体引擎)、四个Raster Engine(光栅化引擎)
4.64个纹理单元、48个光栅单元
5.384-bit(6×64-bit)/GDDR5的显存控制器
从图形架构层面来看,GeForce GTX 580和GeForce GTX 480大的不同是流处理器数量、纹理单元数量等规格差异,但两者所采用的图形架构是一致的。下面,我们将以GF100的图形架构为例,来进一步认识GF110图形架构。从GF100的图形架构可以看出,它主要包含了一个主接口(Host Interface)、一个GigaThread引擎、四个GPC、六个显存控制器、六个ROP分区和一个大小为768KB的L2高速缓存。其中,ROP分区紧邻L2高速缓存。当GPU通过Host Interface来读取CPU指令时,GigaThread引擎能够从系统内存中获取指定的数据并将其拷贝到显存中,然后会为各个SM阵列创建和分派线程块。单个SM阵列亦会将多个Warp(32个线程的群组)调度至多个流处理器以及其它执行单元。当图形流水线中出现工作膨胀现象时,例如在执行Tessellation以及光栅化操作之后,GigaThread引擎还能够将工作重新分配至SM阵列。
GF110/GF100中包含了四个GPC,每一个GPC甚至可以独立运行。
GF110/100具备四组GPC,一个GPC由四组SM阵列组成,共计512个流处理器、四个PolyMorph Engine多形体引擎、16个SFU单元。其中,每一组SM阵列具备32个流处理器、一个PolyMorph Engine多形体引擎、16个Load/Store单元、四个SFU单元和纹理单元、两个Warp调度器和指令发送器、能配置为48KB Shared Memory+16KB L1缓存或者16KB Shared Memory+48KB L1缓存的共享内存/L1缓存。
和GF100一样,GF110的一组SM阵列由32个流处理器组成。
在CUDA的概念里,CUDA Core或者SP(Streaming Processor内核,简称“SP”)指的就是一个处理核心。但其实SP只是一个功能单元,真正比较接近于我们常说的内核则是SP的上一级单位:Streaming Multiprocessor(即本文所说的“SM”)。因为目前只有在SM这一级才具备Program Counter(程序计数器)、调度资源以及分离的寄存器堆块,即才能进行CUDA计算。在AMD统一着色器架构的GPU中,类似SM等级的部件是SIMD Core,例如RV870拥有20个SIMD Core。
在GF110/100中,每个SP都有全流水线化的整数算术逻辑单元(ALU)和浮点单元(FPU)。ALU支持64bit和扩展指令,支持算术、shift(位移)、Boolean(布尔)、comparision(比较)以及 move(数据传输或者赋值)。虽然GF110的SM数量从GT200的30个下降为16个,但SP总数却达到了512个(GT200为30×8=240个),实际的单周期理论性能则提升了近1倍甚至更多(例如双精度浮点运算)。另外,GF110的一个SP每个周期可以实现一个Thread的一条浮点指令或者整数指令。