在阅读 ARM 核心文档时,我有这个疑问。 CPU如何区分读取的数据和数据总线,是作为指令执行还是作为它可以操作的数据?
引用文档摘录——
"Data enters the processor core through the Data bus. The data may be an instruction to execute or a data item."
在此先感谢您对我的启发!
/多发性硬化症
最佳答案
简单的答案 - 它没有。机器代码指令只是二进制数,数据也是。更复杂的答案 - 您的处理器可能(也可能不)提供内存分段,这意味着尝试执行已指定为数据的内容会导致某种陷阱。这是“段错误”的含义之一 - 处理器试图执行未标记为可执行代码的内容。
关于cpu - 如何区分指令和数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022489/