程序代码和数据内容是怎么被分开的!

来源:百度知道 编辑:UC知道 时间:2024/06/10 19:58:23
请专家分析分析,我现在在了解处理器!
你是从软件分析的角度来看的啊!要从硬件的角度来看,cpu取指令端口时从高速稳存读取的,这个过程有是是考软件上的指令来执行的!但是处理器总是从零开始的啊!要有基础程序来引导它啊!比如说图象它是数据,用程序来调用它!程序和数据在总线里怎么区分的!或者在寄存器里面怎样被区分的!还是机器代码只有多少位!和数据流的传位有区别还是什么!你从表面分析我早知到了!还不够深入的!但还是谢谢你啊!

根据其在内存中的地址吧

[补充一]
是你自己没问清楚吧。

怎样区分程序和数据的!它们都是二进制数据啊!
这个问题不是程序代码和数据的问题
而是指令和数据的问题
指令和数据是应用上的概念
他们在存储器里都以二进制信息的形式存储,至于他是指令还是数据,只有人才知道,所以你说他是数据就是数据,说它是指令就是指令,这是对人(编程者)来说的。
计算机是如何理解指令和数据呢?
这涉及到cpu的时序问题,从时间上来说,取指令事件发生在指令周期的第一个周期中,即发生在执行指令的阶段。从空间上来说,如果取出的代码是指令,那么一定送往寄存器,如果取出的代码是数据,那么一定送往运算器。cpu就是根据时序周期来辨认哪些是指令哪些是数据。

[回答]
内存分配:
对于一个进程的内存空间而言,可以在逻辑上分成3个部份:
1.代码区
2.静态数据区
3.动态数据区
其中1和2很简单就不解释了,3.动态数据区一般就是“堆栈”。“栈(stack)”和“堆(heap)”是两种不同的动态数据区,栈是一种线性结构,堆是一种链式结构。

悉雨辰寂