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, ...
我还看到许多标志: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 设计的全部和最终目的,否则Transmeta、Cyrix和VIA会取得更大的成功。但是,软件兼容性也是 ARM Chromebook和 ARM Windows RT PC 未能消灭基于英特尔的竞争对手的部分原因,尽管它们具有许多优势。(成本更低、电池寿命更长等)