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

[复制链接]
3879|17
 楼主| dongxw999 发表于 2007-5-8 10:16 | 显示全部楼层 |阅读模式
<br />各位大虾,能否帮助小弟找一些用RAM区域模拟ROM区的方法,<br />能把程序写入&nbsp;RAM中,并且能运行。
chunyang 发表于 2007-5-8 13:48 | 显示全部楼层

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

  
lanmp 发表于 2007-5-8 17:33 | 显示全部楼层

必须是冯诺依曼结构才行
conwh 发表于 2007-5-8 19:57 | 显示全部楼层

片外的好办

  
awey 发表于 2007-5-8 22:37 | 显示全部楼层

你用的电脑就是

  
tty1 发表于 2007-5-9 14:08 | 显示全部楼层

很简单。

把程序从ROM区拷贝到RAM区,跳转到或调用RAM区。
Roman.Dai 发表于 2007-5-9 22:19 | 显示全部楼层

Toshiba的870/C就可以

如6楼所言,将写在ROM中的或EEPROM中的程序读至RAM,置PC指针到RAM就可以了,这样可以降功耗。
杨真人 发表于 2007-5-14 13:26 | 显示全部楼层

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

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

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

不过我见过的都是因为ROM修改不便(不能)才这样的。还有,省不省电我不知道,快是肯定不会的。指令周期都是一样的。
杨真人 发表于 2007-5-15 00:24 | 显示全部楼层

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

不妨去查一下ROM和RAM的读时续图,比比时间。我本可以帖图来。不过这工夫你自己做吧。<br />通常读ROM的时间都要比读RAM的时间长,如果用读ROM那个速度去读RAM,事必浪费很多时间。“指令周期都是一样的。”这是同步模式。异步模式需要有READY指示。……不想说了。牵涉太多。<br /><br />“我不知道楼上的是不是打算这么做”——现在的PC主板没有不这么做的。当然你可以DISABLE这个功能。
tty1 发表于 2007-5-16 10:23 | 显示全部楼层

问楼上

对于单片机,在RAM中的执行速度与在ROM中的执行速度应该是一样的吧?<br />对于单片机,在RAM中的执行能省电吗?
古道热肠 发表于 2007-5-16 11:31 | 显示全部楼层

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

&nbsp;&nbsp;&nbsp;对于单片机系统,ROM一般存放代码,RAM一般存放变量,只有在仿真器中使用RAM来模拟ROM的程序空间。<br />&nbsp;&nbsp;&nbsp;普通51单片机无法插入读等待周期,在RAM与在ROM执行代码速度一样,只是ROM速度太慢,单片机晶振频率太高时,会出错的。<br /> 对于单片机ROM和RAM都时用CMOS电路做的话,用电量相当,没有人会因为省电的因素改ROM为RAM。
杨真人 发表于 2007-5-16 23:03 | 显示全部楼层

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

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

现在都用Flash作程序存储器

  Flash存储器的读数据很快的,设计系统时,参考典型设计就可以了,不要超频是值得提倡的,嵌入式系统稳定很重要。
杨真人 发表于 2007-5-20 15:10 | 显示全部楼层

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

就没有了提速的意义。因此只有修改程序内容的做法才能解释这一行为。<br />对于那些数据和程序严格分开空间的系统,这样是做不到的。前面已经有人提到过。
Airwill 发表于 2007-5-20 21:04 | 显示全部楼层

PSEN_RD 相连(相或)呢

  
tage 发表于 2007-5-22 08:28 | 显示全部楼层

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

这些天看点ARM的资料,才知道。&nbsp;啊,原来RAM比ROM可以快的很多。
杨真人 发表于 2007-5-22 13:53 | 显示全部楼层

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

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

本版积分规则

1

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部