瀏覽單個文章
anomaly
Advance Member
 

加入日期: Feb 2003
文章: 406
引用:
作者Artx1
想一想,16管線的狀況下,每一管寫出的color都是32bit,那不就是512bit了嗎?
而且要寫出的不只Frame-Buffer,還有另外32bit x 16的Z-Buffer。
總共達到1024bit,這下子即使256bit GDDR3(等效512bit),
也還有一半的要求沒有滿足,於是記憶體就得快上核心兩倍了。

在NV4x的設計就可以明顯看到,對記憶體頻寬而言,fillrate都是過剩的,
但是只要shader夠長,那麼就不會卡在記憶體頻寬,
shader夠長的話,也能夠帶來更多餘裕可以開AF,
因為這些東西通常是獨立運作的,
Shader在運算的時候,Texture Unit就可以"閒下來",
或者做更多的事情(如AF)。



小弟很認同Artx1大大的說法﹐記憶體的bandwidth的確不夠快。不過小弟對NV40設計fillrate過剩有不同的看法。以下是小弟從beyond3d偷過來的NV40然後改的圖。小弟也從NV43目前的資料畫出NV43的pipeline。

NV40 Pipeline


NV43 Pipeline


小弟認為NV40有16 pipeline是為了要防止GPU stall,GPU越來越像CPU﹐任何stall都對效能大打折扣。NV40從6 vertex shader變成16pixel shader。 NV應該認為未來的游戲會提高polygon數﹐所以為了不讓vertex shader等pixel shader而閑置,所以提高vertex shader跟pixel shader的比例。

再來就是memory crossbar的結構﹐說實在﹐不管是再好的crossbar﹐很多東西不免需要到memory去抓資料(FSAA/AF)﹐以NV40的crossbar來看﹐有512bit進入crossbar,有256bit從crossbar出來到memory﹐其實剛小弟說過﹐vertex shader只有6個﹐所以大部份時間都會有閑置的pixel shader﹐因pixel shader的負載並不高﹐不會真的需要512bit的memory才能滿足NV40(有512bit到memory當然是最好﹐不過卡的價格會貴的難看)。

再來看看NV43的pipeline。vertex shader跟pixel shader的比例比NV40差﹐因此會有vertex shader等pixel shader的情況。不過因pixel shader又在等memory﹐所以只要memory access一多﹐就會有出現GPU等memory的嚴重情況。nv43為256bit進入crossbar,128bit到memory。不過因pixel shader永遠是處於高負載狀態﹐nv43開4xFSAA會缺氧。既然256bit是在現有科技下可達成的﹐而且價格並不會貴太多﹐為什麼不做?我想這才是關鍵。

如果有人知道NV40跟NV43 BGA 底下的球數﹐小弟就能算出有沒有可能在NV43做256bit memory。如有人知道請告知
舊 2004-08-18, 11:49 AM #34
回應時引用此文章
anomaly離線中