开普勒排头兵:GK104架构深入解析(2)
3、GK104架构概览
和Fermi一样,Kepler核心架构同样由众多不同的功能单元组成。首款型号GK104核心主要包括主接口(Host Interface,已升级到PCI-E 3.0)、GigaThread引擎、四个图形处理器集群(GPC)、四个64位GDDR5显存控制器、四个ROP分区(包含32个ROP单元)、512KB二级缓存。其中每个GPC包含两组极致流式多处理器(SMX)、两个PolyMorph 2.0引擎、一个Raster引擎。而SMX内又有多达192个CUDA核心(相比之下Fermi中的SM仅有32个),8组SMX共计提供1536个CUDA核心。
8组SMX都是高度并行的多处理器,1536个CUDA核心都是统一的处理器核心,能够执行顶点、像素、几何学和计算内核等不同任务。32个ROP单元可用于像素混合、抗锯齿、原子存储等操作,每组8个由一个64位显存控制器进行控制。统一的二级缓存则能够提供载入、存储、纹理操作等服务。
GPU工作方式上也和Fermi一脉相承,首先通过主接口读取中央处理器指令,GigaThread引擎从系统内存中获取特定的数据并拷贝到显存中,为显存控制器提供数据存取所需的高带宽。GigaThread引擎随后为各个SMX创建和分派线程块(Wrap),SMX则将多个Warp调度到各CUDA核心以及其他执行单元。在图形流水线出现工作超载的时候,GigaThread引擎还负责进行工作的重新分配。
下面我们会详细讨论有关SMX、ROP以及其它一些运算单元的细节。