关于计算机和单片机程序执行过程的几个问题

计算机或单片机之所以能执行一些程序,是因为我们认为的给它的储存器写入程序。我的问题是:1.计算机如何读取存储器的一条程序并开始执行的呢(整个过程希望能详细一点)?2.我刚... 计算机或单片机之所以能执行一些程序,是因为我们认为的给它的储存器写入程序。
我的问题是:
1.计算机如何读取存储器的一条程序并开始执行的呢(整个过程希望能详细一点)?
2.我刚接触单片机,我们是程序烧到flashrom里面,然后cpu调用执行。FlashROM里有很多地址,我们在烧程序的时候能否自己设定地址呢?如果能,cpu、又是如何检测到main函数所在的物理内存呢?
3.我理解的存储器相当一剧场里一个一个座位,每个座位都会有个编号,相当于储存器的物理地址,那我们能不能在一块FlashROM中烧两个程序(分别在不同物理地址,没有覆盖),让cpu执行完一条程序后在执行下一条?
展开
 我来答
百度网友535d8d4
2012-07-23
知道答主
回答量:18
采纳率:0%
帮助的人:9万
展开全部
1,计算机有地址总线、数据总线,计算机一上电就从一个固定的地址取第一条指令,这一条指令一般为跳转指令。接下来计算机就会不停的取指令、执行指令,这些工作一般为流水线结构。每条指令取完后,去哪里取下一条指令,这个是CPU自动完成的,写C语言的同学就不用管了。
2,烧程序的时候,C语言不能自定义代码段要放的位置,汇编是可以的。main函数的地址是由编译噐决定的,汇编时可以自己决定。
3,烧多个程序是可以的,但是CPU的结构决定了CPU就只有一个入口,所以你的代码只能有一个main函数。两个或以上的源程序只有一个能够正确的执行,另一点永远也不会执行。你已经确定了执行一个后再执行另一个,为什么不把两个程序写成两个函数呢?
bjxyz
2012-07-24 · TA获得超过2900个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:420万
展开全部
不说复杂的往简单说
1、有个程序指针,里面开机的时候是全0,也就是全是低电平,把这个信号送到程序存储空间里去,程序存储器里有且只有一个数据地址是全0的,这时,这个00..00存储单元就被“激活”(使能)了,其他所有的存储单元都被“屏蔽”了,并且把总线释放了(总线是连在一起的),被激活的这个存储单片呢就把里面的数据(也是高低电平)往总线上送,该拉高的拉高,该拉低的拉低。CPU这边呢从总线上把信号送到什么译码器里去,判断下面要干什么,比如是两个数相加,就去两个数各自的存储空间里取数,然后一加,指令执行完以后把程序指针加上这一条指令的长度,让他指向下一条指令。
2、能啊。亲,学了汇编不?一开始不是有个ORG 0000H LJMP XXX的什么的啊,用C语言不知道这些,编译器都帮你搞定了。ORG 0000h 就是说把下面的指令放到0x0000开头的存储空间去。之后一个跳转指令跳到MAIN函数所在的地址。
3、没看懂,如果你写了两个函数,在存储区里不就类似有两个程序了?地址也不冲突。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengyu2501
2012-07-21 · TA获得超过605个赞
知道小有建树答主
回答量:1995
采纳率:0%
帮助的人:980万
展开全部
计算机或单片机之所以能执行一些程序,是因为我们认为的给它的储存器写入程序。
这个就是错误的 应该说是他们可以从储存器里将程序读入内存 或者运算器中
1 计算机如何读取存储器的一条程序并开始执行的呢 这个要是每一步都说可以写3部以上的书
2FlashROM里有很多地址,我们在烧程序的时候能否自己设定地址呢 这个可以没问题
这个是通过特定的协议 来的 cpu检测买你函数的位置 这个是需要看单片机的寻址模式来确定的
3 这个 你的理解只到了表面 是的 可以说和剧场一样但是 他们还存在一种指针关系 就和票一样 可以在rom中烧多个程序 这个是没问题的有些时候 他们都可以同时被执行
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpstudio2003
2012-07-23 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:102万
展开全部
1.使用PC指针读
2.main之前会有跳转程序,编译软件自动完成了。keil里可以看到。
3.可以。

5分就这样回复吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式