瀏覽單個文章
ChungWhaCanon
Senior Member
 
ChungWhaCanon的大頭照
 

加入日期: Mar 2004
您的住址: 長沙
文章: 1,365
VLIW4相比於VLIW5最特殊的地方就是去掉了體積最大、可同時處理普通整數/浮點操作和超越操作的第五個SP t單元,或者說特殊功能單元(SFU)。這就意味著,每個SPU可以一次性處理的普通整數/浮點操作數從五個減少到四個,同時還可以將三個SP合併起來處理一個超越操作。

這種變化的好處有很多。並行計算方面最明顯的就是之前用於特殊單元的內核面積可以節省出來安置更多SIMD引擎,比如Cypress Radeon HD 5800 20個,Cayman Radeon HD 6900就增加到了24個,平均下來後者的著色器區塊效率要高10%。在此同時,紋理單元的數量、可以並行執行的線程數量、每個時鐘週期可以執行的64位浮點操作數量都隨之發生了變化,特別是後者使得AMD GPU的64位雙精度運算能力達到了32位單精度浮點的四分之一(以往是五分之一)——事實上單個流處理器單元的計算能力並沒有變化,只不過佈局的重新設計使得彼此工作的效率更高了。

SP變化的同時,暫存器文件卻沒動,於是每個SPU的暫存器所承受的壓力更小了,因為現在只有四個SP爭奪暫存器空間。調度也更簡單了,因為需要調度的SP更少,而且彼此完全相同,不需要考慮w/x/y/z單元和t單元的差別。

遊戲方面的改善也類似。已經習慣了VLIW5架構的遊戲有了更多SIMD引擎可以使用,意味著紋理處理能力更強,計算/紋理的比例也因此降低,有利於那些側重於紋理和過濾而不是計算的遊戲。

當然,任何架構上的變化都會有所犧牲,VLIW4也不例外。對遊戲來說,Radeon HD 6900將不再像以前那麼好地處理VLIW5型的頂點著色器。一般來說這種遊戲都已經很快了,但是如果一開始就受到GPU能力的限制(即顯卡是瓶頸),Radeon HD 6900系列就跑不多快。另一大損失就是當超越操作和矢量操作配對的時候,Radeon HD 6800可以每時鐘週期處理兩個,Radeon HD 6900就需要兩個時鐘週期。AMD認為這種情況很少見,損失也是值得的。

值得一提的是,AMD仍然認為VLIW4是一種風險性的試驗設計,Radeon HD 6900也更像是一個試驗品。此時此刻,AMD應該早已完成了真正的試驗,正在設計採用28nm工藝的後續新核心,是否繼續採用VLIW4也肯定有定論了。

最後,核心架構的變化必然牽涉到驅動程序的轉變與配合。壞消息是,很多針對VLIW5架構設計的著色器編譯器都沒用了,因此初期階段著色器編譯器性能會變差一些。好消息是,隨著時間的過去,AMD會逐漸掌握更好地為VLIW4設計編程,Radeon HD 6900系列也有希望在以後的日子裡獲得性能上的大幅提升(注意只是可能)。

隨著VLIW的縮短,部分代碼重新編寫是必然的了,AMD的著色器編譯器也要經歷一個代碼優化的過程,但如果內核本身就是專為VLIW5而設計的,AMD的編譯器就無能為力了。

順附兩種架構可執行操作的對比:

VLIW5:

4 32-bit FP MAD
或者2 64-bit FP MUL/ADD
或者1 64-bit FP MAD
或者4 24-bit Int MUL/ADD
加上1 transcendental或者1 32-bit FP MAD

VLIW4:

4 32-bit FP MAD/MUL/ADD
或者2 64-bit FP ADD
或者1 64-bit FP MAD/FMA/MUL
或者4 24-bit INT MAD/MUL/ADD
或者4 32-bit INT ADD/Bitwise
或者1 32-bit MAD/MUL
或者1 64-bit ADD
或者1 transcendental加上1 32-bit FP MAD
--
難怪催化劑10.12版一開始沒支援HD6900,因為那都是屬於VLIW5的啊
 
__________________

Which one do you like to choose?
舊 2010-12-15, 05:03 PM #2
回應時引用此文章
ChungWhaCanon離線中