【发布时间】:2018-02-22 15:01:43
【问题描述】:
我正在研究是什么让计算机成为computer
到目前为止,我了解到我们有
高级编程语言->
-> 编译成低级编程语言(assembly language)->
-> 然后汇编器使用 Machine Code 将指令直接发送到 CPU
指令必须遵循相应的 CPU 架构以及该 CPU 使用的ISA(指令集架构)。
CPU通过各种渠道从registry或hdd(或sdd等)读取/写入数据。
到目前为止,我读过的文章没有提到指令所带来的这段旅程的以下两个(关键,来自我的 POV)方面:
- ISA 究竟存储在哪里?在整个系统的哪个组件中?
- 以及如何 CPU 将其考虑在内?沿途在哪里?它是否明确地“询问”ISA(以某种方式)收到的指令是否有效?
【问题讨论】:
-
你最好做一些 CPU 实现研究。有几种方法可以实现 CPU 的指令集,例如微码。它存储在什么组件中? CPU。
-
CPU 设计构成了 ISA 本身。它将尝试将内存中的任何值(由指令指针地址指向下一个执行)解释为指令。它可能被设计成这样,一些值不是有效的指令,会导致它失败,或者它的 ISA 可能会覆盖所有可能的值,即使你指向 CPU 执行随机块也会执行一些看起来有效的指令价值观。汇编程序不向 CPU 发送指令,它准备这些内存内容(机器代码),通常将其存储到存储设备上的文件中,以供以后使用(执行)。
-
“ISA 存储在哪里”就像“书的哪个部分存储了类型”
-
我不得不说,虽然我很欣赏你的问题,但这似乎表明你有一些潜在的基本误解。
标签: assembly cpu instruction-set