4825|19

30

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

想了一个脑残问题:为啥单片机要将程序存储和数据存储分开 [复制链接]

总用单片机,也总听说单片机的指令和数据存储分开,为什么那
两者不分开会不会程序执行的更快?
此帖出自单片机论坛

最新回复

这个不是冯诺伊曼和哈佛结构的区别吗? 其实指令和数据在计算机里面都是二进制,没有啥区别,只不过我们把他规定了一条程序哪些部分是操作码哪些部分是操作数而已! 其实你可以用PC指针把一个二进制数强行转换为指令,这也是某些病毒的原理!  详情 回复 发表于 2015-7-22 07:28
点赞 关注
 

回复
举报

1万

帖子

141

TA的资源

版主

推荐
 
因为存储器的类型和速度不同。数据存储属于临时的,要求尽量速度快,RAM正好满足。而指令存储是永久的,不会随时变化,只读即可,所以采用ROM。
此帖出自单片机论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

沙发
 
程序存储和数据存储是什么意思?我感觉你连这两个概念都没分清楚。
此帖出自单片机论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
Aragorn 发表于 2015-7-20 16:07
程序存储和数据存储是什么意思?我感觉你连这两个概念都没分清楚。

蒙蒙的,改了下,指令和数据
此帖出自单片机论坛

点评

表述一样有问题啊,想必你的意思是程序存储在FLASH中,而数据为何放在RAM中吧?又或者是一条操作数据的指令中,指令和数据是分开放的,比如mov #0x03 , reg这样的指令中,数据和指令不是合在一起的?  详情 回复 发表于 2015-7-20 16:20
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

4
 
Breadfruit 发表于 2015-7-20 16:12
蒙蒙的,改了下,指令和数据

表述一样有问题啊,想必你的意思是程序存储在FLASH中,而数据为何放在RAM中吧?又或者是一条操作数据的指令中,指令和数据是分开放的,比如mov #0x03 , reg这样的指令中,数据和指令不是合在一起的?
此帖出自单片机论坛
 
 
 

回复

439

帖子

1

TA的资源

一粒金砂(高级)

5
 
是指哈佛结构和冯诺依曼的区别么?
此帖出自单片机论坛
 
个人签名君应有语,渺万里层云,千山暮雪,知向谁边?
 
 

回复

2万

帖子

0

TA的资源

超级版主

6
 
我猜想楼主的意思是程序存储地址和数据存储地址是分开的两大块。

也有程序存储地址和数据存储地址连续的单片机。这种单片机中,具体某一段地址是程序存储器还是数据存储器由使用者自己规定。程序存储器必须是非易失的,即掉电后不会丢失,但不能随便写入。数据存储器要求随机读写,但掉电后不保留。
此帖出自单片机论坛
 
 
 

回复

1万

帖子

141

TA的资源

版主

8
 
至于说“不分开会不会更快”,一般来说,RAM比ROM快,但RAM无法掉电保持数据,一个利用RAM高速的办法是把ROM中的指令转存到RAM中,再在RAM运行,这确实可以提高运行速度。该技术仅在较高档的MCU中采用,因为RAM的成本远远高于ROM。
此帖出自单片机论坛
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

9
 
Aragorn 发表于 2015-7-20 16:20
表述一样有问题啊,想必你的意思是程序存储在FLASH中,而数据为何放在RAM中吧?又或者是一条操作数据的指 ...

啊,有点困,打不起精神来

你说的后者那个意思,为啥要分开存放
此帖出自单片机论坛
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

10
 
哈哈哈,还是我猜测对了楼主的意图,@maychang ,@chunyang ,@我的学号
楼主问问题也算是出神入化了,问出一个问题引出这么多不同方面的回答。

至于数据和指令分开存放,而不是把数据合在指令中,这个其实很简单吧。无论是指令和数据,最后都是二进制码。而比如8位机中,一个8位数据的范围是0~0xFF,哪还有余量用来表示指令?所以操作数不会融合到指令中,因为你无法分辨一个数据中哪部分表示指令哪部分表示数据,即便能够分辨出,也会降低数据的可表示范围。
此帖出自单片机论坛

点评

人在困的时候,问题都说不清啦,汗死我啦''' 明白了你所说的 谢谢  详情 回复 发表于 2015-7-20 17:51
嗯,我的@怎么没有成功吗?试一下@soso  详情 回复 发表于 2015-7-20 17:28
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

11
 
Aragorn 发表于 2015-7-20 17:25
哈哈哈,还是我猜测对了楼主的意图,@maychang ,@chunyang ,@我的学号
楼主问问题也算是出神入化了,问 ...

嗯,我的@怎么没有成功吗?试一下@soso
此帖出自单片机论坛

点评

刚刚又和我们同事确认了一下: @好友 好友名字会是带链接的文字 @非好友, 不是带连接的问题,但是也能@成功 sorry啊 刚刚误导你啦  详情 回复 发表于 2015-7-20 17:42
你的@是成功的……  详情 回复 发表于 2015-7-20 17:32
加为好友之间 可以相互@ 哈哈  详情 回复 发表于 2015-7-20 17:29
 
 
 

回复

2万

帖子

74

TA的资源

管理员

12
 
Aragorn 发表于 2015-7-20 17:28
嗯,我的@怎么没有成功吗?试一下@soso

加为好友之间 可以相互@ 哈哈

要不某些同志的用户名会被信息淹没的
此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

这样啊,明白了  详情 回复 发表于 2015-7-20 17:38
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

1万

帖子

141

TA的资源

版主

13
 
Aragorn 发表于 2015-7-20 17:28
嗯,我的@怎么没有成功吗?试一下@soso

你的@是成功的……
此帖出自单片机论坛

点评

原来成功了,我看别人@我的时候名字显示为蓝色激活的状态,而我@别人的时候却没有,以为@失败了  详情 回复 发表于 2015-7-20 17:39
 
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

14
 
soso 发表于 2015-7-20 17:29
加为好友之间 可以相互@ 哈哈

要不某些同志的用户名会被信息淹没的

这样啊,明白了
此帖出自单片机论坛
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

15
 
chunyang 发表于 2015-7-20 17:32
你的@是成功的……

原来成功了,我看别人@我的时候名字显示为蓝色激活的状态,而我@别人的时候却没有,以为@失败了
此帖出自单片机论坛
 
 
 

回复

2万

帖子

74

TA的资源

管理员

16
 
Aragorn 发表于 2015-7-20 17:28
嗯,我的@怎么没有成功吗?试一下@soso

刚刚又和我们同事确认了一下:

@好友  好友名字会是带链接的文字
@非好友, 不是带连接的问题,但是也能@成功

sorry啊 刚刚误导你啦
此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

明白了,谢谢。  详情 回复 发表于 2015-7-20 17:44
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

17
 
soso 发表于 2015-7-20 17:42
刚刚又和我们同事确认了一下:

@好友  好友名字会是带链接的文字
@非好友, 不是带连接的问题,但是 ...

明白了,谢谢。
此帖出自单片机论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

18
 
Aragorn 发表于 2015-7-20 17:25
哈哈哈,还是我猜测对了楼主的意图,@maychang ,@chunyang ,@我的学号
楼主问问题也算是出神入化了,问 ...

人在困的时候,问题都说不清啦,汗死我啦'''

明白了你所说的
谢谢
此帖出自单片机论坛
 
 
 

回复

4008

帖子

0

TA的资源

版主

19
 
不太清楚你说的分开指的是什么?
如果51单片机的话程序存储区和数据存储区是完全独立的,两套硬件...51简单.
其它单片机和arm多数是统一编址的,数据存储在特定的地址空间里,程序区和数据区不重叠.
再高级一点的就是带MMU的了,和X86是一个意思,因为有MMU才可以地址映射和多任务共享内存.
此帖出自单片机论坛
 
 
 

回复

1412

帖子

15

TA的资源

版主

20
 
这个不是冯诺伊曼和哈佛结构的区别吗?

其实指令和数据在计算机里面都是二进制,没有啥区别,只不过我们把他规定了一条程序哪些部分是操作码哪些部分是操作数而已!

其实你可以用PC指针把一个二进制数强行转换为指令,这也是某些病毒的原理!
此帖出自单片机论坛
 
个人签名https://bbs.eeworld.com.cn/thread-471646-1-1.html
欢迎加入我的团队
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表