图形与计算那些事 AMD次世代架构解析
在流处理器部分,我们看到Tahiti与GF100如此相似,那么接下来看到缓存设计时,您可能会要惊呼了……看图说话:
Tahiti的缓存结构
Tahiti与GF100缓存的相同之处
先说最直观的,Tahiti有一个容量为768KB二级缓存,这个容量与GF100的L2完全相同,都可以进行读写操作。
上页说过,Tahiti的每组GCN阵列拥有16KB的一级缓存,GF100的SM里面也有16KB的一级缓存;每组GCN拥有64KB的本地数据共享缓存,GF100的每组SM拥有48KB。
Tahiti总共拥有32个GCN阵列,所以一级缓存共有512KB,而GF100拥有16个SM阵列,一级缓存共有256KB。但别忘了GF100的L1可以是48KB,这样总共就是768KB了。
Tahiti与GF100缓存的不同之处
虽然Tahiti的缓存层级设定与GF100非常相似,但区别也是有的:
Tahiti的每组GCN需要将16KB一级缓存当作纹理缓存使用,而GF100的每组SM当中设有专用的12KB纹理缓存;
一般来说非图形渲染不需要用到纹理缓存,而图形渲染时又不会用到一级缓存,所以Tahiti将一级缓存与纹理缓存合并的设计更优;但NVIDIA专门设计纹理缓存也不是没有道理,当GPU既渲染图形又要做计算时,分离式设计的效率会更高,比如PhysX游戏……A卡不支持所以AMD不会考虑这种情况。
Tahiti整个GPU拥有一个32KB的全局数据共享缓存,这个是沿用了Cayman的设计,但容量减半了,而GF100没有这种缓存。全局数据共享缓存主要用于不同GCN阵列间线程的数据交换,这块缓存只对编译器可见,所以使用率较低,容量减半相信也是处于这个原因。