嵌入式工程师分析NDS和PSP硬件真正实力
17173 新闻导语
想起这个主题的原因是看到一则消息“外国玩家将NDS超频到了100MHz”,结合很久以前就有的“PSP的CPU降频1/3使用”的信息,让人实在是对NDS和PSP硬件实力的对比感到很好奇。因而查阅了一些资料,结果让人大吃一惊:两者的差距远没有之前一些人分析的1:5那么悬殊,任天堂老谋
ARM 公司目前是世界嵌入式CPU IP授权市场的老大,不过ARM7架构是97年左右推出的,拥有能够提供0.9MIPS/MHz 的三级流水线结构。ARM9架构是99年左右推出的,拥有能够提供1.1MIPS/MHz 的5 级流水线结构,而且ARM9系列还提供了增强的DSP处理能力,不过这两个都算不上最新技术。PSP 的CPU IP提供者是MIPS公司,它是世界嵌入式CPU IP授权市场的老二,虽然来头稍小一点,但是它提供的MIPS 4KE CPU内核属于最新的MIPS32架构,拥有能够提供1.5MIPS/MHz 的5 级
流水线结构,这点比ARM9要强不少。本来MIPS32 4KEc 内核在TSMC(台积电)的0.13微米制程下所能达到的最高频率是233MHz,但是SONY方面又不惜血本,它们在日本长崎县谏早市的索尼半导体「SCEI Fab」晶圆厂采用的是0.09微米制程,所以同样的CORE,它们的可以跑到333MHz. 不过这也可能是SONY方面的无心之过,从理论上说更先进的制程除了可以带来更高频率,更低的成本外,也可以带来更低的功耗。但是恰恰在0.09微米这个工艺节点,由于对深亚微米工艺的特性认识
不足,在超低K 值介电材料的开发上没有跟上,出现了很严重的漏电流问题,导致功耗不但没有降低,还提升了。所有的半导体制造商均是如此,更严重的是,例如INTEL ,可以通过使用后来开发的超低K 值介电材料解决这个问题,甚至直
接升级到更先进的0.065 节点,但是SONY由于游戏机的硬件统一性,很难采取类似的方式。
第一批PSP的水平就决定了之后所有PSP的水平,他是PSP这个木桶的最短一块板。我们难以想象SONY会发布这样的通告:“2006年X 月前生产的PSP,CPU跑在222MHz,2006年X 月后生产的,CPU 可以跑在366MHz,用户可以自行选择”,这样的话,软件开发商和用户非造反不可!从这一点分析,虽然SONY公布的CPU 最高工作频率是333MHz(目前是222MHz),而且目前也的确存在方法让PSP跑到333 ,但是这并不意味着SONY会在将来允许开发商将实际工作频率提高到333MHz,因为这会导致初期版本的PSP 功耗超过SONY方面在制定标准时的预期,从而发生不稳定。333MHz很有可能成为非官方软件的专利。相对而言,任天堂不存在这个问题,他使用的是成熟产品和成熟工艺,没有不可预期的情况,ARM 架构又以功耗低闻名,NDS 达到设计的工作频率没有什么悬念,由此导致的持续能力降低不会超过2小时。
我们再做一次计算:
NDS 的实际运算能力=200*1.1+133*0.9=340MIPS
PSP的实际运算能力=333*1.5*2=999MIPS
两者之比为=340:999=0.34
如果发生SONY不能把PSP 的工作频率提升的情况,情况就会变为
NDS 的实际运算能力=200*1.1+133*0.9=340MIPS
PSP 的实际运算能力=222*1.5*2=666MIPS
两者之比为=340:666=0.51
如果SONY方面最终能提高工作频率,但是达不到333MHz这么高,那就会是0.34-0.51 之间的某值另外再考虑CPU 的其它方面,NDS 配备了ARM946E-S 和ARM7TDMI,目前任天堂不愿意讨论处理器内核之间的功能划分问题,不过按照过去的多代家用游戏机的惯例,这样的一主一辅两个CPU 的设计,一般是主CPU负责游戏的视频和其它主要运算,辅CPU 负责音频和输入处理等运算,这种划分方式早已被业界熟悉,应用上应该不存在问题。SONY方面的情况比较复杂,PSP 有两个1.2V MIPS 4KE CPU 内核。一个内核处理大多数系统代码和游戏代码,另一个内核补充了2M字节嵌入式DRAM,负责音频、静止图像、视频等媒体的处理。这不是目前流行的双内核结构吗?
其实不然,目前INTEL 和AMD 热推的双内核对应用程序而言是不可见的。处理器内核的调用过程是由OS负责的。但是这种方式需要庞大复杂的OS作支持,效率也不高。游戏机这种嵌入式设计完全不同,应用程序本身负责处理器内核的调用过程,这种方式高效,但是难度很高。回顾历史上采用对等式双CPU设计的游戏机,例如SEGA土星等,无不是让程序员们发疯的平台。从理论上说土星的双SH2 (20MHz )比PS的单R3000 (30MHz )是要强一些的,但是除了SEGA自己的AM2 ,AM3 的王牌小组,没有人可以把这两个CPU 的能力都完全发挥出来的,多数土星游戏实际只利用了一个CPU(我承认这一点似乎无法解释MS在XBOX360中采用了3CPU core 的设计,但是MS在XBOX360 跑了WINDOWS XP,这和这一代掌上游戏机采用的OS根本不是一个级别的东西)同样的我对于绝大多数日本游戏开发企业能够把两个MIPS 4KE CPU内核总计666-999MIPS 的能力完全发挥出来表示怀疑。
这里没有采信某些资料上说的PSP的VFPU具有2.6Gflops的说法,原因是MIPS官方没有类似的说法,而且ARM9E同样是有FPU的内存方面,两者的资料都不足,NDS 的两个 CPU共享32 k字节内存,还带有4M字节的系统 DRAM ,而PSP 有4M字节嵌入式DRAM以及32 M字节离散 DRAM ,PSP显然因为拥有大量的高带宽嵌入式DRAM而占有优势,总内存也多得多。不过我们也要考虑到PSP 需要大量内存缓冲他的UMD 驱动器,而且3D处理这类低数据密集度的运算对于内存带宽的敏感远高于对内存容量的敏感。总体上PSP 在这方面的优势没有他在纸面上显示的那么大。

