计算机如何区分内存中的程序与数据

计算机如何区分内存中的程序与数据,第1张

通常完成一条指令可分为取指阶段、分析阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;模宏配在执行旦指阶段通过访问存储器可将 *** 作数取出。这样,虽然指令和数据都是以0、1代码形绝橡式存在存储器中,但CPU可以判断出在取指阶段访存取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。

计算机区分指令和数据有以下2种方法:

 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。

 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是 *** 作数。

广义讲,程序也是数据。对于计算机来讲,存储器中存储的都是数据,只是人们的把某渗返些特定的数据让计算机在特定的状态下运行,就是程序。也就是说运行状态的就是程序,非运行状态的就是数据。

在计算机内部,信息都是釆用二进制的形式进行存储运算处理和传输的。信息存储单位有位、字节和字等几种。各种存储设备存储容量单位有KB、MB、GB和TB等几种。

扩展资料

为提高存储器的性能,通常把各种不同存储容量、存取速度和价格的存储器按层次结构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数据按层次分布在各存储器中。

主要采用三级层次结构来构成存储系统,由高速缓冲存储器Cache、主存储器和辅助存储器组成。图中自上向下容量逐渐增大,速度逐级降低,成丛凳饥本则逐次减少。

一个较大的粗核存储系统由各种不同类型的存储设备构成,形成具有多级层次结构的存储系统。该系统既有与CPU相近的速度,又有极大的容量,而价格又是较低的。可见,采用多级层次结构的存储器系统可有效地解决存储器的速度、容量和价格之间的矛盾。

汇编语言中数据和程序在内存单元中存放的时候没有区别,都是二进制信息。

如果cs:ip指向某个内存单元,那么cpu就从这个仔锋单元开始往下执行,所以这里就是指令(程序)。

如果滑戚让用任何一种存储器寻址方式指向某个单元,并且是作为 *** 作数来使用的,那么这就是数据。

其实如果只是单纯看一个内存单元,是无法区分到底是数据还是程序的信局。只能是写程序时,用汇编指令做不同的解释。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12510103.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存