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


发新话题
打印

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

那时CPU频率低于内存是很常见的吧,N64还不就是,CPU是93.75MHz、内存有500MHz。
不过说起ROM读取速度,不见得就比RAM慢吧,有数据吗?


TOP

大概看了以下N64用的是UMA的总线架构(统一内存架构),这种架构对带宽要求非常高,一般传输的速度要求有200MB/s以上,突出的3D性能更需要300~400MB/s或更多。虽然没有关于N64的ROM的读取速度的数据,但肯定没有那么快吧。
附件: 您所在的用户组无法下载或查看附件



TOP

因为RAMBUS当时相当贵,所以任天堂搞了这么个东西,希望以后便宜后可以大量使用。N64这机器就是个奇葩,性能不错,但卡带容量太小了,搞得3D贴图很差。我当时觉得除了画面干净点真不觉得比PS好在哪里。


TOP

LZ提的的确是个问题。
就算N64的卡带因为传输速度和数据压缩的原因需要放进RAM里才能运行,N64的内存也已经多于SS和PS了,却还经常需要内存卡。

TOP

posted by wap, platform: Galaxy S II

把需要的东西写进内存让处理器方便读取,或者处理数据量大需要借用内存,至于为何不直接从卡带里读数据,个人想法是卡带数据多,成本高,寸土寸金,都拿去装必要素材了,于是哪个处理器处理的数据就先写入内存再来读取了~另外gba的原装rom好像不是常见的那种芯片,是一种读取快写入慢的芯片,没用到这种芯片或者容量不是很大的话就会不够用了?

TOP

普通玩家可能过高估计了N64的3D性能,N64 3D的强大主要表现在实现了Z缓冲算法上(先进性),而不是性能上。
N64的顶点变换能力和后继的光栅化能力未必比PS强多少,有些指标还落了后。ZELDA64降祯到20就是一个实际的例子。

TOP

引用:
原帖由 genesisx 于 2014-1-13 23:22 发表
posted by wap, platform: Galaxy S II

把需要的东西写进内存让处理器方便读取,或者处理数据量大需要借用内存,至于为何不直接从卡带里读数据,个人想法是卡带数据多,成本高,寸土寸金,都拿去装必要素材了,于是 ...
N64卡带如果是因为速度问题需要把代码(和数据)读入内存再执行,造成速度慢的原因一定是卡带成本的限制,导致只能使用低速的ROM芯片。功能上,CPU对卡带数据的直接随机访问肯定没问题。

TOP

引用:
原帖由 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

引用:
原帖由 conda 于 2014-1-13 22:02 发表


sdram 的接口协议 与 GBA 的卡带接口协议差别较大,因此二者之间要加一套转换逻辑电路。这套转换逻辑是否优化,会影响读取延迟。
事实上,即使最慢的 sdram 也有 66MHz,而 gba 的 cpu 速度只有 16MHz。
请教楼上gba卡带读取速度到底如何,有没有因为cpu频率低而比较慢

TOP

引用:
原帖由 goodboykiki 于 2014-1-14 11:49 发表

例子很多,比如GBA,当年烧录卡为什么不拖慢的那么贵,因为原装卡是用了NOR FLASH,一种读取速度超高而写入速度慢的芯片,这种就是作为GBA内存的,要不然就GBA那300多K的内存+显存,能搞出这么华丽的GBA游戏画面? ...
这个说明非常详细,谢谢!

TOP

可能性前面基本上说了,应该是数据解压缩,从DC开始图形芯片才真正实用地支持纹理压缩,说不定N64就是主要用在这块,提高纹理细节
另外cpu频率和内存带宽有什么关系?怎么会扯到一块

TOP

引用:
原帖由 KainX 于 2014-1-13 19:01 发表

CPU能对压缩数据直接寻址那就不用解压缩;
需要解压才能使用那就说明CPU只能对解压之后的数据寻址,这种情况才需要额外内存放解压之后的数据。
N64是哪种情况?
CPU能对压缩数据直接寻址那就不用解压缩---不解压怎么使用?

压缩数据存ROM,解压数据放RAM,两者CPU都能直接寻址

举个例子,比如32位地址线,总共能寻址0-4G空间;
其中可以把0-2G做为RAM空间 2-4G作为ROM空间,但不一定完全占满;
比如0-2M是真实存在的RAM 2G到2G+128M是真实存在的ROM,那么压缩数据存在2G到2G+128M空间里,解压数据放在0-2M空间里。万一解压数据很大,2M不够放,就可以扩展2M到4M空间
也就是多了2M扩展卡

TOP

引用:
原帖由 samusialan 于 2014-1-14 13:49 发表
可能性前面基本上说了,应该是数据解压缩,从DC开始图形芯片才真正实用地支持纹理压缩,说不定N64就是主要用在这块,提高纹理细节
另外cpu频率和内存带宽有什么关系?怎么会扯到一块
你可以百度一下,这方面内容很多。

TOP

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

你可以百度一下,这方面内容很多。
根本没有你们说的东西,PC的CPU和内存问题是因为技术和成本造成的
同样的你们为什么不用显卡做例子,从来不见有人说显存频率比GPU频率高所以现在的显存都是自动降下来配合GPU的
根本就不能混为一谈,PC内存和显存是分开的,主机却有一体的

TOP

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