Board logo

标题: N64的CPU寻址能力很差吗?为什么出4M内存卡? [打印本页]

作者: KainX    时间: 2014-1-13 11:56     标题: N64的CPU寻址能力很差吗?为什么出4M内存卡?

一般来说64位的卡带机、卡带那点容量CPU应该可以直接寻址的吧,以N64的机能4M空闲显存+内存为啥会不够呢?SS/PS的CPU都够寻址几百兆了吧?
作者: taxidriver    时间: 2014-1-13 12:33

不是因为运行时内存不够所以才加扩展内存吗?看不明白你的问题
作者: zzbsbb    时间: 2014-1-13 12:53

1、加内存说明寻址能力差?
2、加内存当然是为了增加多边形贴图分辨率从而有更好的画面效果。
3、摘自wiki:扩展卡 - 这是插在控制器扩展记忆槽中的扩展内存卡。它包含4MBRAM存储空间。有少量的游戏支持扩展卡,如完美黑暗(Perfect Dark)和星球大战:侠盗中队(Star Wars: Rogue Squadron);还有一些游戏,如Donkey Kong 64和塞尔达传说:马祖拉的假面(The Legend of Zelda: Majora's Mask),则需要扩展卡方能游玩。使用扩展卡后,支持扩展卡的游戏通常会提供更高的视频分辨率,或是如完美女煞星(Perfect Dark)般解锁100%的游戏内容。扩展卡与一些游戏捆绑发售,也可以单独购买。Mad Catz公司以更便宜的价格发售了名为High Rez Pack的扩展卡,功能与任天堂官方版本相同。
作者: KainX    时间: 2014-1-13 12:54

我的意思是卡带机直接在卡带寻址,不用预读取,如果游戏卡带有64兆,那运行该游戏时N64就差不多是64+4兆内存。不像同期的光盘机、把一个游戏关卡内容读进内存后可能就剩不到1兆内存了。但即便是这样SS/PS仍然可以正常运作,N64要发挥应有机能却还要加内存,除非N64的CPU并不能直接寻址很大的ROM、开局之前不得不像光盘那样读一部分关卡内容到内存里先。
作者: zzbsbb    时间: 2014-1-13 13:48

额。。。卡带只是比CD读取快点,怎么可能当内存用。你买32G内存和你买32GU盘能一个价吗?
作者: yfl2    时间: 2014-1-13 13:54

引用:
原帖由 zzbsbb 于 2014-1-13 13:48 发表
额。。。卡带只是比CD读取快点,怎么可能当内存用。你买32G内存和你买32GU盘能一个价吗?
不是的,nds之前的任天堂主机卡带都是直接寻址的,对于系统卡带就是内存,只不过只能读
作者: 强棒奶娃    时间: 2014-1-13 14:03

4MB还是mb?
作者: zzbsbb    时间: 2014-1-13 15:20

1、早期主机没有扩充槽,所以当某些游戏需要大内存的时候,卡带的主机可以把内存芯片直接集成到卡带里,这时卡带除了作为存储游戏的媒体,还充当了扩展的作用,比如SFC的65c816能对128K的工作内存和在卡匣中“可能存在”的其他内存直接响应。
2、利用这种技术的主机很多,NEOGEO\SS等都可以通过卡带插槽扩充内存。
3、N64已经设计了扩充槽,所以直接利用,不需要在卡带里集成。
4、卡带存储芯片不可能当内存用。
作者: yfl2    时间: 2014-1-13 15:50

引用:
原帖由 zzbsbb 于 2014-1-13 15:20 发表
1、早期主机没有扩充槽,所以当某些游戏需要大内存的时候,卡带的主机可以把内存芯片直接集成到卡带里,这时卡带除了作为存储游戏的媒体,还充当了扩展的作用,比如SFC的65c816能对128K的工作内存和在卡匣中“可能存 ...
不是当内存,而是就是内存,是作为寻址空间中的内容,就是只能读
作者: KainX    时间: 2014-1-13 16:23

不如说卡带是已经存好东西的内存,全部内容都能被CPU直接寻址的话……

回7楼:4MB,PS是1MB显存/2MB内存。
作者: zzbsbb    时间: 2014-1-13 17:11

引用:
原帖由 yfl2 于 2014-1-13 15:50 发表

不是当内存,而是就是内存,是作为寻址空间中的内容,就是只能读
CPU直接读取外部存储上的数据?你们真是高论...
作者: yfl2    时间: 2014-1-13 17:15

引用:
原帖由 zzbsbb 于 2014-1-13 17:11 发表


CPU直接读取外部存储上的数据?你们真是高论...
n64等卡带不是外存,是在总线中的内存,cpu可以直接寻址,所以才有最大卡带容量概念,ds卡带这种才是外存
作者: zzbsbb    时间: 2014-1-13 17:28

引用:
原帖由 yfl2 于 2014-1-13 17:15 发表

n64等卡带不是外存,是在总线中的内存,cpu可以直接寻址,所以才有最大卡带容量概念,ds卡带这种才是外存
那老任神经了放4MB的Rambus RDRAM进主机去
作者: yfl2    时间: 2014-1-13 17:32

引用:
原帖由 zzbsbb 于 2014-1-13 17:28 发表


那老任神经了放4MB的Rambus RDRAM进主机去
被rambus坑的公司还真不少,包括ps3
作者: zzbsbb    时间: 2014-1-13 17:37

引用:
原帖由 yfl2 于 2014-1-13 17:32 发表

被rambus坑的公司还真不少,包括ps3
而且,一般来说1类型的CPU只支持一种内存,比如DDR\DDR2\DDR3,不能混插,意思是10多年前的N64的CPU还支持高低不同的内存混插?我觉得你这个卡带做内存的说法相当的不靠谱。卡带存储颗粒的价格和内存是天上的地下,当年更是如此,主流的PC也就是8MB内存,全部配下来要16000多,到97年底超高端的PC内存配置也就32MB而已,N64的很多卡带都有32MB,平均价格大概70美金,这是不可能的。
作者: yfl2    时间: 2014-1-13 17:39

引用:
原帖由 zzbsbb 于 2014-1-13 17:37 发表


而且,一般来说1类型的CPU只支持一种内存,比如DDR\DDR2\DDR3,不能混插,意思是10多年前的N64的CPU还支持高低不同的内存混插?我觉得你这个卡带做内存的说法相当的不靠谱。卡带存储颗粒的价格和内存是天上的地下 ...
ram和rom,但都是内存,只不过前者价格高可读写,后者价格相对低只读
作者: zzbsbb    时间: 2014-1-13 17:48

哎,这个问题不讨论了,我以上指的是RAM(RAM-RamdomAccessMemory)。而且这2个东西分工都不一样。
作者: yfl2    时间: 2014-1-13 17:54

引用:
原帖由 zzbsbb 于 2014-1-13 17:48 发表
哎,这个问题不讨论了,我以上指的是RAM(RAM-RamdomAccessMemory)。而且这2个东西分工都不一样。
总之以前的卡带都是可以由cpu通过总线直接寻址的,ds这类开始才是外存
作者: SSforME    时间: 2014-1-13 18:00

第一,卡带的确是可以由CPU直接寻址的,但这和CPU能力无关,只和地址总线有关

第二,加内存的原因是:我有1M的压缩数据可以直接寻址,但我需要解压才能正常使用;那么解压后的数据放哪里呢?显然不能是ROM,只能放内存,如果数据过多,内存不够就要用扩展卡了
作者: yangjuniori    时间: 2014-1-13 18:33

posted by wap, platform: Galaxy S II

任天堂确实超前  现在储存成本低多了
作者: KainX    时间: 2014-1-13 19:01

引用:
原帖由 SSforME 于 2014-1-13 18:00 发表
……

第二,加内存的原因是:我有1M的压缩数据可以直接寻址,但我需要解压才能正常使用;那么解压后的数据放哪里呢?显然不能是ROM,只能放 ...
CPU能对压缩数据直接寻址那就不用解压缩;
需要解压才能使用那就说明CPU只能对解压之后的数据寻址,这种情况才需要额外内存放解压之后的数据。
N64是哪种情况?
作者: KainX    时间: 2014-1-13 19:12

引用:
原帖由 zzbsbb 于 2014-1-13 17:37 发表


而且,一般来说1类型的CPU只支持一种内存,比如DDR\DDR2\DDR3,不能混插,意思是10多年前的N64的CPU还支持高低不同的内存混插?我觉得你这个卡带做内存的说法相当的不靠谱。...
内存混用这种情况确实少见,但很早之前就有,SS就是:一共2MB内存,1MB高速SDRAM、1MB低速DRAM。
作者: yfl2    时间: 2014-1-13 20:46

另外游戏机多种内存非常常见啊,远的不说,ps2,ngc,wii,ps3全都用了多种内存,这些还都是光碟机
作者: conda    时间: 2014-1-13 21:04

引用:
原帖由 KainX 于 2014-1-13 12:54 发表
我的意思是卡带机直接在卡带寻址,不用预读取,如果游戏卡带有64兆,那运行该游戏时N64就差不多是64+4兆内存。不像同期的光盘机、把一个游戏关卡内容读进内存后可能就剩不到1兆内存了。但即便是这样SS/PS仍然可以正常 ...
理论上 CPU 可以对卡带直接寻址,80年代之前的机器基本都是这样工作的。

但是,ROM 芯片存在一个问题,就是读取速度难以提高,远远慢于 RAM 和 CPU 芯片的速度发展。因此,90年代以后的电脑,大多要把 ROM 中的内容拷贝到 RAM 中运行。不知你注意过吗,很多 PC 电脑的 BIOS 设置中有一项 SHADOW,就是把 BIOS 的内容拷贝到内存中来加快运行速度。

N64、GBA、还有 90年代中期以后的很多街机,都把 ROM 当作电子盘来用,需要运行到哪个代码片段,就先把它拷贝到 RAM 中。

[ 本帖最后由 conda 于 2014-1-13 21:07 编辑 ]
作者: zzbsbb    时间: 2014-1-13 21:08

引用:
原帖由 yfl2 于 2014-1-13 20:46 发表
另外游戏机多种内存非常常见啊,远的不说,ps2,ngc,wii,ps3全都用了多种内存,这些还都是光碟机
多种内存包括了主内存、CPU缓存、显存或者声卡用的缓存等,我说的是CPU用的主内存。
作者: yfl2    时间: 2014-1-13 21:10

引用:
原帖由 conda 于 2014-1-13 21:04 发表


理论上 CPU 可以对卡带直接寻址,80年代之前的机器基本都是这样工作的。

但是,ROM 芯片存在一个问题,就是读取速度难以提高,远远慢于 RAM 和 CPU 芯片的速度发展。因此,90年代以后的电脑,大多要把 ROM 中 ...
我觉得rom的读速度未必慢吧,最典型的就是gba烧录卡,像sccard的原理是将游戏整体从sd卡载入烧录卡自带sdram,然后仿真成游戏卡,但由于sc用的sdram速度比较慢,所以gba游戏有些会拖慢,而同样类型的卡用了比较快的内存,比如m3的烧录卡,就没有这个拖慢了
这说明了正版卡的读取速度已经比sc中的sdram快了

[ 本帖最后由 yfl2 于 2014-1-13 21:14 编辑 ]
作者: yfl2    时间: 2014-1-13 21:12

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


多种内存包括了主内存、CPU缓存、显存或者声卡用的缓存等,我说的是CPU用的主内存。
这也不稀奇啊,游戏机本来就是设计成这样的,卡带总线本来就是核心,不然像外挂加速芯片根本不可能,所以cpu被设计成能支持这样的寻址是基本的
作者: zzbsbb    时间: 2014-1-13 21:19

引用:
原帖由 yfl2 于 2014-1-13 21:12 发表

这也不稀奇啊,游戏机本来就是设计成这样的,卡带总线本来就是核心,不然像外挂加速芯片根本不可能,所以cpu被设计成能支持这样的寻址是基本的
你可以举例说明,至少我没看到,而且ROM速度那么慢,老的SFC这些还不觉得如何,像SFC的65c816的运行速度是3.58MHz,在读取卡带中ROM的时候必须降低运行频率来读取,否则不能读取,N64的CPU频率那么高,所以才需要RAM作为CPU和ROM之间的一个通道,有车没有路怎么跑?
作者: yfl2    时间: 2014-1-13 21:22

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

你可以举例说明,至少我没看到,而且ROM速度那么慢,老的SFC这些还不觉得如何,像SFC的65c816的运行速度是3.58MHz,在读取卡带中ROM的时候必须降低运行频率来读取,否则不能读取,N64的CPU频率那么高,所以才需要R ...
问题是,事实上卡带确实是由cpu直接读取的,而不是外部储存,最后rom是不是被mapping了,这我不知道
作者: conda    时间: 2014-1-13 22:02

引用:
原帖由 yfl2 于 2014-1-13 21:10 发表

我觉得rom的读速度未必慢吧,最典型的就是gba烧录卡,像sccard的原理是将游戏整体从sd卡载入烧录卡自带sdram,然后仿真成游戏卡,但由于sc用的sdram速度比较慢,所以gba游戏有些会拖慢,而同样类型的卡用了比较快的 ...
sdram 的接口协议 与 GBA 的卡带接口协议差别较大,因此二者之间要加一套转换逻辑电路。这套转换逻辑是否优化,会影响读取延迟。
事实上,即使最慢的 sdram 也有 66MHz,而 gba 的 cpu 速度只有 16MHz。
作者: KainX    时间: 2014-1-13 22:26

那时CPU频率低于内存是很常见的吧,N64还不就是,CPU是93.75MHz、内存有500MHz。
不过说起ROM读取速度,不见得就比RAM慢吧,有数据吗?
作者: zzbsbb    时间: 2014-1-13 23:06

大概看了以下N64用的是UMA的总线架构(统一内存架构),这种架构对带宽要求非常高,一般传输的速度要求有200MB/s以上,突出的3D性能更需要300~400MB/s或更多。虽然没有关于N64的ROM的读取速度的数据,但肯定没有那么快吧。
作者: abcdhopy    时间: 2014-1-13 23:13

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

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

posted by wap, platform: Galaxy S II

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

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

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

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

引用:
原帖由 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的原装正版卡用的高速芯片,就不需要大容量内存了。
作者: goodboykiki    时间: 2014-1-14 11:53

但是DS时代开始,卡带是外存了,类似U盘的东西,包括3DS和PSV也是。
作者: yfl2    时间: 2014-1-14 11:58

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


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

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

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

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

引用:
原帖由 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扩展卡
作者: zzbsbb    时间: 2014-1-14 14:55

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

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

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

引用:
原帖由 SSforME 于 2014-1-14 14:15 发表



CPU能对压缩数据直接寻址那就不用解压缩---不解压怎么使用?

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

...
这个我没明白,所谓使用不就是被CPU寻址吗,如果CPU能直接寻址压缩数据、那还解压它干什么?

说起来CPU真的可以直接寻址压缩数据?我记得有个超任游戏《天外魔境ZERO》、用到特殊芯片SPC7110专门做数据压缩,一般就算ROM中数据是压缩过的、也需要什么处理器来解压吧,如果解压也是由主CPU来做那效率是不是过低,用高速RAM/ROM还有什么意义?
作者: yfl2    时间: 2014-1-14 16:20

引用:
原帖由 KainX 于 2014-1-14 16:14 发表

这个我没明白,所谓使用不就是被CPU寻址吗,如果CPU能直接寻址压缩数据、那还解压它干什么?

说起来CPU真的可以直接寻址压缩数据?我记得有个超任游戏《天外魔境ZERO》、用到特殊芯片SPC7110专门做数据压缩,一 ...
你也能看rar压缩包,问题是不解压怎么看rar中的图片呢...
作者: KainX    时间: 2014-1-14 16:35

刚才查了一下,CPU好像可以寻址加密数据,那么也应该可以直接寻址压缩数据。看来你们说的使用是指读取到RAM里那部分。

那么从压缩的数据中寻址应该比从不压缩的数据中寻址要慢吧?
作者: szxyz    时间: 2014-1-14 20:14

32bitCPU理论寻址能力是4G,那时哪来G级的内存?
64bit CPU 理论寻址能力过T的,但是内存贵,所以放4M。

还有那个ROM虽然是直接寻址,但是放的或许是素材,还有一般的,ROM的读取速度比RAM慢,即使当“只读内存”用,速度不可比的。
作者: 聋则嗅明XP    时间: 2014-1-14 22:06

posted by wap, platform: Android

你们想多了,加速卡只是方便零时存放需要重复读取的数据而已,就是个缓存,个别支持的游戏在程序内已经内置了需要利用缓存的数据清单,所以只有特定支持的游戏才能用,另外我猜想卡带容量限制,导致大量数据被压缩存放,释放时需要大量的ram来存放。
作者: KainX    时间: 2014-1-15 18:12

所以结论就是N64的卡带用法跟光盘机读光盘一模一样,也要先把数据读到内存里、完全没有用到直接寻址ROM的优势……
作者: conda    时间: 2014-1-15 20:04     标题: 回复 51# 的帖子

正解。因为常规的 ROM 芯片速度远跟不上 N64 的 CPU 速度,直接寻址运行的话会严重拖后腿。
作者: goodboykiki    时间: 2014-1-15 20:28

引用:
原帖由 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 编辑 ]
作者: goodboykiki    时间: 2014-1-15 20:57

引用:
原帖由 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 编辑 ]
作者: zzbsbb    时间: 2014-1-15 21:28

引用:
原帖由 goodboykiki 于 2014-1-15 20:57 发表

不是一个单位是MHZ,一个单位是MB/S么?不是一个概念吧?
MHZ的意思是百万个HZ,HZ就是一次。
而MB/S的意思是百万个字节一秒。
真要换算的话,N64的CPU是64BIT,即一次寻址64位,64位=8个字节,查维基知道N64的 ...
人家问CPU速度和内存带宽的关系,你这不是已经说明有关系吗?
内存可以看作是与CPU之间的桥梁或与仓库。内存的容量决定“仓库”的大小,而内存的带宽决定“桥梁”的宽窄,两者缺一不可,这也就是常常说道的“内存容量”与“内存速度”。除了内存容量与内存速度,延时周期也是决定其性能的关键。当CPU需要内存中的数据时,它会发出一个由内存控制器所执行的要求,内存控制器接著将要求发送至内存,并在接收数据时向CPU报告整个周期(从CPU到内存控制器,内存再回到CPU)所需的时间。
至于你列举的N64CPU带宽的计算方式我不清楚是否准确,因为N64是UMA(统一内存架构)除了CPU,显卡也共享这个内存,显卡的带宽需求就不清楚是多少了。卡带带宽其实也不用查了,96年的ROM也不可能达到250MB/S。

[ 本帖最后由 zzbsbb 于 2014-1-15 21:36 编辑 ]
作者: 诗诺比    时间: 2014-1-16 14:41

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

例子很多,比如GBA,当年烧录卡为什么不拖慢的那么贵,因为原装卡是用了NOR FLASH,一种读取速度超高而写入速度慢的芯片,这种就是作为GBA内存的,要不然就GBA那300多K的内存+显存,能搞出这么华丽的GBA游戏画面? ...
GBA原装卡带 是MASK ROM...是只能写入一次的, 并不是NOR FLASH, EZ系列, GBALINK, ELINK系列的烧录卡才有NOR FLASH.
NOR FLASH是可以直接寻址运行程序的, 可以代替 MASK ROM. 这种烧录游戏慢, 但载入游戏快, 因为并不需要真正载入过程.

但SC烧录卡并没有NAND, 是插 CF/SD/MINISD/TF卡的, M3也是插闪存卡的,
运行游戏前先载入ROM数据到烧录卡的PSRAM/SDRAM里, 这样来代替GBA 的ROM...
SC拖慢是因为PSRAM读取速度不够快...
EZ4 M3 GBALINK ZIP2这些也都有PSRAM, 但并不拖慢...
ps. EZ4 是同时具有 PSRAM, NOR FLASH,又能插卡的烧录卡,缺点是开机备份存档太慢了...慢到想睡觉
G6L才是有NAND的, 但并不从NAND中运行, 而是加载到PSRAM中运行, G6L和M3本质是差不多, 区别一个内置NAND, 一个外置插卡

插TF卡本质上和NAND的区别不大
作者: 铁甲飞龙09    时间: 2016-8-23 19:35

posted by wap, platform: iPhone
真想知道n64的真实机能,做成cdrom会不会更强?
作者: 卖哥    时间: 2016-8-23 19:51

引用:
原帖由 铁甲飞龙09 于 2016-8-23 19:35 发表
posted by wap, platform: iPhone
真想知道n64的真实机能,做成cdrom会不会更强?
想没有损失,那光驱需要自带64M内存。
在当时,会超贵。
作者: 坳由根    时间: 2016-8-23 21:19

楼主你想想,现在的安卓机有几十G的tf卡可以用,为啥还要4g内存~

寻址能力这么烂?
作者: ttk    时间: 2016-8-23 22:52

posted by wap, platform: Samsung
引用:
原帖由 @abcdhopy  于 2014-1-13 23:13 发表
因为RAMBUS当时相当贵,所以任天堂搞了这么个东西,希望以后便宜后可以大量使用。N64这机器就是个奇葩,性能不错,但卡带容量太小了,搞得3D贴图很差。我当时觉得除了画面干净点真不觉得比PS好在哪里。
要不你再回忆一下PS那个人脸都分不起清、四处抖动的乐色3d画面?
作者: werety    时间: 2016-8-24 00:18

早年在网络上看到过关于n64的文章,说该主机设计之初要求的画面效果是需要8MB内存的,但是因为rambus成本太高,还有发热问题有待解决,直接上8MB不太现实,就缩减了内存容量,不过在主板设计上为以后的内存扩展留下了后门,待成本降低,质量稳定之后再推出扩展内存
作者: 0瞎子0    时间: 2016-8-24 07:14

翻版虚拟内存。。。。。。
作者: 飞人乔丹    时间: 2016-8-24 09:50

n64没办法搞复杂贴图,任天堂初中期的n64游戏都有大色块巧妙的掩盖了这个问题
作者: abrina    时间: 2016-8-24 10:15

4M那个卡不是显存扩展卡吗
作者: lmhaitt    时间: 2016-8-24 14:54

可以说明白一点吗?
作者: sceic    时间: 2016-8-26 13:49

想想那个时候真是苦逼,4兆,能干嘛呢....
作者: 昵称无效    时间: 2016-8-26 20:32

posted by wap, platform: Chrome
n64卡带读取速度最高12MB/S,4MB扩展卡是一体化的内存,可用于显存、内存、声存随便什么地方,n64工作的时候会不停steam数据进主内存
贴图问题是设计失误,可用容量只有3KB,只能糊成屎一样




欢迎光临 TGFC Lifestyle (http://tgfcer.com/) Powered by Discuz! 6.0.0