返回列表 回复 发帖

替RV770說點好話

雖說友站YY許久,提到RV770有個號稱理論上2.5倍浮點性能的提升。不過其實我們必須要說,當初R5x0、R6x0沿用到現在R7x0的Ultra Threading Dispatch Processor,是ATI這幾代價夠裡面最主要,也最不容易更改的部分。
3 A  L) @9 W! [# d3 \$ F9 T4 C- I/ \9 h& D$ r, Q: n  W2 a, ?. S
它的核心觀念就是:把一整塊資料(thread、NVIDIA稱為warp),分配給一份(可變大小的)硬體資源。如果硬體資源因為各種狀況(材質讀取、條件分支等等)因素出現暫時停止的狀態,則記憶住硬體資源目前的執行狀態,然後分配另一份資料讓硬體來處理。6 ^5 M8 D; X( j3 W7 ~+ l6 \

7 u' f; x. h. H/ {; o0 e3 u+ b+ O# I8 P所以這可以有兩個特性:2 j0 ^" K- x: g6 q: e
1. 硬體資源(ALU、TMU、ROP)的擴充變得相對容易,但是記憶體在階層面的擴充則變得困難- z4 s) H) J* h" r9 T: B
2. Ultra Threading Dispatch Processor本身的擴充會大幅影響晶片本身規模,但是周邊的擴充則不會) q8 W% f5 u& {; T, U
: x' u; W6 w: R# i5 {6 w" O/ G9 s
這兩個特性使得ATI演出了當初R520到R580的大逆轉,這次R600->RV670->RV770的狀況也類似:目前傳出的數字是"160個texture sampler"、"800個SP"。
, y$ a, e' u' q( s7 P但是由於先前ATI使用的是5way VLIW、以及5D的texture unit,所以我們把數字還原一下,並且與R600/RV670做個比較-實際上RV770的規模應該是32個texture unit、160個shader,亦即材質資源放大了2倍、shader資源放大了2.5倍,和本來R600的tex/ALU資源比例為1:4相較之下,RV770的比例變成了1:5。4 D: [+ |% |1 G  D& u
( u: u- J& y9 Y; k
從1:1(R520)變成1:3(R580)再轉到1:4(R600/RV670),現在看起來,RV770做出的1:5這個數字還蠻有說服力的,至少一直維持他們對數學運算資源的重視。$ O# S0 A2 c9 G
& X( b2 v6 V. M
----
( m2 r/ H! n+ o$ ?+ R8 ^然後問題來了,我們知道由於分支資源的需求,記憶體延遲隱蔽的必需性,過度大幅擴充的sp無法得到充分的利用,而且分支的頻率從DX9引入之後只有越來越高(因為分支可以用來結合shader、減少material load overhead、減少drawcall,這都是減少記憶體頻寬壓力),所以導入的sp很難達到性能比例提升,這在當初R520->R580的時候已經得到了印證。3 P& ?: n1 t- A/ M* j3 Q
; {, C0 r& ~+ C  J, P. A3 O1 P
不過在純執行資源上,這些sp並非無用武之地。R580導入的shader資源有一個有效活用的方式:修補fp16 texture filter,這是因為R520只提供fp16 blending卻沒有提供texture filtering之故,所以R580在分支資源無法支撐的sp,其實仍然透過texture filtering的形式,做出了性能上的貢獻。) y$ @, B1 J- b' d

7 [6 [, x+ E1 o: h* j( @/ K所以,其實我們也可以說,RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾"。我們記得R600的CFAA....就是透過shader來作AA sample reslove的,這使得CFAA會出現占用shader資源的問題,而讓AA性能低落。
5 n2 M9 f; @9 X% m+ i+ {5 @0 \& w1 r6 ^* O: o! ?) g" v  m
在這個狀況下,選擇有兩個:1 G% M5 l! V  Z3 \6 F) g; {2 E
1. 修改AA unit 3 x' w+ q, Y( j: C
2. 增加shader資源
4 q& {. f5 W7 R: x' \9 H8 V& i5 j前者需要面對比較複雜的ASIC修改過程,較為困難;後者的話則較為合理。所以R600的兩大弱點,AA/AF性能的部分,以SP與TMU增設來作為應對之道,是目前我對RV770規格傳聞上的解釋。/ s3 S/ r" }! O

, h  Y. `: E) Q0 n0 B9 s這些增設都不會對電晶體造成很大的負擔(TMU增設的負擔較SP數量增加要來得大),如果抓好平衡度的話,會大幅改善整個架構的電晶體效率(電晶體增加25%左右,但預估性能可以提高50%),當初G94的性能幾乎與RV670類似,使得ATI在電晶體效率方面以接近30%(505M vs 666M)的狀況落後於NVIDIA,可望於RV770得到改善(800M vs 754M);而且RV770的CFAA有機會成為較為實用的功能,這點個人是樂觀其成。
1

评分次数

  • Edison

補充:! A$ V/ b+ r! l( `1 l% u$ h& o
我的確是覺得NVIDIA的64sp直接硬撼ATI的64shader....XD
' }: D/ L; l' j5 G, ?6 }所以我寫160shader和G92的128sp不相上下或稍微好些 _A_
RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾,这个能成立的话,RV770还是可取的
原帖由 天下18 于 2008-3-11 17:15 发表
5 L$ t- H) {" ]5 _! |RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾,这个能成立的话,RV770还是可取的
' e" ~8 l: Y% r& w$ o4 Y* y0 y* W* d( l* x7 B. G8 ]
現在的問題是,CFAA很可能"就是需要這麼多shader"才能實用化,那麼R600/RV670就真的和R520一樣了。
虽然看的有点晕乎,还是要顶
正好请教EJI,CSAA这个实用么?AMD有可能支持么?
CSAA,R6XX没有可能做到
800个SP:funk: :funk:
“但是記憶體在階層面的擴充則變得困難”& S; a( [0 H4 x3 [0 C# y5 d
什么叫阶层面??:huh:
& O+ ?9 U7 N- z: J% k因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p0 i  A6 g0 F4 Z7 i8 B
. D+ F; h7 _8 B2 k0 B7 X) J
[ 本帖最后由 287381906 于 2008-3-11 17:35 编辑 ]
就是R520到R580的翻版.... E5 c( H( L. G+ W* y% B/ e& `
幅度还小一些...
晶体管增加了30%,shader增加到2.5倍...  m) O4 ?5 e$ H$ g; [8 o6 y& }$ ]$ i
这个纸面上的数据真是蛮吓人的...
提示: 作者被禁止或删除 内容自动屏蔽
原帖由 287381906 于 2008-3-11 17:34 发表
  V; w3 I2 {; B“但是記憶體在階層面的擴充則變得困難”
7 H  t" O" N* d: e! |  }# ]什么叫阶层面??:huh:- k$ k5 J) c0 i7 i1 ]
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p
8 ^, @% p' M' E5 H/ C+ A) Q% imemory, firmware, bus .
“They’re the world’s leading designers and manufacturers of CPUs – how hard could it be to build a GPU? I mean, come on, how hard could it be? That crummy little company down the road builds them – we could build them in our sleep. Come on, how hard could it be?” ——NVIDIA David Kirk
原帖由 Elwin 于 2008-3-11 18:26 发表 ! L$ n1 E/ G! |7 v
A卡四年来头一次有望增强TMU:lol:
# T( o, J+ i* C$ N4 S
从比例上来看,应该是进一步削弱了TMU:sweatingbullets:
原帖由 287381906 于 2008-3-11 17:34 发表 ( \4 z# j3 n  L$ f3 q4 m
“但是記憶體在階層面的擴充則變得困難”
: d1 G# s/ X# r, X什么叫阶层面??:huh:& z$ [4 q( z3 L& N# w4 D
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕:p
* _" V1 E( w% q8 O3 \& k
# j; H& a) T7 u這邊講的是memory hierarchy,G80在這方面有在TPC裡面擺一組scratch pad memory(16KB share memory),還有constance register、temp register都已經有做到virtualize了,所以理論上G8x的資源是無限的;5 @( }2 v, l7 Y( A6 k
R6x0這方面比較欠缺和不完整,由於R7x0目前看來和R4x0一樣是前一代的架構延伸版,要有更大的擴充要等到R8x0比較有機會。
原帖由 haifengx88 于 2008-3-11 18:14 发表 . @" p' ^' c- r! l
就是R520到R580的翻版...
0 \0 v+ z  s# ?0 N6 g4 X幅度还小一些...
3 f* n' v+ K: z6 @
4 r# e& W& x- U$ R
根據目前傳說的數據,TMU和ROP都加了100%(16TMU、16ROP to 32TMU、32ROP)、然後ALU加了150%(64 to 160 shaders)。! n/ u1 `# @* Y% l
考慮TMU和ROP的transistors count應該比ALU還多得多,實際增加的幅度應該是相當大(和R520 to R580相比,ALU少加了50%、但是TMU和ROP都加了100%)。1 \9 a0 D. B6 j) W+ p6 T
8 x$ H0 R6 C9 R8 c1 g
但是在整個結構上占的幅度還沒有比較大,這可以知道從DX9到DX10,其實Ultra Threading Dispatch Processor的規模、以及其內部資源的成長比例都很大。(當然這可以從DX10/DX10.1本身的spec看得出來就是)
提示: 作者被禁止或删除 内容自动屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
160个US啊……两代前的R520也才16管线……
原帖由 1empress 于 2008-3-11 19:39 发表 - |" D. K/ x) Z5 d
总算把TMU加上去了: d( N3 a' }/ N6 D, Y

% R5 T" e- p  W不过执行单元加了一倍,才只做到和G94一样的面积
9 w% |. K- M  ?3 V# @+ f) k) B0 h7 K5 H2 D+ S) c4 q& S6 n
AMD在制程成本上的功力真是很可怕
  g5 q5 r5 M  v1 H& {+ J% f6 |( W
: w+ `5 i' b/ K- z3 a5 U8 QN社这点的确吃亏,AMD有自己顶尖的晶圆厂,N社只能等TSMC它们更新制程
原帖由 obi-wan 于 2008-3-11 21:00 发表 3 s9 S7 T2 Q4 E' q& a

3 t6 \) ]. ~8 V* x& c  y5 x9 `+ x: a! }( O# _! v6 p) f8 H
N社这点的确吃亏,AMD有自己顶尖的晶圆厂,N社只能等TSMC它们更新制程
& l2 H2 @3 ?0 ]7 Y: d# F, M
AMD有自己的晶圆厂这没错,不过用来生产CPU都不够,貌似现在还要寻求代工厂生产CPU。
原帖由 1empress 于 2008-3-11 19:51 发表" n- J/ Z  f7 ?" a7 Z) Q' ?
这个未必吧,如果1:4不够的话,很难相信1:5的比例就可以做得好,但从R520一路看下来,这种ALU增加起来很容易,面积也很小.
6 i& {* U9 d! @3 o" U2 ]" Y
  d1 Q1 I. R8 Z! O5 Y' {" k这样持续增加Pixel Shader的ALU比例,在我看来是以最少成本尽可能获得更大效能的方式,而不是为了追求效率而增加晶体管.
. r* q7 D/ @/ w) k% }7 \. S1 ^; S$ C' [
说起来MS的DX10真是害人哪....NV连主流方案都做到240mm了,想当年横扫一切的NV40也只有260mm而已。我是很不看好G9X系列的寿命的
/ \. m& S5 \; a& o1 C+ c& p/ M9 M- \& A: i: G
唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。+ }  W. |% X4 L$ E* g
6 e* g  d/ N' X  P5 f4 X$ Z
今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。) n0 @9 `( C1 Y" z% N: F( g
die size會比較大,單純是因為NVIDIA在製程面上相對地保守;ATI衝製程衝比較快,有很大的原因和結構效率、設計能力有關,並不能說是好事。) p5 z  c8 y( H$ B5 i

+ O, F' L+ M; L6 A2 J4 Q* j# Z如果RV670的良率很好,為什麼初期會供貨不順?那這個良率數字能夠相信嗎?同理可以套用到RV770上。
5 A, O# x9 ~: Y0 u3 d$ L
# Y0 e8 i; o" P0 Z( q' L5 L此外,我們回到ALU追加的"性能",這並不是沒有成本的:從R520開始,它的分支粒度隨著ALU的追加不斷地放大,因為所有的設計都集中在Ultra Threading Dispatch Processor上,所以相對的更改也很困難。
( h0 d2 h, m% ^( l2 Z
; \& ^% Y# J9 K5 h/ h  ^比方說,RV770到底是4bank x 40個shader,還是5bank x 32個shader?還是8bank x 20個shader、甚至是10bank x 16個shader?毫無疑問地,更改幅度必然會受到bank數影響而越來越大,而以盡量不更改設計來考量的話,4x40顯然是最可能的;而且不管是哪種更改,分支變化其實都是一樣的(成長到160個pixel or vertex per branch)....' `4 ^! F2 S4 ^/ x7 g
9 ?3 @  v- `! E
然後NVIDIA目前的分支粒度,還是維持在32個pixel or 16個vertex。因為register file是成對的,所以G8x/G9x的規模其實光看電晶體數量就已經讓人覺得要比ATI R5x0目前的延伸好上太多,因為它的規模每一份的效率都是一定的,ATI的強化卻總是會把架構上的缺陷越挖越大,你要維持分支粒度、提升性能的同時又不提升規模,唯一的方式就是從memory hierarchy來下工夫,天下沒有白吃的午餐啊。
# m0 F9 r  G7 _& D( `' R0 \) X4 A$ l1 L0 x) ]4 m, C$ p
來個以前思考問過的問題:我們什麼時候可以做到dynamic branch per pixel....XD& L) ^! v8 `  g# S9 y6 ]
: L: v2 M( |# T. T8 B( R
----1 l8 t! |) r% Z8 F* D9 B2 m) U
NVIDIA從G7x到G8x的更新,包含電晶體效率、結構改進,能夠如此是因為memory hierarachy的變更、引入倍速shader(並不是為了無限制提升時脈,而是改善電晶體效率)、ALU的free swizzle(隱藏底層的SIMD ALU),這些複雜的設計都在NV3x到G7x的這段時間一口氣達成,所以ATI也必須在R5x0~R7x0的這段時間應該要做出徹底的架構革新,否則R7x0只是試圖延伸一個傳統想法的壽命而已,如果這個延伸不是替一個革命的架構爭取時間的話,那麼就只是苟延殘喘而已了。( h( A  @) F' i3 K

7 x* b$ `. Q7 {) ^( x. k[ 本帖最后由 Eji 于 2008-3-11 21:41 编辑 ]
照AMD自己的说法,每80sp执行同一类指令,要么全速运行,要么全部歇菜。看来AMD是要用大量增加执行单元来掩盖架构的缺陷,相对性的提升执行效率,也许能从60%提升到80%?
原帖由 Eji 于 2008-3-11 21:33 发表
/ u1 Z2 e- m2 E8 E
) I# z1 d4 R9 s3 J% j# y( |. g, y; @7 f1 Z% e) N- Q$ W
唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。9 n/ J1 ?9 ?  j$ W3 C6 o% j

6 {& q) n' B8 t1 O/ N今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。. x0 R' W- s! o2 F5 W
die size會比較大,單純是因為NVIDI ...
; Z' P. j, M1 L# E$ V7 R

' l; }1 @/ C% I# v6 }: P% b/ yG80的革命性是有目共睹的,说实在的从G7X到G8X算是令人瞠目的推倒重来。NV的魄力和实力都让人叹服!2 Z" Q; |4 c7 L8 |6 E
R700做不到这一点,只能算是挖潜。核心的东西不变,只靠外部的改善来维持。AMD这一块恐怕还来不及搞创新。
ATI卡向来设计很好,理论性能很好很强大,但实际上除了9800P基本上没有什么好货,关键是驱动太烂,一流的技术,二流的销售,三流的驱动也就这样了
返回列表