後藤大叔的R600專欄

http://pc.watch.impress.co.jp/docs/2007/0515/kaigai358.htm

裡面提到一個先前沒提到的數字:
R600對一個SIMD array(16shader)進行4cycle為單位的branch,然後Array能對兩個batch進行branch,4個array可以在8個batch之間switch。
所以branch最小單位變成64pixels…. 確實和當初的預想一樣,branch性能比R580差。
(R520是16pixels為單位的branch,R580是48pixels)

此外,還有R600的Driver是在R600內的Command Processor上執行的。
這個Command Processor過去是進行Thread manage的硬體,只是強化功能後來處理這塊;所以VLIW雖然會增加CPU排程時的負擔、帶來比較好scaling的半導體結構,但是看來已經先被這個加大規模的Command Processor給消化掉了。

而且,如果從這個觀點來看,它負擔了Thread manage與指令排程,並且可以透過Driver修改來改善VLIW compiler效率的話,那實質上Host的CPU性能還是不會影響內部VLIW效率…. 等於只是可以透過Driver Optimize改善的內部排程系統,是與往常的架構差異不大的。(反過來說,如果說成”指令排程可以programmable的Shader Array”就會比現在的狀況單純許多)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料