机器如何区分和判定指令和数据?
指令和数据都是以二进制存储的,并且它们的格式也基本相同,请问机器是如何区别和判定指令和数据的?...
指令和数据都是以二进制存储的,并且它们的格式也基本相同,请问机器是如何区别和判定指令和数据的?
展开
4个回答
2013-12-15
展开全部
指令其实都是数据的一种,而二进制码的特点是计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。
那么计算机是如何在繁杂的二进制码里区分和判定指令和数据的呢?
计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期
计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。
随便指令和数据存放的格式一样,但是访问他们的时机不同
在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令,在执行指令时期,cpu通过数据流取数据,
存放在数据寄存器。
所以指令流取的是指令,数据流取的是数据。
那么计算机是如何在繁杂的二进制码里区分和判定指令和数据的呢?
计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期
计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。
随便指令和数据存放的格式一样,但是访问他们的时机不同
在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令,在执行指令时期,cpu通过数据流取数据,
存放在数据寄存器。
所以指令流取的是指令,数据流取的是数据。
2013-12-15
展开全部
地址总线上传来的地址,寄存器的分析就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-19
展开全部
这个首先看计算机的体系结构,看程序和数据是否统一编址。如果是统一编址,那么程序和数据的地址片是划分好的,两者地址绝不可能相同,通过访问不同的地址这就区别开来了;如果是独立编址,那么则通过不同的指令分别来访问程序或数据,也区别开了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-15
展开全部
根据地址总线上传来的地址,经过相关的寄存器的分析,就可分辨出来了!具体查查相关资料就会有更详细的说明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |