英特尔x86指令集演进的下一步:AVX10、APX
https://www.msn.cn/zh-cn/news/other/%E8%8B%B1%E7%89%B9%E5%B0%94x86%E6%8C%87%E4%BB%A4%E9%9B%86%E6%BC%94%E8%BF%9B%E7%9A%84%E4%B8%8B%E4%B8%80%E6%AD%A5-avx10-apx/ar-AA1epiip(cnbeta 现在内地不能访问了??这么悲催的吗?)
英特尔公司正在为该公司认为是原始 x86 指令集体系结构(ISA)发展的"下一个重要步骤"做准备。这家圣克拉拉公司正在扩大通用 x86 操作的寄存器数量,同时推出基于著名的 AVX-512 ISA 的全新、包罗万象的矢量指令集。
正如英特尔公司为开发人员提供的官方网站所解释的那样,x86 架构目前广泛应用于数据中心、个人电脑和其他各种需要性能导向型 CPU 和繁重计算工作量的环境中。最初的 x86 ISA 于 1978 年通过 8086 CPU 推出,只有 8 个 16 位通用寄存器,后来寄存器的数量增加了一倍,大小增加了四倍。
寄存器在中央处理器中起着至关重要的作用,因为它们存储着处理器在任何给定时刻都在积极处理的数据位。因此,英特尔公司将高级性能扩展(APX)技术视为 x86 ISA 的重要发展步骤。它扩展了整个 x86 指令集,允许访问更多的寄存器,并引入了新的功能来提高 CPU 的整体性能。
英特尔公司称,APX 将通用 x86 寄存器的数量翻了一番,从 16 个增加到 32 个,为编译器提供了更多的数据存储空间。该公司解释说,与根据英特尔 x64 ISA"基准"编译的二进制程序相比,APX 编译的代码"加载次数减少 10%,存储次数减少 20%以上"。
简单地说,与复杂的加载和存储操作相比,寄存器访问速度更快,消耗的动态功耗"大大降低"。在下一代英特尔 CPU 型号中,效率的提高可能会带来更高的性能水平。APX 还将扩展 x86 ISA 的条件指令集,该指令集最早是在奔腾 Pro 处理器中通过 CMOV/SET 指令引入的。
这些指令被当今的编译器广泛使用,而 APX 似乎提高了英特尔 CPU 的分支预测能力。据英特尔公司称,程序员只需重新编译代码,就可以利用 APX 的功能,因为不需要修改源代码。APX 再次证明了"x86 可变长度指令编码"的优势,新功能通过对底层芯片进行"增量更改"来增强整个 ISA,从而在硬件中解码指令。
除 APX 外,未来几代英特尔 CPU 还将包含新的 AVX10 ISA。正如官方文件中解释的那样,这项技术是英特尔在 2013 年首次提出的 AVX-512 向量指令集的全新主要实现。新的 ISA 将在所有英特尔 CPU 架构上建立一个"通用、融合的矢量指令集",使其在未来的所有处理器上都能得到支持,包括高性能内核(P-cores)和高效内核(E-cores)。
英特尔最初在第12代酷睿消费级CPU上引入了对AVX-512矢量指令的支持,但这些指令只适用于P核单元,后来通过固件微码更新意外禁用了这些指令。事实证明,x86 ISA 的矢量扩展在试图模拟复杂的现代游戏机架构(如 PlayStation 3 (RPCS3))的开发人员中非常受欢迎。
x86 ISA 的 AVX10 扩展将支持以前引入的所有 AVX(矢量)指令扩展,最大矢量寄存器长度为 256 位。最初的 AVX10 版本(AVX10.1)不包含任何新指令;其唯一目的是方便从 AVX-512 过渡到适当的、全核兼容(P 核、E 核)的 AVX10 实现(即 AVX10.2)。 呃,现代cpu内部肯定早就不是那几个x86定义的寄存器了,但即使编译器给用上APX那老的x86指令也不能丢啊。到头来cpu本身还是一条微码都不敢丢,反倒要加上APX的微码 赫敏 发表于 2023-7-28 05:21
呃,现代cpu内部肯定早就不是那几个x86定义的寄存器了,但即使编译器给用上APX那老的x86指令也不能丢啊。到 ...
增加架构寄存器对于减轻编译器的寄存器分配压力十分的有帮助。
APX是用REX2前缀替代了X64的REX前缀,删减了一些APX模式下的一些指令用于增加寄存器寻址位数,本质上和X64对X86做的工作是类似的,对于解码器设计的压力我觉得不大。至于CPU内部的微码,那就更无所谓了,每代都在改的东西。 赫敏 发表于 2023-7-28 05:21
呃,现代cpu内部肯定早就不是那几个x86定义的寄存器了,但即使编译器给用上APX那老的x86指令也不能丢啊。到 ...
但是对于编译的开发人员 性能优化就多新的路子 赫敏 发表于 2023-7-28 05:21
呃,现代cpu内部肯定早就不是那几个x86定义的寄存器了,但即使编译器给用上APX那老的x86指令也不能丢啊。到 ...
APX 就是一种扩展指令集,谈不上丢X86指令。INTEL的崛起就是不断开发扩展指令,比如MMX SSE 1 2 3 SSSE3 SSE4.1 4.2 EM64T AES AVX AVX2 512F FMA3 TSX等,每一代新框架的处理器都会带来新的扩展指令集的!说白了就是增加CPU的新功能和提到新性能! 说X86其实也不够准确,应该说是INTEL的ISA指令集 IA32 架构,之前是靠EM64T技术兼容64位 和AMD共用的x86-64。 现在INTEL已经全面升级64位了,前段不是出了x86S,是运行在纯64位上了,反向兼容16位和32位指令;所以X86S我绝对并非X86精简指令,而是X86 SECOND,X86第二版!为啥不叫IA 64呢,因为之前INTEL推出过安腾处理器就是IA 64架构并不兼容X86和32位。所以如果没有之前IA 64老框架,这次X86S就要改名成IA64了。
页:
[1]