GBA的内存其实很大

来源:互联网 发布:python接收post文件 编辑:程序博客网 时间:2024/04/16 22:36

2011-1-10

 

       以前当看到GBAram只用几百KB的时候,感到有点不可思议—怎么那么小啊,根本就不跟GBA游戏精致的界面相称。

       后来注意到GBA使用的的闪存是Nor FalshNor flash是可以按字节访问的,并且读取速度很快。因此,Nor flash完成可以作为GBA的内存来使用,只是这种内存有它自己的特殊性:它上面的内容是固定的,只可读,不可直接写(如果要写的话,必须通过专门的写设备);在它上面的内容是代码和静态数据。因此GBA的内存大小其实是:ram的大小+卡带 Nor flash的大小(最大为32MB),其中ram用又可非为显存和常规内存,常规内存只用作堆栈区、Nor Flash作为静态区使用。

       GBA只使用Nor flash作为它的外在存储载体,这导致它只能是个纯粹的游戏机:因为Nor Flash不可直接写,而且容量相对于NAND Flash是比较小的。这导致GBA的构架跟PC机的构架是存在很大区别:

1.              GBA直接在 Nor Flash运行代码;而PC必需先将代码从外部存储器(如硬盘)读入内存后,才能运行这些代码。

2.              GBA更适合用统一的地址分配方式分配地址,即在地址分配时同时考虑ramNor Flash、各种寄存器;而PC显然不是使用统一地址分配方式的。   

原创粉丝点击