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

时间:2017-03-16 22:50:18

标签: linux processor instruction-set

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

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

当我输入.PRECIOUS: %.s时,我得到:

cat /proc/cpuinfo

我也看到很多旗帜:model name : AMD FX(tm)-6350 Six Core Processor fpuvme,......

1 个答案:

答案 0 :(得分:3)

  

我也看到很多标志:fpu,vme,mmxext,...

这是你的答案:标志行告诉你处理器支持的指令集功能。请参阅Unix.SE上的this question

  

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

x86指令集数十年来有机增长,主要由两家公司Intel和AMD推动。当然,英特尔只对增加与之前的指令集没有冲突的功能感兴趣,并且AMD有很强的经济利益与英特尔兼容。

我只知道AMD能够更改英特尔支持的指令集的一个案例,即英特尔复制AMD64 instruction set,首先调用EM64T,然后调用英特尔64指令集。

将此与英特尔的其他64位处理器Itanium进行对比,后者与传统的16位和32位版本的x86指令集完全不兼容,因此与AMD64 /不兼容Intel 64指令集。为了实现不同的目标,它被故意设计为不同的。 AMD的替代Itanium特意与传统的Intel x86指令集兼容,这在某些方面使实现变得复杂并降低了潜在的性能。如果您的目的是为了实现大众市场的成功,那么与数十年的遗留软件兼容,最好是设计一些全新的东西,如果要求所有旧软件都必须重建或抛出,那就更好了进行。

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