确定我的处理器在 Linux 下的指令集

DJ_*_*Joe 8 linux processor instruction-set

我想知道如何知道我的处理器使用的是哪个指令集;我正在运行 Linux。

我还想了解处理器如何处理许多指令集。

当我输入时cat /proc/cpuinfo,我得到:

model name : AMD FX(tm)-6350 Six Core Processor
Run Code Online (Sandbox Code Playgroud)

我还看到了许多标志:fpu, vme, mmxext, ...

War*_*ung 4

我还看到许多标志:fpu、vme、mmxext、...

这就是您的答案:标志行告诉您处理器支持哪些指令集功能。请参阅Unix.SE 上的这个问题。

我还想了解处理器如何处理许多指令集。

x86 指令集在过去几十年里有机增长,主要由英特尔和 AMD 这两家公司推动。英特尔当然只对添加不与其之前的指令集冲突的功能感兴趣,而AMD则有强烈的经济利益来与英特尔兼容。

我只知道AMD能够更改Intel支持的指令集的一种情况,那就是Intel复制了AMD64指令集,首先将其称为EM64T,然后称为Intel 64指令集。

与 Intel 的其他 64 位处理器 Itanium 相比,后者与 x86 指令集的传统 16 位和 32 位版本完全不兼容,因此与 AMD64/Intel 64 指令集也不兼容。它被故意设计得不同,以实现不同的目标。AMD 的安腾替代方案特意与传统的 Intel x86 指令集兼容,这在某些方面使实施变得复杂并降低了潜在的性能。如果您的目的是在大众市场取得成功,那么事实证明,与数十年的遗留软件兼容比设计全新的软件更好,如果这意味着需要重建或丢弃所有旧软件,那么可以说更好出去。

兼容性并不是 CPU 设计的全部和最终目的,否则TransmetaCyrixVIA会取得更大的成功。但是,软件兼容性也是 ARM Chromebook和 ARM Windows RT PC 未能消灭基于英特尔的竞争对手的部分原因,尽管它们具有许多优势。(成本更低、电池寿命更长等)