当前位置: 主页>PS2>硬件周边>  
PS2 GPU的技术系文章
时尚网

最近弄到Nikkei Electronics有报导PS2的那一期(3月22日). 其中有GS的简单的解说及block diagram, 提供了新闻报导中所没有的有关GS的消息(虽然不是很多).

文中有提到的GS的一些特点:

为了同时对frame buffer读出/写入及读取texture资料, 因此 embedded DRAM有两组sense amplifier. 一组是给读出/写入用, 共2048 bits, 另一组给texture读出用, 共512 bits.

Embedded DRAM容量为4M bytes, 大约有一半是给texture用. 这容量不是很够, 所以在设计时就以在绘图同时更换texture 资料为前提.

Pixel Engine在无贴图时一个clock cycle可画16个pixel. 但有贴图时就降为8个.

杂志中的GS的block diagram大概如下:

               From EE (64 bit)                       |          (64 bit bus for         +--------------------------+  texture write)         |External Interface Circuit|------------+         +--------------------------+            |                       |(64 bit)                 |         +--------------------------+            |         |        Setup Engine      |            |         +--------------------------+            |                       |(64 bit)                 |       +---------------------------------+       |       |Parameter setup for Pixel Engines|       |       +---------------------------------+       |            | | | ............| | (64 bit * 16)  |         +--------------------------+            |    +--->|    Pixel Engine * 16     |            |    |    +--------------------------+            |    |       | | | ............| | (64 bit * 16)  |    |    +--------------------------+            |    |    |     Memory Interface     |<-----------+    |    |                          |---> To Display I/F    |    +--------------------------+    |       | | | ............| | (64 bit * 16 *2)    |    +--------------------------+    +----| Embedded DRAM (16 banks) | (32bit* +--------------------------+  16 bus for  texture read) 

感想:

(1) 由SCEI发表的"微小polygon"的速度为75M polygon/sec看来, GS的polygon setup的速度应该就是75M polygon/sec. 这也是GS处理 polygon的最大速度. 由上图Setup Engine输入输出均为64 bit看来, GS内一个polygon资料的大小应为64 bit * (150M(注:GS的时脉频率)/75M) = 128 bit. 如此看来EE至GS的bus如为64 bit宽的话, 它应该是Double Data Rate没错, 因为如果不是的话, 64 bit * 150MHz = 128 bit * 75MHz, 这表示所有的EE至GS的bus的频宽都会被polygon资料占用! 如此一来就不能达成"在polygon绘图同时传送材质资料至GS的RAM"的功能. 因此EE-GS bus 应该是DDR, 而且我觉得GS会用clock的上下缘来区分polygon及材质资料, 也就是bus有一半的频宽是固定给材质资料的. polygon及材质资料在进入GS 的External Interface Circuit后就分道扬镳. 材质资料就经由专属的64 bit bus直接写入GS的embedded DRAM.

如果GS的材质资料是用上述方式传入GS的话, 主记忆体至GS的材质传送速度最大值将是(64 bit / 8 bit) * 150MHz = 1.2 G byte/sec. 比Dreamcast的 graphic RAM的bus频宽 800 M byte/sec好一些.

(2) GS的规格中常被攻击的一点, 就是在有贴图时fill rate会降为一半, 这种事连现在的PC的3D加速晶片都不会发生. 有人据此就嘲笑说SCEI的工程师连pipeline处理都不懂, 所以GS的实际polygon能力一定"远"低于规格所说的. 事实上绘图时的Z-buffer处理及半透明处理都一定需要pipeline处理, 也就是先要读出Z-buffer(or Alpha Buffer)的资料, 再经计算后 (要花至少一个clock cycle)才能将pixel的RGB资料填入frame buffer. 既然会设计Z(alpha) buffer处理这种一定需要 pipeline处理的线路, 所以GS在有贴图时fill rate降低一半的原因就不是因为不会设计pipeline线路. 从NE的文章中, 我个人觉得fill rate降低一半的原因是:

(a) 创造出给从外面写入材质资料至DRAM的time slot. 如此在绘图"同时"可以从外面写入材质资料. 这也是embedded DRAM 容量太小时的妥协方法. 至于无贴图时我觉得原来用于texture read的 sense amp.就可用来给材质资料写入用, 所以就不需要造出time slot了.

此外利用这个time slot可在不影响fill rate下, 对材质资料做 演算处理. 从以前SCEI专利看来, GS可用fractal演算法产生材质资料.

(b) 减小texture read bus的宽度至1/2(texel资料可分两个 clock cycle读入). 如此die size可以缩小一些. 这对die size非常大的GS来说是非常重要的.

(注: texel: texture map中的一个pixel.)

 
 
延伸阅读
502 Bad Gateway

502 Bad Gateway


nginx
热点·今日头条

精彩推荐

热门视频 HOT VIDEO

《王国之心》最新影索尼+美女军团完胜
综合资讯 FORUM

美图下载 DOWNLOAD

《风云2》公映 特效将现次世代网游点评几款网游中最能囧人的征婚法子
台湾电玩新公主!瑶瑶众师妹如此甜美毕业那些年!一部让所有人流泪的漫画
这些经典有所怀念吗? 葫芦娃VS本拉登网博会火辣showgirl 使猛男鼻血狂流
   

Copyright 2004-2009 52384 Corporation, All Rights Reserved
本网站由52384版权所有