|
额……老铁们,我老捡垃圾的了。最近咱在测定顺序执行核心超线程效率的时候无意中发现了一个叫EM64T的指令集太原炒股配资,简单说下情况。 顺序执行核心的超线程有比乱序核心更高的多线程倍率,一般乱序核心超线程对多线程性能的提升约为20%,而顺序核心的超线程提升有50%以上了 本期主要研究这个EM64T的问题,看看它和AMD64以及X86-64有什么区别。 现代X86起源于8086,它是一个16位的微处理器。 它每次可以处理16位数据,并且具有16根数据线和20根地址线,能够寻址1MB的内存。 展开剩余84%从1985年80386开始,intel通过对x86架构进行32位的扩展,实现了32位CPU。 Intel把支持32位的 x86指令集架构命名为IA-32(Intel Architecture 32bit)。 由于32位x86处理器的统治性,术语“x86”几乎等于IA-32,即32位的x86或x86-32, 例如Windows和 Linux发行版的32位命名都是x86(没特别说明是32位)。 也有用i386代表x86-32的习惯,也是源自80386的32位。 1994年Intel开始和HP合作,开发一款与x86完全没关系的全新的IA-64。 IA-64不兼容x86,IA64本质上是VLIW指令集。 2001年第一款IA-64处理器Itanium安腾发布,不原生支持X86。 IA-64跟IA-32在技术上没有什么关系,跟x86也是完全并行的两种指令集。 顺便一提,Windows XP 有三种架构的版本。一种是 32 位 x86 架构版本。另一种是 Windows XP x64 Edition ,指 AMD64 (x86-64)版本。还有一种是 Windows XP 64-Bit Edition ,指 IA-64 (安腾)版本。 Windows XP,32 位 x86 架构版本 Windows XP x64 Edition,即 AMD64 (x86-64) 架构版本 Windows XP 64-Bit Edition,即 IA-64 (安腾)架构版本 此后,微软不再支持安腾。 Windows Vista 和 Windows 7 只有一种 64 位版本,就是 AMD64 (x86-64) ,不支持安腾。 在1999年,AMD宣布了x64指令集。 其实现方式与之前的80386思路一致,继续对IA-32扩展,增加64位通用寄存器、证书预算单元和逻辑操作,支持64位虚地址; 向前兼容IA-32。 2003年AMD发布第一款x86-64处理器 Operon。同时AMD也将x86-64正式命名为AMD64。 在2004年的IDF上,Intel公布其64 位计划,命名为ia-32e,即ia-32 extension,之后又改成EM64T,Extended Memory 64 Technology,最终命名为Intel64。 实际上EM64T与AMD64几乎相同。早期EM64T不兼容AMD64的少量指令,但是由于AMD在64位技术中的领先地位,Intel2005年不得不宣布将完全兼容AMD64。 所以现在64位X86是统一的,在称谓上厂商习惯使用 x86-64(x86_64,或者就是x64)来称呼64位X86。 从CPUz的显示来看AMD的CPU并没有用AMD64指令集而是用X86-64表示64位,然而牢英的CPU却用了EM64T这个听上去明显缺指令的称法。 这个称法甚至不局限于早期EM64T CPU,现代CPU依然在这么显示。感觉是有点问题的 即使我印象中x86-64这词是牢英为了避讳AMD64改出的100%兼容AMD64的EM64T整出来的烂活。 所以CPUz当真是平等的乳I乳A了。 AMD CPU不显示AMD64相当于把AMD对于X86 64位的成就给抹了 Intel CPU显示EM64T相当于含沙射影讽刺牢英早期X86 64位缺指令(这个缺指令相当于SSE4A,虽然只缺了几条但是就是会导致程序不兼容得打补丁甚至有时候连补丁都没得打)。不过我确信现在看CPUz辨别牢英的老CPU是否缺指令不可行,毕竟现代CPU也显示EM64T。 好在咱用兆芯,这个用X86-64显示64位指令集是没啥问题的。 威盛的X86交叉授权继承于Cyrix,然而后来能有延长到64位时期的交叉授权则是通过用专利交换与反垄断法诉讼得来。最后威盛留下了支持范围涵盖到AVX512的X86指令集永久交叉授权,也算是留下相当不错的家底了。 就这样,谢谢朋友们! 参考资料:为什么有的地方叫X86-64太原炒股配资,有的地方叫AMD64? 为什么有的地方叫X86-64,有的地方叫AMD64? 发布于:辽宁省 |

