QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4837|回复: 31

GBA的CPU架构VS模拟器的主频要求!小手之迅捷大臂所不及

[复制链接]
发表于 2005-3-3 18:31:40 | 显示全部楼层 |阅读模式
大家看:这是GBA的硬件系统
[code:1]
6.1. GBA系统
CPU 32位RISC CPU(ARM7TDMI)/16.78MHz 兼容性 集成8位CISC CPU兼容于GBC,但是不能和GBA的CPU同时工作
内存 系统ROM  16K字节(GBC是2K)
工作RAM 32K字节+CPU外部256K字节(2倍周期)
VRAM 96K字节
OAM 64位×128
调色板RAM 16位×512(256色用于精灵,256色用于背景)
卡带记忆体 最多32M ROM或闪存+最多512Kbit SRAM或闪存
显示 240×160×RGB点、32,768色模拟显示、带有应将加速,支持旋转(rotation)、缩放(scaling)、Alpha渲染(alpha blending)、镶嵌(mosaic);6种屏幕模式,分别为Mode0-Mode5。
操作 控制键(A、B、L、R、START、SELECT和方向键)
声音 4声道(相应于GBC的声道)+2个CPU直接声道(PCM格式)
通讯 串口通讯(8位/32位、UART、多玩家、多用途、JOY总线)
卡带 同DMG和GBC一样,GBA的卡带使用32针接口,GBA自动检测插入卡带的类型并切换GBC或GBA模式。GB卡带、GB/GBC双重模式卡带、GBC专用卡带、GBA专用卡带都可以在GBA系统上使用。
[/code:1]
大家再看,这是VisualBoyAdvance模拟器的硬件最低配置要求:
[code:1]
System requirements
-------------------

Windows: PIII 500Mhz machine for GBA emulation. GB emulation requires far less.

Linux: minimum requirement should be similar to Windows version. SDL 1.2.2
       runtime library must be installed prior to running the program. You can
       download it from http://www.libsdl.org
[/code:1]
请问这是为什么?稍微有些差倒是可以理解,不过这个CPU主频的对比反差也太大了!大家有何看法?
发表于 2005-3-3 19:33:37 | 显示全部楼层
嘿嘿 游戏机 与PC机的差别
回复

使用道具 举报

发表于 2005-3-3 19:40:59 | 显示全部楼层
正常,要模拟某一硬件,必须有10倍于被模拟硬件的性能。
回复

使用道具 举报

 楼主| 发表于 2005-3-3 22:04:19 | 显示全部楼层
正常,要模拟某一硬件,必须有10倍于被模拟硬件的性能。

为什么要这样多?而且已经不只10倍了,16M的GBA速度竟然要500M 奔三速度来模拟!
我想如果真的要做到100Mhz的CPU模拟GBA也不是不可能,只是没有人愿意投入更多精力去钻研这个技术吧!
能够模拟出来gba想必也是不容易了,作者当然是希望在硬件宽裕的条件下,尽量少投入精力了,你们说是吗?
回复

使用道具 举报

发表于 2005-3-4 08:43:48 | 显示全部楼层
我想如果真的要做到100Mhz的CPU模拟GBA也不是不可能,只是没有人愿意投入更多精力去钻研这个技术吧!
能够模拟出来gba想必也是不容易了,作者当然是希望在硬件宽裕的条件下,尽量少投入精力了,你们说是吗?

完全不同意,建议楼主对这个主题多搜索相关资料
回复

使用道具 举报

 楼主| 发表于 2005-3-4 09:17:53 | 显示全部楼层
[quote:86de7c03b2="llc"]
我想如果真的要做到100Mhz的CPU模拟GBA也不是不可能,只是没有人愿意投入更多精力去钻研这个技术吧!
能够模拟出来gba想必也是不容易了,作者当然是希望在硬件宽裕的条件下,尽量少投入精力了,你们说是吗?

完全不同意,建议楼主对这个主题多搜索相关资料[/quote]
这个似乎比较难找到明确关键词,能提供一两个关键词吗?
回复

使用道具 举报

发表于 2005-3-4 09:22:13 | 显示全部楼层
CPU不能完全看主频的。模拟的时候还有架构啊,等等的问题。毕竟是模拟,而不是移植。
回复

使用道具 举报

 楼主| 发表于 2005-3-4 09:27:52 | 显示全部楼层
GBA的CPU架构怎么强也不会强过奔3吧,这个我一开始就考虑过了。照理只有更节省资源才对。
回复

使用道具 举报

 楼主| 发表于 2005-3-4 09:48:27 | 显示全部楼层
[quote:d489f02489="sejishikong"]CPU不能完全看主频的。模拟的时候还有架构啊,等等的问题。毕竟是模拟,而不是移植。[/quote]
原来模拟和移植的区别是这样的,好像有一点领悟了,不过还是觉得模拟器应该做的更轻量级些,已经看到国外网站上有PS2的模拟器了,不知道要怎样的绝顶配置才能玩。
回复

使用道具 举报

 楼主| 发表于 2005-3-4 10:03:12 | 显示全部楼层
回sejishikong:
虽然模拟和移植有差别,不过模拟就应该要比移植更耗资源吗?
一台P2 233M的笔记本电脑
就连GBA能玩的游戏也玩不出来啊#_#||
回复

使用道具 举报

发表于 2005-3-4 10:15:26 | 显示全部楼层
PS2的模拟器,应该3G左右的电脑就行,现在没有x-box的,如果有,我想的话,应该要求相对较低。就是架构的原因。
回复

使用道具 举报

 楼主| 发表于 2005-3-4 10:46:00 | 显示全部楼层
[quote:35fb79e352="sejishikong"]PS2的模拟器,应该3G左右的电脑就行,现在没有x-box的,如果有,我想的话,应该要求相对较低。就是架构的原因。[/quote]
玩PS2竟然要这么高的配置?!就好像,到深海去捕鱼,司令决定开架航空母舰去一样:)看来电脑还是玩电脑的游戏比较物尽其用¥_¥
回复

使用道具 举报

发表于 2005-3-4 16:09:56 | 显示全部楼层
一层操作系统,一层CPU模拟器,顺便显示芯片,DMA等都要给模拟了,还有键盘,由于显示屏幕差劲,游戏里的图形格式也马马虎虎,所以显示到电脑屏幕上要经过优化,16M RISC,都快赶上NeoGeo了,需要配置能不大吗?
回复

使用道具 举报

 楼主| 发表于 2005-3-4 21:42:28 | 显示全部楼层
[quote:816459b996="CyberBlue"]一层操作系统,一层CPU模拟器,顺便显很好啊示芯片,DMA等都要给模拟了,还有键盘,由于显示屏幕差劲,游戏里的图形格式也马马虎虎,所以显示到电脑屏幕上要经过优化,16M RISC,都快赶上NeoGeo了,需要配置能不大吗?[/quote]
说地极好啊!似乎专门研究过!:)知道了~~原来那么多程序代码都花在“硬件变形”上了,不过这真的是一件痛苦而且吃力的事情啊!要把好好的奔三CPU架构硬生生地模拟成GBA的CPU架构,就好比把好好的航母改装成捕鱼船,是多么痛苦!我想如果可以脱离硬件模拟,对GBA游戏进行破解,所有接口都用PC机CPU的接口带替!那时多么好的理想!不过似乎也很困难,就好象儿子穿老爸的衣服,小手永远穿不进大袖子一样。
回复

使用道具 举报

发表于 2005-3-4 22:07:47 | 显示全部楼层
RISC PC 和 CISC PC是完全不一样的哦。RISC的意思是 Reduced Instruction Set Computer
CISC的意思是  Complex Instruction Set Computer 两个的指令结构都不一样。我个人认为RISC要比CISC先进得多。

据一个例子,比如CPU中有4个register: a, b, c, d。
如果要把他们的值移动到另外一个去,在CISC中就需要 (假定一下为汇编语言)
movab:  a <- b
movba:  b <- a
movac:  a <- c
movca:  c <- a
.....
.....
.....

一共12条指令,而RICS的工作原理是:
mov(x, y)
一条指令就够了,其中x和y可以是任意的 a, b, c, d register。

还有一个区别就是Inter的CPU的PIPE-LINE很长,如果程序里的逻辑指令太多的话,就会变得很慢,而ARM的CPU的PIPE-LINE很短

比如说:
要运行下面的一个程序(假定为汇编语言)
GOTO A:
    ....
    ....
    ....
    ....
    ....
  (n 行)
A:DISPLAY a;

比如inter cpu 有10条PIPE-LINE
fetch    fetch    fetch    fetch    fetch    fetch    fetch    fetch    process   execute
每一个时钟周期运行一次,刚才的程序就会差错率
CL P0        P1        P2       P3        P4       P5        P6        P7        P8           P9
      fetch    fetch    fetch    fetch    fetch    fetch    fetch    fetch    decode   execute
1    line1
2    line2   line1
3    line3   line2    line1
4    line4   line3    line2    line1
5    line5   line4    line3    line2    line1
6     .............
7     .............
8     .............
9     line9   line8    line7    line6   line5   line4    line3     line2   line1                     ------    这时发现要跳转,要从新获取N+1条指令
10   line10 line9   line8    line7    line6   line5   line4    line3     line2      line1      ------    执行跳转
11   linen+1

也就是说PIPE-LINE 越多就瞬时的时间就越多。

所以说对于不同结构的CPU不能光看他的时钟频率来比较他们的运行速度的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 10:28 , Processed in 0.052414 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表