英特尔公司正在为该公司认为是原始 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)。
相关文章