圖形與計算那些事 AMD次世代架構(gòu)解析
在流處理器部分,我們看到Tahiti與GF100如此相似,那么接下來看到緩存設(shè)計時,您可能會要驚呼了……看圖說話:
Tahiti的緩存結(jié)構(gòu)
Tahiti與GF100緩存的相同之處
先說最直觀的,Tahiti有一個容量為768KB二級緩存,這個容量與GF100的L2完全相同,都可以進行讀寫操作。
上頁說過,Tahiti的每組GCN陣列擁有16KB的一級緩存,GF100的SM里面也有16KB的一級緩存;每組GCN擁有64KB的本地數(shù)據(jù)共享緩存,GF100的每組SM擁有48KB。
Tahiti總共擁有32個GCN陣列,所以一級緩存共有512KB,而GF100擁有16個SM陣列,一級緩存共有256KB。但別忘了GF100的L1可以是48KB,這樣總共就是768KB了。
Tahiti與GF100緩存的不同之處
雖然Tahiti的緩存層級設(shè)定與GF100非常相似,但區(qū)別也是有的:
Tahiti的每組GCN需要將16KB一級緩存當(dāng)作紋理緩存使用,而GF100的每組SM當(dāng)中設(shè)有專用的12KB紋理緩存;
一般來說非圖形渲染不需要用到紋理緩存,而圖形渲染時又不會用到一級緩存,所以Tahiti將一級緩存與紋理緩存合并的設(shè)計更優(yōu);但NVIDIA專門設(shè)計紋理緩存也不是沒有道理,當(dāng)GPU既渲染圖形又要做計算時,分離式設(shè)計的效率會更高,比如PhysX游戲……A卡不支持所以AMD不會考慮這種情況。
Tahiti整個GPU擁有一個32KB的全局?jǐn)?shù)據(jù)共享緩存,這個是沿用了Cayman的設(shè)計,但容量減半了,而GF100沒有這種緩存。全局?jǐn)?shù)據(jù)共享緩存主要用于不同GCN陣列間線程的數(shù)據(jù)交換,這塊緩存只對編譯器可見,所以使用率較低,容量減半相信也是處于這個原因。
關(guān)注我們
