计算机如何区分二进制模式是指令还是数字?

时间:2018-02-22 18:13:19

标签: cpu-architecture von-neumann

我正在阅读Hamacher的书“计算机组织和嵌入式系统”,我的问题是:“计算机如何区分二进制模式是指令还是数字?”

任何人都可以帮助我理解这个概念吗?

2 个答案:

答案 0 :(得分:2)

Von Neumann处理器(几乎所有处理器都无法区分)内存中的代码和数据。 CPU的指令指针指向的内容将作为指令加载到指令解码器中。如果它不是有效指令,它将在CPU中引发异常。

这使程序能够在内存中创建新的可执行代码,甚至可以更改自己的代码。另一方面,这可以实现许多代码注入攻击。

答案 1 :(得分:0)

计算机区分指令和数字的方式仅取决于读取数据的内容和位置。例如,简单的算术逻辑单元(ALU)将包括要完成的操作的输入,以及操作数的两个输入。进入操作数端口的数据被读取为数字,而进入操作员输入的数据被读取为指令。

这一切都取决于计算机架构单元正在读取数据,以及该单元正在读取它的输入。