瀏覽單個文章
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
引用:
作者竹雲公子
小弟有些問題想問一下大大...
您說的"Pixel Shader跑不完"是指說顯示卡的Pixel Shader Processor不夠用嗎?
意思也就是說像ATi這種只提昇Pixel Shader Processor而不同時增加Texture Processor Unit的這種作法其實是很正確的摟?
因為目前ATi的X1900跟X1600都是把Pixel Shader Processor提昇了三倍
不知道ATi這麼做到底是為了什麼?


嗯....這樣說好了,實際上真的是需要這麼多的Pixel Shader,才有辦法對付未來越來越增加複雜度的DX9遊戲;而Pixel Shader會增加這麼快,其實最關鍵的問題就是:製程在這方面進步得比GPU其他的部份快,其他的部份包含有記憶體頻寬、上游匯流排的頻寬等等。

只要是"在晶片裡面"的話,就可以得利於製程:Pixel Shader目前是不存取記憶體的,所以大幅增加PS,並不會需要更大的記憶體頻寬才能去支撐;但是新增TMU和ROP/Backend需要記憶體頻寬、新增VS需要匯流排頻寬.... 結果當然會變成製程有進步優先加PS數量;而遊戲廠商也因此開始有越來越多的PS可用,就會先用。

這個跡象最早是來自6600(相比於PS、ROP大幅減少至一半)、只是6600的TMU和PS數量是綁在一起的,看起來好像看不太出這種性質;可是因為NV4x的TMU和PS ALU0是共用部分單元的,所以其實大部分狀況下還是一個雙重的PS結構,和R5x0現在的觀念仍然有其類似的地方。(G71增強至32管線的PS,應該也與這個觀念相符)

以ATI自己的說法而言,目前的遊戲大多進入到材質與Shader的使用率達到1:5前後,使用了30~40個以上的pixel shader code,也就是說會在Pixel Shader裡面跑40個指令,填充率跟著降到1/40.... 所以ATI是覺得像這樣大幅增加Pixel Shader的數量是很正確的。

當然啦,有時候就是沒有白吃的午餐可以吃:
R580和RV530(1600)一樣,都只增加了Pixel Shader ALU的數量,但是卻沒增加分配給Pixel Shader ALU的指令分配器的規模,主因當然是因為後者佔的電晶體數量非常大....
(R580相對於R520只增加了20%的電晶體,但是卻可以增加兩倍的PS ALU數量,當然可以推知一開始它的PS ALU可能就只佔全部的30%電晶體)

可是這樣一來,R580和RV530都有一個問題,就是有不少時候、他們的部份Pixel Shader可能其實是沒辦法動作的。
這個問題其實性質上和當初NV30/35的問題有點像....可能會變成,R580的部份指令可能需要以特定的順序進入,才能夠把Pixel Shader內的資源用完。

那為什麼不增加指令分配器(Dispatcher)的規模呢?
因為Dispatcher的規模伴隨著它所控制的大量的thread而成長、dispatcher需要記憶每個thread的內容,所以需要大量的SRAM....
如果R580隨著PS數量、而以R520的水準來擴充Dispatcher,那只怕R580早就超過500M電晶體了,哪會只有從320M增加到384M呢?

實質上,每個Dispatcher固定都只有128個thread,R520的時候每4個PS獨享這128個thread、R580與RV530時激增至12個PS來分享,變成1/3的資源.... 所以平行度下降本來就是可以預期的。

現在ATI晶片已經做好了,想要挖掘R580的潛力,只好拼命從Driver Optimize下手了....
目前暫且聽說R590是80nm版的高時脈版R580,目前說起來與R580/R590同時脈的G70有很大的可能超越R580,G70如果改用90nm,那時脈必然會有大幅的提升(前面ss9785兄提到很可能是700MHz以上),所以R590只好進一步爭取時脈優勢.... 那32管的G71,我老實說就不知道怎麼對付了。
 
舊 2006-01-31, 03:59 AM #12
回應時引用此文章
Artx1離線中