http://pc.watch.impress.co.jp/docs/column/kaigai/20101129_409553.html
AMD「Cayman」はなぜマルチコア+VLIW 4になるのか
「AMDは、かつてリングバスを内部バスに採用して失敗した。NVIDIAは、テクスチャフェッチのバスだけを分離することで、GF100に合理的に双方向バスを実装した。」
其實這邊的Tex單向、Shader雙向crossbar,AMD在RV670(Radeon HD3870)的時候就實作了。只是NVIDIA的實作要複雜得多:
1. GPC內先將shader與Texture分離成兩組crossbar
頻寬使用較大的TEX為單向、cache/shader由於有讀有寫故為雙向。
這樣的話可以將一個大的雙向bus做某個程度的削減。
2. ROP/L2 cache與GPC之間的另一個crossbar。
這邊可以看得出來,GF100/GF110在此變成雙層crossbar,4個GPC與6個ROP 。
其實這和G80/GT200的ROP–TPC這段意義差不多,只是triangle setup等固定管線的部分也以GPC為單位拆成幾分、透過多付出一點overhead,讓vertex輸出得以scaleable。
不過這一段應該就還是維持單一crossbar?
根據黃仁勳在GTX480產品推出後的interview指出,GF100基本上問題還是在crossbar。不過和過去相比GF100已經試圖更進一步簡化crossbar (從8quad ROPs x10TPC x3SM -> 6quad ROPs x4GPC x4SM)還是遇到問題,到底該說規模真的太大,還是….?
反過來說,如果TEX之後以GPC為單位固定住、只擴充SM內部的指令發射和平行度的話應該也是有空間,畢竟只要warp排程維持住就不必更動些什麼。
當然這些AMD狀況也都一樣,只是HD5870的時候還是同一個setup、HD6870才再把setup部分給切成兩個區塊;切開setup這點牽涉甚廣,在HD5870的時候可能時程風險太大了。
—-
相對之下VLIW4就只是單元利用率的問題,單純一些;同時倍精度從1/5變成1/4。