机器如何区分和判定指令和数据

指令和数据都是应用上的概念。汇编语言,通过编译器编译,最后送给CPU的都是二进制数,那么CPU在一堆纷繁复杂的二进制,0110000110001中如何区分指令和数据呢?

     我们需要明白以下几点:

    (1)每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。二进制,作为一种机器码,计算机可以直接识别,不需要进行任何翻译

    (2)计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。

    (3)把指令和数据分开放是为了安全和逻辑结构清晰。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值