d4r*_*0rd 5 assembly computer-science instruction-set cpu-architecture
我无法理解指令集和指令集架构之间的区别。
我知道什么是指令集。指令集只是定义了我们可以向处理器提供的可能指令以及如何向处理器提供指令(因此是指令格式)。
现在什么是指令集架构?
我查过维基百科,它有一个关于指令集的页面,在其中,第一行有一个指向指令集体系结构的链接,该链接重定向到计算机体系结构。
那么指令集架构和计算机架构一样吗?
请有人解释一下 IS 和 ISA 之间的具体区别,以便我能够理解什么是 ISA 以及 ISA 在指令集中添加了什么。
并不是真正的计算机架构,因为计算机涉及外围设备和 PCB,或许还有机箱、按钮、连接器等。
指令集架构就是架构,即事物的外观和感觉。就像建筑物的结构一样。指令集是实现该架构的指令集。(正如 Brendan 指出的,您可以拥有多个实现相同架构的集合)。ARM 就是一个很好的例子,ARMv7-m 定义了部分/大部分 cortex-m(产品系列的营销名称)内核的架构。cortex-m3、cortex-m4、cortex-m7 符合 ARMv7-m 架构,该架构在 ARMv7-m 的 ARM 架构参考手册中定义。但这些是不同的核心,它们可能是从头开始完全重写,它们可能有不同的深度管道,一个可能有缓存和/或 fpu,而另一个则没有。在这种情况下,有一个由它们都符合的体系结构定义的指令集(在这种情况下,fpu 是一个例外,并且没有在体系结构中定义)。
建筑师可能会为麦当劳设计建筑或建筑指南,当你开车经过那栋建筑时,即使不看标志,你也知道它是麦当劳、温迪或必胜客。但并非所有这些建筑物都是由相同的施工人员使用来自同一工厂的木材或来自同一供应商的油漆等建造的。指令集架构定义了架构,并且可能定义了指令集它实现的机器代码,但特定的芯片或符合该架构的核心可能不会完全相同,从表面上看,架构看起来是一样的,它看起来像塔可钟,但它的建造方式可能与下一个城镇的塔可钟不同,你仍然可以购买玉米饼当你使用该设施时,味道几乎相同。就机器代码/指令集对同一架构的两个不同内核进行编程而言,外观和感觉相同,炸玉米饼的味道也相同。但实施方式可能有所不同(他们可能将西红柿放在酸奶油之前而不是之后)。
好、坏或其他,这两个术语经常互换使用来表示同一事物(指令集,所讨论事物的可能机器代码指令)。