166 12345
发新话题
打印

[体系架构] 替RV770說點好話

本主题由 Asuka 于 2008-3-11 17:10 分类

替RV770說點好話

雖說友站YY許久,提到RV770有個號稱理論上2.5倍浮點性能的提升。不過其實我們必須要說,當初R5x0、R6x0沿用到現在R7x0的Ultra Threading Dispatch Processor,是ATI這幾代價夠裡面最主要,也最不容易更改的部分。

它的核心觀念就是:把一整塊資料(thread、NVIDIA稱為warp),分配給一份(可變大小的)硬體資源。如果硬體資源因為各種狀況(材質讀取、條件分支等等)因素出現暫時停止的狀態,則記憶住硬體資源目前的執行狀態,然後分配另一份資料讓硬體來處理。

所以這可以有兩個特性:
1. 硬體資源(ALU、TMU、ROP)的擴充變得相對容易,但是記憶體在階層面的擴充則變得困難
2. Ultra Threading Dispatch Processor本身的擴充會大幅影響晶片本身規模,但是周邊的擴充則不會

這兩個特性使得ATI演出了當初R520到R580的大逆轉,這次R600->RV670->RV770的狀況也類似:目前傳出的數字是"160個texture sampler"、"800個SP"。
但是由於先前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。

從1:1(R520)變成1:3(R580)再轉到1:4(R600/RV670),現在看起來,RV770做出的1:5這個數字還蠻有說服力的,至少一直維持他們對數學運算資源的重視。

----
然後問題來了,我們知道由於分支資源的需求,記憶體延遲隱蔽的必需性,過度大幅擴充的sp無法得到充分的利用,而且分支的頻率從DX9引入之後只有越來越高(因為分支可以用來結合shader、減少material load overhead、減少drawcall,這都是減少記憶體頻寬壓力),所以導入的sp很難達到性能比例提升,這在當初R520->R580的時候已經得到了印證。

不過在純執行資源上,這些sp並非無用武之地。R580導入的shader資源有一個有效活用的方式:修補fp16 texture filter,這是因為R520只提供fp16 blending卻沒有提供texture filtering之故,所以R580在分支資源無法支撐的sp,其實仍然透過texture filtering的形式,做出了性能上的貢獻。

所以,其實我們也可以說,RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾"。我們記得R600的CFAA....就是透過shader來作AA sample reslove的,這使得CFAA會出現占用shader資源的問題,而讓AA性能低落。

在這個狀況下,選擇有兩個:
1. 修改AA unit
2. 增加shader資源
前者需要面對比較複雜的ASIC修改過程,較為困難;後者的話則較為合理。所以R600的兩大弱點,AA/AF性能的部分,以SP與TMU增設來作為應對之道,是目前我對RV770規格傳聞上的解釋。

這些增設都不會對電晶體造成很大的負擔(TMU增設的負擔較SP數量增加要來得大),如果抓好平衡度的話,會大幅改善整個架構的電晶體效率(電晶體增加25%左右,但預估性能可以提高50%),當初G94的性能幾乎與RV670類似,使得ATI在電晶體效率方面以接近30%(505M vs 666M)的狀況落後於NVIDIA,可望於RV770得到改善(800M vs 754M);而且RV770的CFAA有機會成為較為實用的功能,這點個人是樂觀其成。
本帖最近评分记录
  • Edison 活跃指数 +5 原创内容,值得嘉奖 2008-3-11 18:21
  • Edison 贡献值 +3 原创内容,值得嘉奖 2008-3-11 18:21
補充:
我的確是覺得NVIDIA的64sp直接硬撼ATI的64shader....XD
所以我寫160shader和G92的128sp不相上下或稍微好些 _A_
RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾,这个能成立的话,RV770还是可取的
引用:
原帖由 天下18 于 2008-3-11 17:15 发表
RV770提供的大量SP,也可以拿來修補R600/RV670在管線執行資源上的"缺憾,这个能成立的话,RV770还是可取的
現在的問題是,CFAA很可能"就是需要這麼多shader"才能實用化,那麼R600/RV670就真的和R520一樣了。
虽然看的有点晕乎,还是要顶
正好请教EJI,CSAA这个实用么?AMD有可能支持么?

TOP

CSAA,R6XX没有可能做到

TOP

800个SP

TOP

“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕

[ 本帖最后由 287381906 于 2008-3-11 17:35 编辑 ]

TOP

就是R520到R580的翻版...
幅度还小一些...

TOP

晶体管增加了30%,shader增加到2.5倍...
这个纸面上的数据真是蛮吓人的...

TOP

A卡四年来头一次有望增强TMU

TOP

引用:
原帖由 287381906 于 2008-3-11 17:34 发表
“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕
memory, 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

TOP

引用:
原帖由 Elwin 于 2008-3-11 18:26 发表
A卡四年来头一次有望增强TMU
从比例上来看,应该是进一步削弱了TMU

TOP

引用:
原帖由 287381906 于 2008-3-11 17:34 发表
“但是記憶體在階層面的擴充則變得困難”
什么叫阶层面??
因为台湾话与大陆话不太一致,还是用英文同步一下吧,什么“记忆体、韧体、汇流排”的,好怕怕
這邊講的是memory hierarchy,G80在這方面有在TPC裡面擺一組scratch pad memory(16KB share memory),還有constance register、temp register都已經有做到virtualize了,所以理論上G8x的資源是無限的;
R6x0這方面比較欠缺和不完整,由於R7x0目前看來和R4x0一樣是前一代的架構延伸版,要有更大的擴充要等到R8x0比較有機會。

TOP

引用:
原帖由 haifengx88 于 2008-3-11 18:14 发表
就是R520到R580的翻版...
幅度还小一些...
根據目前傳說的數據,TMU和ROP都加了100%(16TMU、16ROP to 32TMU、32ROP)、然後ALU加了150%(64 to 160 shaders)。
考慮TMU和ROP的transistors count應該比ALU還多得多,實際增加的幅度應該是相當大(和R520 to R580相比,ALU少加了50%、但是TMU和ROP都加了100%)。

但是在整個結構上占的幅度還沒有比較大,這可以知道從DX9到DX10,其實Ultra Threading Dispatch Processor的規模、以及其內部資源的成長比例都很大。(當然這可以從DX10/DX10.1本身的spec看得出來就是)

TOP

总算把TMU加上去了

不过执行单元加了一倍,才只做到和G94一样的面积

AMD在制程成本上的功力真是很可怕

TOP

引用:
原帖由 Eji 于 2008-3-11 17:19 发表


現在的問題是,CFAA很可能"就是需要這麼多shader"才能實用化,那麼R600/RV670就真的和R520一樣了。
这个未必吧,如果1:4不够的话,很难相信1:5的比例就可以做得好,但从R520一路看下来,这种ALU增加起来很容易,面积也很小.

这样持续增加Pixel Shader的ALU比例,在我看来是以最少成本尽可能获得更大效能的方式,而不是为了追求效率而增加晶体管.

说起来MS的DX10真是害人哪....NV连主流方案都做到240mm了,想当年横扫一切的NV40也只有260mm而已。我是很不看好G9X系列的寿命的

TOP

160个US啊……两代前的R520也才16管线……

TOP

引用:
原帖由 1empress 于 2008-3-11 19:39 发表
总算把TMU加上去了

不过执行单元加了一倍,才只做到和G94一样的面积

AMD在制程成本上的功力真是很可怕
N社这点的确吃亏,AMD有自己顶尖的晶圆厂,N社只能等TSMC它们更新制程

TOP

引用:
原帖由 obi-wan 于 2008-3-11 21:00 发表


N社这点的确吃亏,AMD有自己顶尖的晶圆厂,N社只能等TSMC它们更新制程
AMD有自己的晶圆厂这没错,不过用来生产CPU都不够,貌似现在还要寻求代工厂生产CPU。

TOP

引用:
原帖由 1empress 于 2008-3-11 19:51 发表
这个未必吧,如果1:4不够的话,很难相信1:5的比例就可以做得好,但从R520一路看下来,这种ALU增加起来很容易,面积也很小.

这样持续增加Pixel Shader的ALU比例,在我看来是以最少成本尽可能获得更大效能的方式,而不是为了追求效率而增加晶体管.

说起来MS的DX10真是害人哪....NV连主流方案都做到240mm了,想当年横扫一切的NV40也只有260mm而已。我是很不看好G9X系列的寿命的
唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。

今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。
die size會比較大,單純是因為NVIDIA在製程面上相對地保守;ATI衝製程衝比較快,有很大的原因和結構效率、設計能力有關,並不能說是好事。

如果RV670的良率很好,為什麼初期會供貨不順?那這個良率數字能夠相信嗎?同理可以套用到RV770上。

此外,我們回到ALU追加的"性能",這並不是沒有成本的:從R520開始,它的分支粒度隨著ALU的追加不斷地放大,因為所有的設計都集中在Ultra Threading Dispatch Processor上,所以相對的更改也很困難。

比方說,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)....

然後NVIDIA目前的分支粒度,還是維持在32個pixel or 16個vertex。因為register file是成對的,所以G8x/G9x的規模其實光看電晶體數量就已經讓人覺得要比ATI R5x0目前的延伸好上太多,因為它的規模每一份的效率都是一定的,ATI的強化卻總是會把架構上的缺陷越挖越大,你要維持分支粒度、提升性能的同時又不提升規模,唯一的方式就是從memory hierarchy來下工夫,天下沒有白吃的午餐啊。

來個以前思考問過的問題:我們什麼時候可以做到dynamic branch per pixel....XD

----
NVIDIA從G7x到G8x的更新,包含電晶體效率、結構改進,能夠如此是因為memory hierarachy的變更、引入倍速shader(並不是為了無限制提升時脈,而是改善電晶體效率)、ALU的free swizzle(隱藏底層的SIMD ALU),這些複雜的設計都在NV3x到G7x的這段時間一口氣達成,所以ATI也必須在R5x0~R7x0的這段時間應該要做出徹底的架構革新,否則R7x0只是試圖延伸一個傳統想法的壽命而已,如果這個延伸不是替一個革命的架構爭取時間的話,那麼就只是苟延殘喘而已了。

[ 本帖最后由 Eji 于 2008-3-11 21:41 编辑 ]

TOP

照AMD自己的说法,每80sp执行同一类指令,要么全速运行,要么全部歇菜。看来AMD是要用大量增加执行单元来掩盖架构的缺陷,相对性的提升执行效率,也许能从60%提升到80%?

TOP

引用:
原帖由 Eji 于 2008-3-11 21:33 发表


唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。

今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。
die size會比較大,單純是因為NVIDI ...
G80的革命性是有目共睹的,说实在的从G7X到G8X算是令人瞠目的推倒重来。NV的魄力和实力都让人叹服!
R700做不到这一点,只能算是挖潜。核心的东西不变,只靠外部的改善来维持。AMD这一块恐怕还来不及搞创新。

TOP

ATI卡向来设计很好,理论性能很好很强大,但实际上除了9800P基本上没有什么好货,关键是驱动太烂,一流的技术,二流的销售,三流的驱动也就这样了

TOP

引用:
原帖由 Eji 于 2008-3-11 21:33 发表


唔,我既然這篇寫要說好話,我就很不希望作出"批評"....不過要寫的話還是可以寫一些。

今天我們可以從G94看到,NVIDIA的結構效率是高得多的,而且電晶體的數量也比較少。
die size會比較大,單純是因為NVIDI ...
ati-amd有制程上的优势,设计上的劣势,资金上的劣势。她拿什么去革命呢?

rv770,光看名字大概就知道ati对这枚芯片的期望了。

rv做多chip又不现实,你做一片multi-chip的卡才仅仅追上对手的single-chip卡,而要承担驱动难开发,兼容性,功耗等各方面风险,这看起来实在是……

TOP

我对G94的看法有些不同

G94诚然指令分配效率非常好,64SP可以硬扛64的5D,但这个“效率好”的代价是很大的

对比一下 G94    240mm    505M    64SP
             G92    320mm    754M    128SP

我认为G92与G94的SP设计是近似的,每个SP占用晶体管数量,晶圆面积也近似
那么64SP的面积应该近似于320-240=80mm这个样子
G94减掉64SP为160mm的面积

G9X系列分支指令调度,隐藏延迟这部分功能效率很好,可以百分之百的喂饱SP,但我猜测相应的逻辑电路也非常复杂难做,即使新制程也不能缩小多少面积,所以NV制程上保守,之所以占用这么大面积不应是制程落后的原因,而是面积根本就减不下来,造成成本居高不下

相反ATI宁可用DX9时代的落后设计缝缝补补,也不愿意把5D更换为类似SP的设计,原因也在于此,毕竟市场定位类似的东西,拼的是售价.

TOP