当前位置:首页 > 内存 > 正文

内存中存放的既有程序代码有数据

  • 内存
  • 2024-06-08 11:46:20
  • 802

一、指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据指令用于定义“做什么”和“如何做”,数据代表“做”时需要的输入数字。
计算机可以通过两种方式区分指令和数据:时间和空间。从时序上来说,在一个取周期内从内存中取出指令,以及从内存中取出指令或写入内存。在运行循环中,这是数据。在空间方面,指令从内存中取出并发送到控制器。在执行循环中,从存储器接收的数据被发送到算术单元,并将数据写入处理器。内存也来自运算单元。
例如:你想让计算机做1+2=吗?,“+”表示做什么以及如何做,1和2是做这件事所需的初始数字。现在假设在特定处理器中,“+”由二进制数“00000001”表示,“1和2”分别由“00000001、00000010”表示。然后这个程序在内存中的存储方式如下:
XXXX1:00000001
XXXX2:00000001
XXXX3:00000010前面的XXXX1XXXX2
XXXX3代表内存地址
如由上可见,“+”指令与术语完全相同。当然,这是我故意假设的,但实际情况中这种情况大量存在。正常情况下,CPU只能使用内存XXXX1中的00000001作为指令,使用内存XXXX2中的00000001作为项,才能产生正确的结果。那么处理器怎么能不把第二个00000001当作“+”呢?
1.人将内存中的一个特定地址定义为起始地址(也称为复位地址)。即当计算机开机或强制重新启动(即计算机上的重新启动按钮)时。机箱按下时间),CPU立即转到该地址并执行其中的代码作为指令。同时,它根据该指令的长度和格式确定下一条指令的位置。
对于X86系列处理器(即现在人们广泛使用的BenXX和SaiXX系列),复位地址为FFFF0。如果表示为逻辑地址,则其形式为:FFFF:0000。熟悉DEBUG或者知道如何在一些高级语言中嵌入汇编程序的朋友可以实验一下:
使用DEBUG执行指令(这是一条无条件跳转指令):jmp
FFFF:0000或者将此汇编指令插入高级语言中。执行后,你会发现电脑重新启动。其实,用程序控制计算机重启最本质的操作如下。
2.各种指令指示了适当的长度和格式。例如:指令“某个数+特定数”规定该指令的长度为3个字节,其中第一个字节表示“+”,接下来的两个字节表示加数和被加数。因此,当CPU到达这条指令时,它会自动使用第一个代码作为指令,接下来的两个代码作为数据,依此类推,第四个代码必须是指令......
二、内存中存放的既有程序代码又有数据

程序代码和数据都存储在内存中的说法是正确的。

内存是计算机的重要组成部分之一。它由存储芯片、电路板、金手指等部件组成。它是与CPU通信的桥梁。内存也称为内部存储器。其作用是暂时存储CPU中的计算数据,并与硬盘等外部存储器交换数据。

计算机中的所有程序都在内存中运行。内存的运行决定了计算机的稳定运行,因此内存的性能对计算机的影响很大。我们常用的程序,如Windows操作系统、打字软件、游戏软件等,一般都安装在硬盘等外部存储上,但它们的功能不能仅靠它来使用,必须将它们转移到内存中才能真正使用。使用它的功能。

关于内存的常见误解

在描述移动设备内部集成数据存储空间时。例如,一部手机有512G的数据存储空间,很多人形容它为“512G内存”。其实这种说法是错误的,因为所谓的“512G内存”就是外置内存。“内部外部存储器”不能称为“存储器”,因为存储器是一个独特的概念,并且是“内部存储器”的缩写形式。

上一篇:pci插内存

下一篇:内存存放程序代码吗