● 不变的CORE
较之并行度方面的提升,Hawaii的直接运算部分亦即CU单元的结构并没有发生任何本质性的变化,它依旧维持和沿用了GCN架构的标准结构。在首代GCN架构的Tahiti当中,AMD将ALU团簇从VLIW SIMD改进成了Vector Compute Unit,我们亦可简称其为CU。CU单元内部包含4组SIMD CORE,每组SIMD CORE由16个标准Vector ALU构成,所以一个CU单元拥有64个Vector ALU。
Hawaii沿用了这样的CU单元设计,架构总计包含44个CU单元,合计拥有2816个Vector ALU。除了负责浮点吞吐的SIMD CORE之外,Hawaii构架的每个CU单元同样拥有在一个Scalar Unit,Scalar单元中包含Int ALU单元,可以用来处理整数指令以及特殊函数。另外,对线程效率至关重要的原子操作(Atomic)也在该单元中执行。
Tahiti架构CU结构细节
运算单元之外,Hawaii构架的每个CU还绑定了由Branch和Scheduler构成的二级线程控制机制,以及一个完整的Texture Array,Texture Arroy的作用与传统AMD构架中的TMU基本相同,包含了完整的Texture Fetch Load/Store Unit以及Texture Filter Unit。
由于整个结构并未发生变化,Hawaii的CU内部以及CU周边的缓冲资源也维持了前代的标准。CU内部拥有独立的32K GDS(Golbal Data Share),其中可以划分出16K作为L1 Data cache,另外每个CU还拥有独享的64K LDS(Local Data Share)。在一级缓冲和Shared之外,Hawaii的CU单元还拥有共享的L1 Instruction cache和Kernel cache,密度应与Tahiti维持一致,计每4个CU共享16K的L1 Instruction cache和32K的Kernel cache。
最后,由于后端的直接放大以及cache体系的必要调整,Hawaii构架的L2 Data cache尺寸发生了变化,L2 cache拥有沟通上级缓冲与显存的作用,它需要与MC一一对应,因此Hawaii共拥有8组合计1024K的L2 cache。L2 cache面向所有CU中的单元开放,ALU可以用它缓冲数据,TMU也可以用它充当Texture cache。值得注意的是,由于Hawaii的CU单元数量增长与L2规模增长不成比例(40/6 VS 44/8),每个CU单元能够获得的L2使用密度(时间/空间)较之Tahiti有所下降。但AMD将Hawaii架构的L1/L2传输带宽提升到了1TB/S,在一定程度上冲淡了资源密度下降带来的影响。
推荐经销商