» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 31 123
发新话题
打印

[业评] PS3图形运作原理解析:RSX与超越完美PS的7SPE并行处理!

PS3 的 GPU 不是只有1个,全部总共有1+7个’。
PS3 的 绘图系统有些部分仍有谜团。比方说

(1) 不使用 UMA 架构,XDR DRAM 256MB的主存储器与CPU (CELL)连结,
而绘图晶片 (GPU∶RSX,以下RSX-GPU)则配备着256MB 的GDDR3....的这个架构本身。

(2) NVIDIA社长 黄仁勋先生在简报中提出RSX可以使用超过本身装配的256MB的内存容量进行绘制,
可使用的内存总共为512MB的这段叙述。

等以上两点。



GDDR3 256MB的话,使用起来不是比 XBOX360 的 512MB UMA 来得绑手绑脚吗?其实呢....

‘最大可朝512MB的内存进行Rendering’的这段叙述。不过,RSX只有256MB的内存才对。这代表的是?

为了这些迷团,我们前往了RSX的原设计出处NVIDIA进行取材。
招待我们的人,是与NVIDIA所有的GPU关系密切,被称为‘GeForce之父’的总工程师 David Kirk先生。

NVIDIA总工程师 David Kirk先生。昵称NVIDIA的 Kirk 舰长。(译注∶by Star Trek)

> PS3的RSX-GPU可以对主存储器进行Rendering
前述点(1)提到,主存储器与显示用内存分开设定的缺点,其中之一是‘显示时只能使用256MB’的这个容量限制。
在高分辨率(HD)的环境下,被当成RenderTarget的FrameBuffer容量,可是相当于PC环境底下XGA或是UXGA的大画面,而且这些新世代的显示晶片能够使用大量的decare Texture,以及NormalMap,这些功能都需要大量的内存。

以主存储器与显示内存结合为一体的Xbox360可以针对场景以及状况自由地分发以512MB为范围的内存去应付各种用途。而PS3的话不就因为有着256MB的界限存在而在自由度上会逊于Xbox360了吗?.... 这样的疑问立刻浮现下我们的脑海。



PS3的架构方块图。从这张图看起来RSX只能使用到256MB GDDR3,但是实际上不然。

关于这点,Kirk先生做了如下的说明。

‘RSX可以对CELL方面装配的256MB XDR DRAM主存储器当成RenderTarget来利用。所以基本上你可以当成没有这个限制。’也就是说,理论上而言RSX可以作为绘图用内存使用的空间为GDDR3 256MB + XDR 256MB = 512MB total。于是(2)的谜题也跟着解开了。

如果读者对PC较为熟悉的话,在PC上的AGP Memory.... 利用所谓的GART(Graphics Aperture Remapping Table)的架构,GPU就可以把主存储器当成晶片自己的内存(Local Memory)使用....和那个功能很类似....来这样思考就比较容易了解了。



(译注∶GART并没有可以将AGP Memory 当成 Render Target的能力,所以总之这是TurboCache功能,只是频宽大多了)

但是,在提到实际上能不能将主存储器像是与GPU直接连结的GDDR3 VRAM来使用这部份,其实就不得不让人怀疑了。

CELL处理器的架构图。RSX-GPU连接在FlexIO bus上。

RS-X-GPU与CELL靠FlexI/O来连接,CPU→GPU的下行频宽有20GB/s,CPU←GPU的上行频宽有15GB/s的限制存在。虽说CPU存取XDR主存储器的频宽有25.6GB/s,但是GPU朝主存储器的上行频宽限制在15GB/s,这里就会形成瓶颈了。

再其次,在方块图中写着‘BUS’的部份是PPE与八个SPE以package relay模式连结的‘Element Interconnect Bus’的环类Bus之故,透过这里存取内存的延迟也不可忽视。

结果,可以完全当成绘图内存般使用(主存储器)还是有所困难。具体来说,把场景Render成Texture,再套用入这个场景的Multi-pass Rendering的状况下,如果只把 XDR 当成 Render Target的话,效能势必大幅衰减。

> PS3不是有叫做SPE的副GPU吗~透过RSX-GPU与七个SPE来实现SLI?

也就是说,其实这个PS3的架构并没有优势了吗。

‘没这回事。CELL processor里面有七个SPE(Synergistic Processor Element) 可以与RSX-GPU共同作业。主存储器上的绘图相关联data可以由SPE进行前置处理,也可以让SPE对RSX-GPU的绘图结果进行类似影像后制处理般的加工。(by Kirk先生)’

RSX-GPU如果可以存取CELL Processor的主存储器的话,反过来说,主存储器就是CELL processor与RSX-GPU的共享内存。对PS3而言这个架构也可以成为优势。

虽然过去已经在进行过基本的解说,CELL具备着七组称为SPE的特定单元,朝4纯量32bit浮动小数点实数向量演算的128bit SIMD型RISC处理器。

这个SPE本身的实力,如果愿意相信SCE给的性能指标的话,即使是一个SPE在3.2GHz运作的时候,进行Vertex处理的速度也能达到每秒八亿(800M)个Vertex,这个已经相当于普通的GPU所具备的 好几个 Programmable Shader的能力了。而且如果比较可程式化能力(Programmablity)的话,SPE有着可以使用完整的C++语言的程度,在这方面远远超过普通的Programmable Shader。

SCE也实验性地制作完成了将数个SPE当成GPU来活用的 软体绘图引擎,在先前召开的发表会中,也公开过只靠SPE完成的影像。


靠SPE来进行 Rendering的flight sim 类般的flyby demo。连Normal Map都使用到了。

比方说,让我们考虑一个把某个场景透过数个 Render Target 来处理的 Multi-pass Rendering。

例如说,图中那个水面上反射出周遭的影像这种状况。


(NVIDIA提供)


类似这种场景,在进行整个场景的Rendering前,必须把以水面为分界点,由水面所反射的场景先行rendering(产生反射Texture)。

在进行最终Rendering的时候,再使用这个Texture来显示出水面的反射效果,如果只有一个GPU的话,就只能够全部"自己"完成。如果反射Texture产生的时间过长,那么绘制过程整体就会出现延迟。

反射材质。这个能不能让SPE来Render呢?

如果这个反射Texture可以让 CELL Processor方面的SPE,与RSX-GPU并行进行Rendering的话,比起全由RSX-GPU自己处理处理时间必然缩短,也就是整体效能将会提升。

RSX-GPU进行最终Rendering的时候,从XDR主存储器中取得反射Texture,虽然会遇上于FlexIO朝GPU的下行20GB/s的频宽限制,但是从整体来看仍然相当有机会赚取效能才是。

在这种状况下,虽然有必要在主存储器与绘图内存内都存放Geometry set与Texture set,但是以反射Texture这一类的需求,材质分辨率较低也不至于造成问题。well,这里提到的部份可能只是为了说明而小举一个例子,但是在Rendering的时候让RSX-GPU与SPE进行共同作业的创意,也可以说是个非常独特的功能。

NVIDIA把以复数个GPU进行Rendering的技术称为‘SLI’,PS3这个架构某个意味上,也可以称为半SLI也说不定。

> SPE 可以对Rendering完成后的影像进行处理

看完这帖之后也应该来这边看看RSX(GPU)+CELL(SPU)如何实现GPU+7个SPU技术吧。
参考:http://www.tvgame360.com.tw/view ... 2%E9%98%BF%E5%BF%97

[ 本帖最后由 noyes173 于 2007-9-6 17:25 编辑 ]


TOP

嗯,慢慢看好好研究。



TOP

很强大 帮顶


TOP

lz光发帖不回帖没意思啊

TOP

发繁体字是故弄玄虚吗?
永远停留在理论上,吹概念还没玩够?

TOP

geforce之父也不过so so,只会吹牛玩概念而已,那及得国内专家之万一:D

TOP

这种文章 没兴趣 看 了,对PS3很失望

TOP

引用:
原帖由 ooo 于 2007-9-5 22:20 发表
发繁体字是故弄玄虚吗?
永远停留在理论上,吹概念还没玩够?
開始挑人家用什麽字了?
繁體字>簡體字,以上

TOP

记得天师以前发过类似的帖子

TOP

书面写是一回事,实际做是另一回事啊。
PS3在进步,但S饭不要动不动就发技术文章,说实话这东东远不及“写轮眼”,“白眼”厉害:D

TOP

>那贵公司的g80架构不是很纱布么?

'我先去个小便~

TOP

唉……这文章被批多少次了?

TOP

先顶了慢慢看。。。。。。。。。。。

TOP

PS3的周期是10年,得做个不容易挖掘机能的系统,让你们慢慢研究,和PS2很像

TOP

这个还有什么意思?

TOP

 31 123
发新话题
     
官方公众号及微博