x86_64 架构是否持续更新?

Is the x86_64 architecture continuously being updated?

众所周知,ARM 不断更新 arm 架构,我猜最近发布了 v9。

但是 x86_64 架构是否也由 Intel 或 AMD 持续更新?

x86-64 按名称进行扩展,只有一个事实上的政策(英特尔)让未来的 CPU 支持以前的 CPU 所做的所有扩展(即向后兼容性)。

即便如此,英特尔在服务器 CPU 中引入了新的 ISA 扩展,但在当代台式机 CPU 中却没有,或者 movbe 在主流 CPU (Haswell) 之前显着出现在 Atom 中。并继续销售不含 AVX 或 BMI1/BMI2 的奔腾/赛扬 CPU。 (尽管 Ice Lake 和后来的 Pentium / Celeron 最终可能会使用 AVX2 处理 256 位向量,从而解码 VEX 前缀并能够启用 BMI1/BMI2。)


如果英特尔从不采用它们,AMD 有时甚至会放弃对其 ISA 扩展的支持。 (就像在 Bulldozer 系列中引入的 XOP,在 Zen 中删除。而 Bulldozer 再次推出 FMA4,正式在 Zen 中删除,但在 Zen 1 中仍然有效,在 Zen 2 中确实消失了。)另请参阅 Agner Fog 的博客文章 Stop the instruction set war


不幸的是,供应商之间没有就体系结构版本达成一致的机制,因此,例如,英特尔根据“486 或更高版本”、“奔腾和更高版本”保证各种宽度的对齐存储的原子性,“P6 系列及更高版本”。参见

请注意,在这种情况下,Intel 和 AMD 对可缓存内存 loads/stores 的原子性保证的通用子集实际上来自 AMD:Intel 保证不会撕裂任何 2,4 或 8 字节的存储' 跨越高速缓存行边界。但是 AMD 只保证对齐的 8 字节块内的那些大小的原子性,而多插槽 K10 确实会撕裂插槽之间的传输。

没有一个文档涵盖现代 x86-64 CPU 的功能和指令集扩展的最低公分母。