A卡千元级性价比杀手!HD6790深度解析
NVIDIA的MIMD(多指令多数据流)架构将并行指令的调度单元、分配单元都和特殊功能模块设计在了GPC(图形处理器集群)或者SM(流处理器簇)内部。而AMD的SIMD(单指令多数据流)架构则是整颗GPU共享单一的控制单元,自R600以来都是如此。
Juniper的单一图形装配引擎
但随着晶体管规模和流处理器数量的迅速膨胀,单一的控制单元已经无法满足大规模并行指令分配的需要,因此从Cypress开始,AMD采用了“双核心”的设计,将SIMD阵列一分为二,也就是类似于NVIDIA GPC的设计。与此相对应的,图形装配引擎虽然只有一个,内部却设计了两个Hierarchical Z(分层消影器)和Rasterizer(光栅器),但是其它的特殊功能模块均只有一个。
Barts的图形装配引擎
Barts和Cypress一样,依然保持了双核心设计,图形装配引擎也只有一个,内部的功能模块并没有太多变化。但是Ultra-Treaded Dispatch Processor(超线程分配处理器)却变成了两个,相对应的,超线程分配处理器的指令缓存也变成了两份。
我们知道,BartsLE的流处理器数量和Juniper相同,按理说线程分配压力相同,那么设计两个线程分配处理器的目的只有一个,那就是提升效率。在DX11时代,几何着色再加上曲面细分单元引入之后,图形装配引擎会产生更多的并行线程及指令转交SIMD进行处理,因此分配效率成为了新的瓶颈。
SIMD架构的优势就是可以用较少的晶体管制造成庞大的流处理器规模,拥有恐怖的理论运算能力;但缺点就是流处理器执行效率比MIMD架构低,其效率高低完全依赖于分配单元的派发效率。因此BartsLE这种双线程分配处理器的设计意义重大!