瀏覽單個文章
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
引用:
Originally posted by GPF
上面這段話我不太懂。

R300目前看來沒有shader指令平行度的問題,而NV30/35有,
這會跟在台灣晶圓廠代工有關係???


是有關係啊, 理由除了先前giligula兄講的部分之外, 其實還有兩點需要補充.

1. 如果Driver寫得好的話, scaler(純量) based的管線可以非常有效率,
一個4D vector(向量), 在NV2x時就是一個單元幹掉.
在R300則是一個3D Vector + 一個Scaler,
在NV3x則是4個Scaler

於是, 如果是一個複雜的Vector指令, 則三個晶片每個時脈都能執行1個指令.
但是如果是一個比較簡單的Scaler指令, 則NV2x還是每個時脈只能執行一個,
R300則能在執行scaler的時候, 執行另一個3D Vector指令,
或者是最浪費的狀況下兩個scaler指令, 效率就相當於NV2x的2倍.(至少一個指令, 至多2個指令)
而NV3x的狀況, 則可以有機會執行4個scaler, 效率變成4倍.(至少一個指令, 至多四個指令)

但是, 一個4D Vector單元(NV2x), 與一個3D Vector單元加上1個Scaler單元(R300系), 最後是4個Sclaer單元(NV3x), 這三種架構的電晶體數都不同.
完整的3個Sclaer單元所需的總電晶體數可能比起一個3D Vector單元多出許多,
於是同樣的製程技術水準下, 變成製程可能無法負擔完整的Scaler單元,
而要在硬體設計上縮減部分指令的規格, 於是便成部分指令執行的時候會有相依性,
沒辦法任何指令都全速執行....
指令沒辦法完全平行運作, 於是稱為指令平行度不足.

先天上架構複雜度已經會比較高了, 還外加上NV3x的規格(CineFX)上有著
遠比R300系更多的常數暫存器, 更複雜的條件分支, 更長的指令數量,
這些都會讓Pixel Shader 的 ALU 設計複雜度上升許多, 當然電晶體數就會跟著攀升了.
在同樣的製程技術水準下, 更複雜的架構代表的是較低的良率, 以及受限的晶片總規模.
就算架構的效率相對上比較高, 整體跑出來的效能純量上能不能贏過人家就難說了.

所以, nVIDIA今年去找了IBM合作, 也有改善製程來源的用意.
本來用意再好再理想, 生產不出來或是因為生不出來而被迫降級製作, 就都是空談了.
話說R300, P10 VPU和NV3x都是由TSMC生產的, 或許該說責任都應該推給台灣廠商?
台灣的製程技術大多來自朝vendor外求(UMC/Novellus, TSMC/AMK),
本身技術上根本沒有多強的本事, 如果沒有自己的技術, 外商永遠可以隨時轉向,
而你要是拿不到技術, 根本沒有辦法對抗新敵手....

nVIDIA轉向IBM, 看得出來企圖透過求得遠超過對手的製程, 來投入新架構....
不過問題在於, 目前的態勢上IBM沒辦法取代TSMC成為nVIDIA的主要產能,
於是, 可能就是高階指標產品有機會都靠IBM, 中低階還是得用TSMC.

----
另外一個問題是, 複雜的架構相對地也會提高Driver的撰寫難度.
效率能不能如同理想狀況般發揮, 得要靠更多的心血....
舊 2003-08-29, 07:59 PM #59
回應時引用此文章
Artx1離線中