打印

求助:用RAM区模拟ROM区的方法

[复制链接]
2343|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongxw999|  楼主 | 2007-5-8 10:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chunyang| | 2007-5-8 13:48 | 只看该作者

不同平台方法不同,而很多平台是无法这么做的

使用特权

评论回复
板凳
lanmp| | 2007-5-8 17:33 | 只看该作者

必须是冯诺依曼结构才行

使用特权

评论回复
地板
conwh| | 2007-5-8 19:57 | 只看该作者

片外的好办

使用特权

评论回复
5
awey| | 2007-5-8 22:37 | 只看该作者

你用的电脑就是

使用特权

评论回复
6
tty1| | 2007-5-9 14:08 | 只看该作者

很简单。

把程序从ROM区拷贝到RAM区,跳转到或调用RAM区。

使用特权

评论回复
7
Roman.Dai| | 2007-5-9 22:19 | 只看该作者

Toshiba的870/C就可以

如6楼所言,将写在ROM中的或EEPROM中的程序读至RAM,置PC指针到RAM就可以了,这样可以降功耗。

使用特权

评论回复
8
杨真人| | 2007-5-14 13:26 | 只看该作者

降功耗?我认为是为了提速。

ROM读速度一般都比RAM慢。串行ROM比并行ROM更慢。
RAM数据位宽是直接与系统总线并列的最少占50%物理位宽才合理。那么真16位系统从RAM取程序至少比从ROM快1倍。加上RAM与ROM的读时间差,这个速度差别将更明显。由于RAM经常在工作,RAM的功耗基本上是稳定的。而ROM不经常工作,在闲时进入低耗状态。因此ROM程序转移到RAM后从RAM执行,提速又降耗。就是要占用一些RAM空间。现在RAM那么便宜,容量也那么大,这个做法很值得考虑。

使用特权

评论回复
9
lanmp| | 2007-5-14 15:21 | 只看该作者

我不知道楼上的是不是打算这么做

不过我见过的都是因为ROM修改不便(不能)才这样的。还有,省不省电我不知道,快是肯定不会的。指令周期都是一样的。

使用特权

评论回复
10
杨真人| | 2007-5-15 00:24 | 只看该作者

楼上的还没见过读ROM时要等的事。

不妨去查一下ROM和RAM的读时续图,比比时间。我本可以帖图来。不过这工夫你自己做吧。
通常读ROM的时间都要比读RAM的时间长,如果用读ROM那个速度去读RAM,事必浪费很多时间。“指令周期都是一样的。”这是同步模式。异步模式需要有READY指示。……不想说了。牵涉太多。

“我不知道楼上的是不是打算这么做”——现在的PC主板没有不这么做的。当然你可以DISABLE这个功能。

使用特权

评论回复
11
tty1| | 2007-5-16 10:23 | 只看该作者

问楼上

对于单片机,在RAM中的执行速度与在ROM中的执行速度应该是一样的吧?
对于单片机,在RAM中的执行能省电吗?

使用特权

评论回复
12
古道热肠| | 2007-5-16 11:31 | 只看该作者

单片机ROM存代码,RAM存变量

   对于单片机系统,ROM一般存放代码,RAM一般存放变量,只有在仿真器中使用RAM来模拟ROM的程序空间。
   普通51单片机无法插入读等待周期,在RAM与在ROM执行代码速度一样,只是ROM速度太慢,单片机晶振频率太高时,会出错的。
 对于单片机ROM和RAM都时用CMOS电路做的话,用电量相当,没有人会因为省电的因素改ROM为RAM。

使用特权

评论回复
13
杨真人| | 2007-5-16 23:03 | 只看该作者

读ROM的时间比读RAM的时间长,有没有异议?

以计算机用的同年份半导体存储器技术相比,读ROM的时间比读RAM的时间长,有没有异议?(欢迎举例)
如果把ROM和RAM都选用同一工作速度,这不是非法的。而且这也恰好是同步模式所需要的。多数单片机(51?)的速度都不怎么高。因此普通70ns速度的ROM和70ns速度的RAM一起工作,可以说是绝配。不用去花心思搞提速,也不在乎牺牲个别部件的性能,更不用为慢速ROM设READY TIME。
不懂提速的不要追问我。你们没到那个阶段。

使用特权

评论回复
14
古道热肠| | 2007-5-18 09:37 | 只看该作者

现在都用Flash作程序存储器

  Flash存储器的读数据很快的,设计系统时,参考典型设计就可以了,不要超频是值得提倡的,嵌入式系统稳定很重要。

使用特权

评论回复
15
杨真人| | 2007-5-20 15:10 | 只看该作者

如果RAM和ROM读速度都一样,那么用RAM模拟ROM

就没有了提速的意义。因此只有修改程序内容的做法才能解释这一行为。
对于那些数据和程序严格分开空间的系统,这样是做不到的。前面已经有人提到过。

使用特权

评论回复
16
Airwill| | 2007-5-20 21:04 | 只看该作者

PSEN_RD 相连(相或)呢

使用特权

评论回复
17
tage| | 2007-5-22 08:28 | 只看该作者

呵呵,这个小问题把杨真人气坏了。

这些天看点ARM的资料,才知道。 啊,原来RAM比ROM可以快的很多。

使用特权

评论回复
18
杨真人| | 2007-5-22 13:53 | 只看该作者

没办法。我已经建议把这里和新手园地合并了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝