电子说
在计算机科学中,指令集架构 (ISA) 是计算机的抽象模型。它也被称为架构或计算机架构。此外,中央处理单元 (CPU) 是实现 ISA 的场所,被称为实现。ISA 以不依赖于提供实现之间二进制兼容性的微体系结构的方式指定在该 ISA 实现上运行的机器代码的行为。
可以通过添加指令或其他功能或添加对更大地址和数据值的支持来扩展 ISA。扩展 ISA 的实现仍然能够为没有这些扩展的 ISA 版本执行机器代码。使用这些扩展的机器代码只会在支持这些扩展的实现上运行。
简而言之,指令集是计算机软件和硬件之间的纽带。它是处理器理解的一组基本指令。此外,它是关于硬件支持的操作、模式和存储位置的功能定义以及如何调用和访问它们的精确描述。换句话说,ISA 定义了处理器支持的指令类型。
在这里,值得注意的是,微体系结构级别仅存在于 ISA 级别之下,因此它与 ISA 定义的计算机支持的基本操作的实现相关联。我们可以拥有两个基于相同 ISA 的不同处理器,但具有不同的微架构,具有不同的性能和效率。这使得 ISA 的多个实现可以具有不同的性能、物理尺寸和货币成本——除其他外——但它们能够运行相同的机器代码。
因此,可以用成本更高、性能更高的机器替换性能较低、成本较低的机器,而无需更换软件。此外,它还推动了该 ISA 实现的微体系结构的发展,因此 ISA 的更新、更高性能的实现可以使用在前几代实现上运行的软件。
使不同的处理器兼容相同的基本指令集——ISA——允许相同的程序在许多不同的微架构处理器上轻松运行。我们首先定义一个 ISA,然后设计符合该 ISA 的不同微架构来实现功能。
扩展处理器的能力并不是一个新概念。处理器可扩展性是该处理器与附加的外部硬件模块(如 FPGA 或 DSP 内核)的组合,具体取决于该处理器的微架构。
这种扩展允许将特定功能作为指令或指令集加速,从而实现更好的性能。除了加速功能之外,最终用户还可以通过这个扩展的硬件模块添加自定义指令,如新算法并增强以前的算法。
Imen Baili 是 Menta 的产品应用工程师。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !