Intel公司正在为该公司认为是原始x86 指令集体系结构(ISA)发展的下一个重要步骤做准备。 这家圣塔克拉拉公司正在扩大通用x86操作的暂存器数量,同时推出基于著名的AVX-512 ISA的全新、包罗万象的向量指令集。
正如Intel公司为开发人员提供的官方网站所解释的那样,x86 架构目前广泛应用于数据中心、个人电脑和其他各种需要性能导向型CPU和繁重运算工作量的环境中。 最初的x86 ISA于1978年通过8086 CPU推出,只有8个16位通用暂存器,后来暂存器的数量增加了一倍,大小增加了四倍。
暂存器在中央处理器中有着至关重要的作用,因为它们储存着处理器在任何给定时刻都在积极处理的数据位。 因此,Intel公司将高级性能扩展(APX)技术视为x86 ISA的重要发展步骤。 它扩展了整个 x86 指令集,允许访问更多的寄存器,并引入了新的功能来提高 CPU 的整体性能。
Intel公司称,APX将通用x86暂存器的数量增加一倍,从16个增加到32个,为编译器提供了更多的资料储存空间。 该公司解释说,与根据Intel x64 ISA「基准」编译的二进制程序相比,APX 编译的代码「加载次数减少 10%,储存次数减少 20%以上」。
简单地说,与复杂的加载和储存操作相比,暂存器存取速度更快,消耗的动态功耗大大降低。 在下一代Intel CPU型号中,效率的提高可能会带来更高的性能水平。 APX还将扩充x86 ISA的条件指令集,该指令集最早是在奔腾Pro处理器中通过CMOV/SET指令引入的。
这些指令被当今的编译器广泛使用,而 APX 似乎提高了Intel CPU 的分支预测能力。 据Intel公司称,程序员只需重新编译代码,就可以利用 APX 的功能,因为不需要修改源代码。 APX 再次证明了「x86 可变长度指令编码」的优势,新功能通过对底层芯片进行「增量更改」来增强整个 ISA,进而在硬件中解码指令。
除 APX 外,未来几代Intel CPU 还将包含新的 AVX10 ISA。 正如官方文件中解释的那样,这项技术是Intel在2013年首次提出的AVX-512向量指令集的全新主要实现。 新的ISA将在所有Intel CPU架构上建立一个「通用、融合的矢量指令集」,使其在未来的所有处理器上都能得到支持,包括高性能核心(P-cores)和高效核心(E-cores)。
Intel最初在第12代Core消费级CPU上引入了对AVX-512向量指令的支持,但这些指令只适用于P core单元,后来透过微码更新意外禁用了这些指令。 事实证明,x86 ISA 的矢量扩展在试图模拟复杂的现代游戏机架构(如 PlayStation 3 (RPCS3))的开发人员中非常受欢迎。
x86 ISA 的 AVX10 扩展将支持以前引入的所有 AVX(矢量)指令扩展,最大向量寄存器长度为 256 位。 最初的AVX10版本(AVX10.1)不包含任何新指令;其唯一目的是方便从AVX-512过渡到适当的、全核兼容(Pcore、Ecore)的AVX10实现(即AVX10.2)。