机器如何区分和判定指令和数据
2012-05-11 11:40
225 查看
指令和数据都是应用上的概念。汇编语言,通过编译器编译,最后送给CPU的都是二进制数,那么CPU在一堆纷繁复杂的二进制,0110000110001中如何区分指令和数据呢?
我们需要明白以下几点:
(1)每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。二进制,作为一种机器码,计算机可以直接识别,不需要进行任何翻译
(2)计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
(3)把指令和数据分开放是为了安全和逻辑结构清晰。
(4)虽然指令和数据存放的格式一样,但是访问他们的时机不同。在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令;在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
我们需要明白以下几点:
(1)每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。二进制,作为一种机器码,计算机可以直接识别,不需要进行任何翻译
(2)计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
(3)把指令和数据分开放是为了安全和逻辑结构清晰。
(4)虽然指令和数据存放的格式一样,但是访问他们的时机不同。在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令;在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
相关文章推荐
- 机器如何区分和判定指令和数据
- 机器如何区分和判定指令和数据 .
- 机器如何区分和判定指令和数据
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- cpu如何区分指令和数据
- 计算机如何区分存储器中的指令和数据
- 如何区分数据和指令
- 计算机是如何区分读到的内存是指令还是数据
- CPU如何区分读出的代码是指令还是数据
- 我和朋友谈论计算机是如何区分指令和数据的经历
- 考虑下列生成二进制的过程,编译器被用来生成单个单元的目标代码,链接器被用来将多个目标单元合并成一个程序二进制,链接器如何改变指令和数据到内存地址的绑定?需要什么信息从编译器传递给链接器,以协助完成链接
- 如何区分大数据下的三大利器:数据科学家,数据工程师与数据分析师
- 如何在时间紧迫情况下进行机器学习:构建标记的新闻 数据 库 开发 标记 网站 阅读1629 原文:How we built Tagger News: machine learning on a
- 单片机指令中如何区分是字节传送和位传送
- 汇编中如何片段CPU取得是数据还是指令
- 计算机区分指令和数据?
- 计算机CPU指令的32位、64位是如何区分呢?
- 如何区分理解数据科学家与机器学习工程师
- 指令中directive 如何获取父级中通过$http获取的数据