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


发新话题
打印

N64的CPU寻址能力很差吗?为什么出4M内存卡?

引用:
原帖由 zzbsbb 于 2014-1-13 21:19 发表

你可以举例说明,至少我没看到,而且ROM速度那么慢,老的SFC这些还不觉得如何,像SFC的65c816的运行速度是3.58MHz,在读取卡带中ROM的时候必须降低运行频率来读取,否则不能读取,N64的CPU频率那么高,所以才需要R ...
例子很多,比如GBA,当年烧录卡为什么不拖慢的那么贵,因为原装卡是用了NOR FLASH,一种读取速度超高而写入速度慢的芯片,这种就是作为GBA内存的,要不然就GBA那300多K的内存+显存,能搞出这么华丽的GBA游戏画面?而廉价的SC烧录卡用的是NAND FLASH,就和U盘的芯片差不多。
再举个例子, SEGA SATURN,也叫SS,或者土星,它的加速卡,其实就是内存,而其中有一个游戏,KOF95,就要用专用的加速卡,为什么呢?因为它的专用加速卡已经内置了部分的核心数据,这个专用加速卡就是类似N64的卡带,既是ROM,又是内存。
还有一个证据,卡带机玩的过程把卡一拔,马上死机,而光碟机和PC硬盘玩的过程拔掉,还能玩到下一个读盘点之前。这就证明了卡带机的卡带的确是内存。

数据分为动态和静态,PC的内存,工作的时候既要存放静态数据,也要存放动态数据。而卡带游戏机,卡带就是存放静态数据,机身自带的内存存放动态数据。
何谓静态数据,何谓动态数据?举个简单例子,一条算式1+1=,这个就是静态数据,这是游戏里固定的,每次都要读取的,而算出来的结果2,就是动态数据,这个是运行中才会产生出来的数据,由于卡带不能写入,所以机身要自带内存。相对于游戏来说,场景建模、人物建模、所有的贴图、以及各种特效的初始值,就是静态数据,而动态数据就是游戏实际运行时角色和敌人所处于的位置、角色和敌人的动作、角色和敌人的关系(打或被打),还有场景可互动部分的状态(比如机关是开还是关)。而动态数据是远少于静态数据的,所以卡带机的自带内存一向很小。由于静态数据量大,又要经常高速读取,比如同一个素材,可能会在几秒钟内反复读取几十次(比如无双砍草的大众脸敌人),所以光碟机和PC硬盘的读取速度远远达不到要求,所以都要大容量的内存来存放静态数据。

其实说到尾,还是读取速度的问题,N64的卡带由于容量大,所以可能为了省成本,用了速度略低的芯片,导致有部分经常需要读取的数据要用扩展内存来存放。到了GBA时代,成本降下来了,所以GBA的原装正版卡用的高速芯片,就不需要大容量内存了。


本帖最近评分记录
  • md2 激骚 +3 我很赞同 2014-1-16 21:11
  • heyfly 激骚 +1 感谢分享 2014-1-15 13:26
  • genesisx 激骚 +1 感谢分享 2014-1-15 09:19

TOP

但是DS时代开始,卡带是外存了,类似U盘的东西,包括3DS和PSV也是。



TOP

引用:
原帖由 KainX 于 2014-1-14 16:35 发表
刚才查了一下,CPU好像可以寻址加密数据,那么也应该可以直接寻址压缩数据。看来你们说的使用是指读取到RAM里那部分。

那么从压缩的数据中寻址应该比从不压缩的数据中寻址要慢吧?
寻址速度一样,只不过多了解压工序和再寻址解压后的数据的工序,你可以理解为打开一个1M的RAR和打开一个1M的EXE,是一样的速度,比如都用了1秒,但是RAR打开后,你还需要解压,如果RAR里面的EXE是2M,那么解压还要用X秒(取决于CPU的速度),然后再打开解压后的2M的EXE又要用2秒。

[ 本帖最后由 goodboykiki 于 2014-1-15 21:02 编辑 ]


TOP

引用:
原帖由 zzbsbb 于 2014-1-14 14:55 发表

你可以百度一下,这方面内容很多。
不是一个单位是MHZ,一个单位是MB/S么?不是一个概念吧?
MHZ的意思是百万个HZ,HZ就是一次。
而MB/S的意思是百万个字节一秒。
真要换算的话,N64的CPU是64BIT,即一次寻址64位,64位=8个字节,查维基知道N64的CPU频率是93.75MHZ,意思就是一秒寻址93.75百万个64位,即93.75 X 1000000 X 8个字节,算出来大约是700多MB/S的数据。而查维基得知N64的CPU的带宽是250MB/S,而N64内存带宽是562.5MB/S。如此可以看出,其实N64的性能是被CPU自己的带宽限制了,瓶颈是CPU的带宽,不是内存带宽。但是我查不到N64卡带的带宽。

[ 本帖最后由 goodboykiki 于 2014-1-15 21:05 编辑 ]

TOP

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