引用:
作者copernicus
抱歉請問 Artx1大大, 小弟才疏學淺, 請問何謂 Crossbar memory? 因為向google大神求救,一時並沒有找到.
另外之前大大您有說明為何 16 pipelined 6800 series (6800GT/6800Ultra)
需要其核心等價於時脈4倍的256bit GDDR3 VRAM 才是理想的,可以請大大再說明一次嗎?
|
CrossBar Memory最早在GPU上的應用是GeForce3時期,屬於LMA架構之一。
http://www.fantizi.tomshardware.com...eforce3-28.html
在這邊有對構成與原理的解說,就恕我不多提了。
不過我認為,Crossbar與其說是聰明,倒不如說是個很硬幹的設計。
實際上的狀況,要達到最好的寫入效果,就應該把記憶體分割為最小寫入單元的值,
考慮當時的主流是32bit color,以前低階卡用2x64bit本身就是一種浪費,
更別提更早期完全沒有分割的GeForce1/2了。
====
至於所謂的"需要其核心等價於時脈4倍的VRAM"這段話,
我是覺得可能我手誤之類的造成誤解了。
本來的意思指的應該是說
"為了滿足核心填充速率的吞吐,
以256bit記憶體而言,NV40的記憶體要比核心快兩倍才行。
想一想,16管線的狀況下,每一管寫出的color都是32bit,那不就是512bit了嗎?
而且要寫出的不只Frame-Buffer,還有另外32bit x 16的Z-Buffer。
總共達到1024bit,這下子即使256bit GDDR3(等效512bit),
也還有一半的要求沒有滿足,於是記憶體就得快上核心兩倍了。
實質上,目前6800Ultra的記憶體速度(425/1100),
僅滿足約12.27個color的寫入,尚低於color同時全部寫出的需求,
更別提Z-Buffer了。
不過實話是也沒這麼趕,
一來是Shader的長度越來越長,單一color越來越不容易一個cycle就寫出來
(雖然HL2也才採用了不過約40個指令的Shader),
所以日後的遊戲,卡在晶片Shader運算的時間會拉長,
到時候可能就比卡在記憶體頻寬的機會高。
在NV4x的設計就可以明顯看到,對記憶體頻寬而言,fillrate都是過剩的,
但是只要shader夠長,那麼就不會卡在記憶體頻寬,
shader夠長的話,也能夠帶來更多餘裕可以開AF,
因為這些東西通常是獨立運作的,
Shader在運算的時候,Texture Unit就可以"閒下來",
或者做更多的事情(如AF)。
於是,以後真的會造成記憶體頻寬壓力的,很可能就是FSAA了。
我自己因為是大尺寸CRT使用者,可以開高解析度解決問題,
所以的確比較不重視FSAA;
但是對只能使用固定解析度的LCD而言,FSAA就顯得非常重要了,
所以我想這個問題仍然不能忽視。
目前看來,只有進一步提高記憶體頻寬才是良策了。