【问题标题】:Where is an ISA stored and how exactly is it taken into account?ISA 存储在哪里以及它是如何被考虑在内的?
【发布时间】:2018-02-22 15:01:43
【问题描述】:

我正在研究是什么让计算机成为computer

到目前为止,我了解到我们有

高级编程语言->

-> 编译成低级编程语言(assembly language)->

-> 然后汇编器使用 Machine Code 将指令直接发送到 CPU

指令必须遵循相应的 CPU 架构以及该 CPU 使用的ISA(指令集架构)。

CPU通过各种渠道从registry或hdd(或sdd等)读取/写入数据。


到目前为止,我读过的文章没有提到指令所带来的这段旅程的以下两个(关键,来自我的 POV)方面:

  1. ISA 究竟存储在哪里?在整个系统的哪个组件中?
  2. 以及如何 CPU 将其考虑在内?沿途在哪里?它是否明确地“询问”ISA(以某种方式)收到的指令是否有效?

【问题讨论】:

  • 你最好做一些 CPU 实现研究。有几种方法可以实现 CPU 的指令集,例如微码。它存储在什么组件中? CPU。
  • CPU 设计构成了 ISA 本身。它将尝试将内存中的任何值(由指令指针地址指向下一个执行)解释为指令。它可能被设计成这样,一些值不是有效的指令,会导致它失败,或者它的 ISA 可能会覆盖所有可能的值,即使你指向 CPU 执行随机块也会执行一些看起来有效的指令价值观。汇编程序不向 CPU 发送指令,它准备这些内存内容(机器代码),通常将其存储到存储设备上的文件中,以供以后使用(执行)。
  • “ISA 存储在哪里”就像“书的哪个部分存储了类型”
  • 我不得不说,虽然我很欣赏你的问题,但这似乎表明你有一些潜在的基本误解。

标签: assembly cpu instruction-set


【解决方案1】:

ISA 不像存储数据过程。这是硬件和软件之间接口的秘诀。指令集由信息(更具体地说是二进制位)组成。编译器将代码分解为该抽象级别。在该级别之下,我们可以使用微程序控制架构或硬件控制架构来执行门级活动。 所以,ISA可以看作是一种操作门的编码方案。

【讨论】:

    【解决方案2】:

    来自美国弗吉尼亚大学的简单描述:)。

    http://www.cs.virginia.edu/~cs333/notes/cs333_class3.pdf

    另一个使用完整的

    http://www.ece.utep.edu/courses/web3376/Notes_files/ee3376-isa.pdf

    如果您需要更多,请告诉我;)

    【讨论】:

    • 一般来说,仅链接的答案并不是真正的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2014-04-25
    • 2013-07-07
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多