cpu如何区别指令和数据,它们不都是二进制存储在计算机内么?

 我来答
Hui翙
2015-10-21 · TA获得超过1.2万个赞
知道小有建树答主
回答量:2350
采纳率:93%
帮助的人:153万
展开全部
  计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。

随便指令和数据存放的格式一样,但是访问他们的时机不同 ,在取指令时期,cpu通过指令流取指令,存放在指令寄存器, 然后解释并执行指令,在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。

其实很简单,在取指令周期取得就是指令,读数据周期读的就是数据了。
快又稳
2024-10-28 广告
通过寻址方式来区别它们是指令还是数据的,具体到8051如下: 立即数寻址: MOV A,#123 ;123->A 寄存器寻址: MOV A,R1 ;r1->a 间接寻址: MOV A,@R1 ;r1指向的数据->A 以上是数据,下面是程序 ... 点击进入详情页
本回答由快又稳提供
huayujianke
2015-09-28 · TA获得超过1201个赞
知道小有建树答主
回答量:2572
采纳率:53%
帮助的人:301万
展开全部
指令是有专门指令集的,与数据有区别的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhao61
2010-10-11 · TA获得超过1459个赞
知道小有建树答主
回答量:1065
采纳率:0%
帮助的人:869万
展开全部
分两个方面说:

1可执行文件的角度:可执行文件分为许多段,一般.text存放代码,.data段存放数据,不同段是有不同属性的,例如.text段的属性是可执行的。这样就区别了代码和数据。

2.CPU指令有一个格式,一个指令包括了操作码(对应你的指令)和操作数(对应你的数据),而指令本身相对格式是固定的(可能变长)。所以CPU是很容易知道前几个二进制是什么指令,而根据这个指令又可以知道后面多少位是第一个数据,后面多少位是第二个数据。然后下一个指令的起始地址是直接存在IP寄存器里的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lbog_
2010-10-11 · TA获得超过128个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:74.3万
展开全部
计算机的操作主要是以 控制器和运算符下来进行的, 你说的是对的, 计算机也确实都是2进制下完成 控制器发出的指令,而控制器就是CPU 总体来讲就是 你输入的命令会传到 控制器那里也就是CPU,这里CPU并不知道这是什么命令,
之后到控制器这里它会识别出来是要存取东西还是....在发出指令给控制器。控制器接到指令,在命令运算符以2进制作出计算,
这里强调 命令和指令是不一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式