cpu如何区别指令和数据,它们不都是二进制存储在计算机内么?
答案:4 悬赏:60 手机版
解决时间 2021-11-29 09:30
- 提问者网友:我是女神我骄傲
- 2021-11-28 14:03
cpu如何区别指令和数据,它们不都是二进制存储在计算机内么?
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-11-28 14:17
计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。
随便指令和数据存放的格式一样,但是访问他们的时机不同 ,在取指令时期,cpu通过指令流取指令,存放在指令寄存器, 然后解释并执行指令,在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
其实很简单,在取指令周期取得就是指令,读数据周期读的就是数据了。
把指令和数据分开放是为了安全和逻辑结构清晰。
随便指令和数据存放的格式一样,但是访问他们的时机不同 ,在取指令时期,cpu通过指令流取指令,存放在指令寄存器, 然后解释并执行指令,在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
其实很简单,在取指令周期取得就是指令,读数据周期读的就是数据了。
全部回答
- 1楼网友:轻熟杀无赦
- 2021-11-28 15:38
计算机的操作主要是以 控制器和运算符下来进行的, 你说的是对的, 计算机也确实都是2进制下完成 控制器发出的指令,而控制器就是CPU 总体来讲就是 你输入的命令会传到 控制器那里也就是CPU,这里CPU并不知道这是什么命令,
之后到控制器这里它会识别出来是要存取东西还是....在发出指令给控制器。控制器接到指令,在命令运算符以2进制作出计算,
这里强调 命令和指令是不一样的。
之后到控制器这里它会识别出来是要存取东西还是....在发出指令给控制器。控制器接到指令,在命令运算符以2进制作出计算,
这里强调 命令和指令是不一样的。
- 2楼网友:怀裏藏嬌
- 2021-11-28 14:49
指令是有专门指令集的,与数据有区别的。
- 3楼网友:动情书生
- 2021-11-28 14:41
分两个方面说:
1可执行文件的角度:可执行文件分为许多段,一般.text存放代码,.data段存放数据,不同段是有不同属性的,例如.text段的属性是可执行的。这样就区别了代码和数据。
2.CPU指令有一个格式,一个指令包括了操作码(对应你的指令)和操作数(对应你的数据),而指令本身相对格式是固定的(可能变长)。所以CPU是很容易知道前几个二进制是什么指令,而根据这个指令又可以知道后面多少位是第一个数据,后面多少位是第二个数据。然后下一个指令的起始地址是直接存在IP寄存器里的。
1可执行文件的角度:可执行文件分为许多段,一般.text存放代码,.data段存放数据,不同段是有不同属性的,例如.text段的属性是可执行的。这样就区别了代码和数据。
2.CPU指令有一个格式,一个指令包括了操作码(对应你的指令)和操作数(对应你的数据),而指令本身相对格式是固定的(可能变长)。所以CPU是很容易知道前几个二进制是什么指令,而根据这个指令又可以知道后面多少位是第一个数据,后面多少位是第二个数据。然后下一个指令的起始地址是直接存在IP寄存器里的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯