PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 顯示卡討論區
帳戶
密碼
 

  回應
 
主題工具
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
[開始翻書]NV35的性能數據部分解讀

在banchmark亮麗數據的背後, 其實是許多人的血淚....
這個相信大家都可以同意.

雖然乍看之下NV35是個暴力到極點的晶片, 但是其實它是個非常講究效率的晶片.
http://www.ixbt-labs.com/articles2/gffx/5900u.html
從這邊的獨立性質測試可以看出NV35的各項執行單元規模其實還和R300/350有相當的差距.

如果分析起來的話....
和NV30比起來, NV35將 Texture Unit 和 Color unit 應該是完全分開了, 所以可以同時作 color op和 texture fetch; 但是 color unit 到底有多少執行效能則尚待研究. (對喔, Beyond3D還沒拿到sample)

總之, 就之前各大網站已有的測試來看, 它比NV30進步的地方在於NV35可以真的跑32bit FP, 先前NV30/31/34我們怎麼測都是FP16, 所以也沒辦法取得這些前輩跑FP32的速度.

不過NV的速度卻還不到R300/350執行24bit FP的程度. 而據一些消息指出NV35跑FP32的速度和跑FP16的速度相當, 可能代表NV35跑FP16與FP32的速度差異並不大, 所以可能沒辦法期待NV35跑 PS_2.x的速度真的會比NV30快多少.
(這裡指的是NV35的FP32速度對NV30的FP16速度, 現在我們還無法得知NV30等其他NV3x產品的FP32速度)

另外, 從NV35的某些preview中跑PS2.0 benchmark的結果也顯示出 NV35 跑PS2.0 的速度仍然低於R350.

----
總之, NV35 在"物理"上並沒有如同R300/R350般的雄厚資源, 這點是想說明的地方.
     
      
舊 2003-05-15, 01:24 AM #1
回應時引用此文章
Artx1離線中  
euyoung
Power Member
 
euyoung的大頭照
 

加入日期: Oct 2001
您的住址: 台北、嘉義、台中
文章: 518
回覆: [開始翻書]NV35的性能數據部分解讀

很受用的文章...

謝謝Artx1大不吝分享
 
舊 2003-05-15, 02:19 AM #2
回應時引用此文章
euyoung離線中  
Candy
Senior Member
 
Candy的大頭照
 

加入日期: May 2001
您的住址: 數碼天堂
文章: 1,460
Artx1大向來都對技術性的領域頗有研究,給你推~啦
舊 2003-05-15, 03:53 AM #3
回應時引用此文章
Candy離線中  
knift
Master Member
 

加入日期: May 2000
文章: 2,444
artx1大大的文章已經變成顯示卡討論區中最有知識性了!
感謝分享!!
看您的文章真是一種享受!
舊 2003-05-15, 08:54 AM #4
回應時引用此文章
knift離線中  
selk
Senior Member
 
selk的大頭照
 

加入日期: Jan 2003
您的住址: 台南(府城)
文章: 1,298
小弟受教了...
舊 2003-05-15, 09:35 AM #5
回應時引用此文章
selk離線中  
屋頂上的弓箭手
*停權中*
 
屋頂上的弓箭手的大頭照
 

加入日期: Jul 2002
您的住址: 台北
文章: 253
回覆: [開始翻書]NV35的性能數據部分解讀

引用:
Originally posted by Artx1

總之, NV35 在"物理"上並沒有如同R300/R350般的雄厚資源, 這點是想說明的地方.


所以, 意思是說R300/R350有可能經由driver有更多的performance boost嗎?
(我是說理論上啦...)
舊 2003-05-15, 11:30 AM #6
回應時引用此文章
屋頂上的弓箭手離線中  
shihwolf
Master Member
 
shihwolf的大頭照
 

加入日期: Mar 2002
您的住址: 好人國
文章: 1,847
好棒的文章........

推推!!

真是棒!!

感謝大大分享!!
舊 2003-05-15, 12:33 PM #7
回應時引用此文章
shihwolf離線中  
0220
Master Member
 
0220的大頭照
 

加入日期: Jun 2002
文章: 2,291
引用:
Originally posted by knift
artx1大大的文章已經變成顯示卡討論區中最有知識性了!
感謝分享!!
看您的文章真是一種享受!


哀!小弟比較弱智....感覺跟你不太一樣!
Artx1大大的文章比較技術性,常常會看不太懂!
不過這是我水準太差的緣故.....
舊 2003-05-15, 02:15 PM #8
回應時引用此文章
0220離線中  
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
回覆: 回覆: [開始翻書]NV35的性能數據部分解讀

引用:
Originally posted by 屋頂上的弓箭手
所以, 意思是說R300/R350有可能經由driver有更多的performance boost嗎?
(我是說理論上啦...)


可以這麼說. R300系本身的處理單元的確比較多, 只要沒有發生structure Hazard的話, 光數量上來看應該是可以Tune得比較高; 當然, 這大多是因為R300系內部精確度是24bit的關係, 以及NV3x的指令複雜度的關係.

不過相對地, NV3x在架構上似乎極力地在試圖避免Structure Hazard, 所以一般認為NV3x可以Tune出來的幅度會遠比想像中來得高. 比如說先前AA/AF一開, NV30會被R300/R350慘電一倍以上; 但是新的Driver出來之後, NV30和R300已經沒有太大的差距, 如果說完全是因為128bit與256bit之間的差距, 顯然不應該會有這樣的狀況.

這樣講吧, 雖然 "觀念上" NV3x是以16bit的Shader Unit為主, 但是單單只是把兩個16bit FP給合起來絕對不會變成一個32bit FP, 實際狀況比這個複雜太多了. (ex: 32bit運算可能需要2cycle)

所以, 我們可以看到強化過的NV35, 主要就是加強FP32的速度, 讓它不會輸FP16太多; 而雖然還沒有試新的Driver在NV30/31/34上的表現, 不過應該可以預測FP32應該還是開不起來.

至於R300系的處理單元, 就比較"傳統"一點了.... 這邊解釋一下R300的處理單元吧.

在PS 2.0規格中, 每個指令理論上都是一個4D運算.

比如說,
add r0, r1, r2
意義上相當於
r0.r = r1.r + r2.r
r0.g = r1.g + r2.g
r0.b = r1.b + r2.b
r0.a = r1.a + r2.a
本來, "理論上" PS2.0的color unit是一個4D vector unit; 當然, A(Alpha, 透明度)常常會拿來作一些其他的運算, 所以我們把管線作成一個3D Vector Unit 和一個Scaler Unit, 以把Alpha值分開處理. (一個4D Vector 等價於4個Scaler)

於是,把一開始的那一行指令寫成
add r0.rgb, r1, r2
mul r0.a, r3, r4
剛好可以讓R300/R350在一個時脈內完成; 而如果照原來那樣的4D Vector的話, 就會變成有部分運算資源閒置了; 以上是R300的Pixel Shader Unit把4D Vector -> 3D Vector + 1 Scaler的理由. (這只是Pixel Shader Unit部分, R300/R350的每條Vertex Shader pipeline各有一個4D Vector 和1個Scaler)


所以回頭講到上回的fillrate測試用Shader:

ps_1_1

def c0, 0.5, 0.25, 0.3, 0.4
def c1, 0.1, 0.2, 0.3, 0.2

tex t0

mov r1, c1
mad r0, v0, c0, r1
mad r0, r0, c1, r0
mul r0, r0, t0

R300/R350的Pixel Shader Pipeline有一個Texture Unit, 一個Texture Addressing Unit, 與一個Color Unit, 在上面的這個Shader裡面只有一個Texutre OP( tex t0), 接下來Texture Unit就閒著了.

然後,
mad r0, v0, c0, r1
mad r0, r0, c1, r0
mul r0, r0, t0
這三個指令, 都把color unit(分成3D Vector + 1Scaler)的4個運算用光了.

所以整個Shader的5個指令中, Texture OP可以和其他指令並行, 另外4個指令則各需要自己的cycle, 因此理應需要4個cycle; 但是實測結果出來是3.2 cycle, 所以只能猜測mov指令上ATi有做過最佳化.

----
不過, 本來PS1.1~1.3就已經有這樣的功能(稱為instruction paring), 但是因為這樣子限制太多了, PS2.0之後已經不強制這樣規定這樣的寫法要在一個時脈中完成, 而讓廠商自己去做optimization, 而這是指令相同的狀況; 實際上CineFX的指令和DX9規模根本不一樣, 因此詳細的狀況只有廠商自己明瞭了, 真的要挖的話可能可以寫成一整套書也說不定.

簡單講的話, R300/R350可能就是可以最佳化"擠"出來的程度不如NV3x, 於是就會變成即使真正的處理單元多, 但是實際上指令有可能會互相打架, 而讓真正能tune出來的效能比較低.

比如說, 雖然總量是A+B+C+D+E, 但是A不能和C同時用, B不能和D同時用, 所以就會變成A+B+E or A+C+E, 總量只有3; 但是如果架構不同的話, 雖然另一方可能只有A+B+C+D, 但是也許它可以做到A+C+D, 或者A+B+D, 甚至A+B+C+D都可以同時用, 那麼就會造成差異了.

實際上雖然沒這麼簡單, 不過朝這個方向去想, 就可以知道這個真的是很大的學問.

舉個有趣的數字, 記得nVIDIA全球的一千四百多名雇員中, 比例最高的可是佔了六成的博士, 反倒是碩士和學士的比例比較低....

此文章於 2003-05-15 02:46 PM 被 Artx1 編輯.
舊 2003-05-15, 02:37 PM #9
回應時引用此文章
Artx1離線中  
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
借來的NV30裝v44.03測出來浮點精確度0bit....?
v43.51還測得到16bit(s10e5)的說.

說不定v44.03真的有不少問題存在....
還是限定跑fix-point?

----
等拿到NV35再測看看.

此文章於 2003-05-16 10:09 PM 被 Artx1 編輯.
舊 2003-05-16, 09:23 PM #10
回應時引用此文章
Artx1離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是03:19 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。