内容提要
Windows 11预览版Build 29965中出现了Intel APX高级性能扩展开关,开启后需重启生效。APX将通用寄存器从16个增至32个,减少内存数据搬运并优化指令格式。英特尔模拟测试显示,在SPEC CPU 2017 Integer中加载操作减少约10%、存储操作减少20%、指令数减少10%。该技术需处理器、系统与软件共同支持,目前微软仍在测试,后续将公布部署指南。
延伸解读
APX 的性能收益来自减少内存搬运
APX 将通用寄存器从 16 个增至 32 个,编译器可把更多中间数据留在处理器内部,从而减少加载和存储操作。英特尔模拟测试显示,在 SPEC CPU 2017 Integer 中加载操作减少约 10%、存储操作减少 20%、指令数减少 10%。这些数字反映的是指令层面的优化潜力,并非实际应用中的直接性能提升倍数,读者应理性看待。
启用 APX 需要软硬件协同支持
APX 并非开启开关就能立即生效。它要求处理器具备相应指令集,Windows 11 能管理新增寄存器状态,应用程序或运行时也需使用 APX 指令。英特尔将新增寄存器纳入 XSAVE 状态管理,便于系统在线程切换时保存和恢复状态。目前微软仅在预览版中测试,后续才会公布部署指南,普通用户短期内难以实际使用。
软件适配方式因语言类型而异
对于静态编译型应用,开发者通常只需重新编译即可利用 APX,一般无需修改源代码。但动态语言需要在底层运行时完成适配,例如 GCC 16 的变更说明已加入 Nova Lake 处理器目标并启用 APX_F 等扩展。这意味着 APX 的普及不仅取决于硬件和系统,还依赖编译器与运行时生态的跟进速度。
Q&A
Windows 11 预览版里出现的 APX 开关是什么?
APX 是英特尔开发的指令集扩展,全称高级性能扩展。在 Windows 11 预览版 Build 29965 中出现了该功能的开关,开启后需要重启系统才能生效,微软描述称可以提升性能。
APX 技术是如何提升处理器性能的?
APX 将通用寄存器数量从 16 个增加到 32 个,让编译器能把更多数据留在处理器内部,减少与内存之间的数据搬运。同时添加了三操作数格式、条件加载与存储、No Flags 机制、PUSH2/POP2 指令等优化,使编译器生成更精准的代码,减少分支判断开销。
APX 在 SPEC CPU 2017 Integer 测试中能带来多少提升?
根据英特尔的模拟测试,使用 APX 编译的代码比 Intel 64 基线代码减少约 10% 的加载操作、20% 的存储操作,指令数量也减少 10%。
使用 APX 需要满足哪些条件?
需要三个条件:处理器硬件支持 APX 指令;Windows 11 系统能够管理新增的寄存器状态;应用程序或运行时使用 APX 指令。目前微软仍在测试中,后续会公布部署指南。
开发者如何让软件支持 APX?
开发者通常只需重新编译应用即可使用 APX,一般不需要修改源代码。对于动态语言,需要在底层运行时完成适配,例如 GCC 16 已加入 Nova Lake 处理器目标并启用 APX_F 等指令集扩展。
APX 新增的寄存器如何与操作系统配合?
英特尔的设计将新增寄存器纳入 XSAVE 状态管理机制,这样操作系统在线程切换时就能方便地保存和恢复处理器状态。