X86-64 微架构级别

跳转到:导航搜索
X86-64 微架构级别定义了 x86-64 指令集有用的子集。SUSE 和 openSUSE 使用架构级别来编译软件包。


X86-64

X86-64 (x86-64)(也称为 x64、x86_64、AMD64 和 Intel 64)是 Intel 的 x86 指令集架构的 64 位扩展,于 1999 年首次宣布。最初的规范由 AMD 创建并在 2000 年发布,已被 AMD、Intel 和 VIA 实施。第一款基于 AMD64 的处理器 AMD Opteron 于 2003 年 4 月发布。Intel 64 是 Intel 对 x86-64 的实现,用于 Intel 制造的各种处理器。

OpenSUSE 和 SUSE 将其用作支持的架构之一:“Intel 或 AMD 64 位台式机、笔记本电脑和服务器 (x86_64)”。


X86-64 微架构级别

2020 年,通过 AMD、Intel、Red Hat 和 SUSE 之间的合作,定义了三个基于 x86-64 基线的微架构级别(或功能级别):x86-64-v2、x86-64-v3 和 x86-64-v4。这些级别定义了程序员可以针对以提供代码优化的特定功能。

所有级别都包含先前级别中的功能。与通用计算无关的指令集扩展,包括 AES-NI 和 RDRAND,被排除在级别要求之外。


X86-64 又名 x86-64-v1

X86-64 也被称为 x86-64-v1 是所有 x86-64 CPU 的基线。它匹配 2003 年 AMD AMD64 和 2004 年 Intel EM64T 在 AMD K8 和 Intel Prescott 处理器系列中的初始实现之间的通用功能。

CPU 功能:CMOV、CMPXCHG8B (CX8)、FPU、FXSR、MMX、OSFXSR、SCE、SSE、SSE2。


X86-64-v2

OpenSUSE 开发者决定在 Leap 16.0 中使用 x86-64-v2 微架构级别,而不是 SUSE SLE 16 中使用的 x86-64-v3,作为 SUSE 持续前进和 openSUSE 用户仍然需要支持旧硬件之间的妥协。

X86-64-v2 添加了这些 CPU 功能:CMPXCHG16B (CX16)、LAHF-SAHF、POPCNT、SSE3、SSSE3、SSE4_1、SSE4_2。
功能与 2008 年 Intel Nehalem 架构匹配,不包括 Intel 特定的指令。

支持于

  1. Intel Core CPU - 自 Intel Nehalem 及更新的 Intel “大”核心(2008 年)以来
  2. Intel Pentium 和 Celeron CPU - 自 Sandy Bridge 架构(2011 年)以来
  3. Intel Atom CPU - 自 Silvermont 架构及更新的 Intel “小”核心(2013 年)以来
  4. AMD “大”核心 - 自 Bulldozer 微架构 (AM3+ 插槽)(2011 年)以来
  5. AMD “小”核心 - 自 Jaguar 微架构用于低功耗 CPU(2013 年)以来
  6. VIA CPU - 自 “Nano C”“Eden C” 微架构(2015 年)以来
  7. Zhaoxin CPU - 自 张江 微架构(2015 年)以来

有关更多详细信息,您可以阅读 文本。

请注意,对于 LGA 1156 插槽,您可以通过将 CPU 从 Pentium 或 Celeron 系列更改为 Core 或 Xeon 系列来获得 x86-64-v2 支持。


检查您的 CPU 是否与 x86-64-v2 兼容

Leap 16.0 需要对 x86-64-v2 微架构级别提供支持。在安装之前,请检查您的 CPU 是否兼容。

了解您的 CPU 是否支持 x86-64-v2 的最简单方法是检查是否存在 SSE4.2(SSE 4.2)指令集。您可以通过不同的方式执行此操作

1. 在信息中心(center)中搜索 CPU 标志“sse4_2”

2. 使用 inxi 实用程序并使用命令“inxi -Cx”,读取底部的字符串“Flags:”

inxi -Cx

inxi -Cx | grep sse4_2

3. 使用 lscpu 命令

lscpu | grep sse4_2

4. 使用带有更好格式的先前 lscpu 命令

lscpu | grep sse4_2 || echo "Your CPU is not compatible with Leap 16.0"

其他方法

5. 使用“ld.so --help”
在任何 x86_64 Linux 发行版(带有 glibc 2.33 及更高版本)上,可以使用命令“ld.so --help”验证 CPU 支持的所有 x86_64 功能级别:在命令提示符下运行

ld.so --help

/lib64/ld-linux-x86-64.so.2 --help

结果将显示在命令输出的末尾

Subdirectories of glibc-hwcaps directories, in priority order:
x86-64-v4
x86-64-v3 (supported, searched)
x86-64-v2 (supported, searched)

这里 x86-64-v4 功能级别不受 CPU 支持,但 x86-64-v3 和 x86-64-v2 受支持,这意味着此 CPU 不支持 v4 级别所需的 AVX512。

6. 在 inxi 输出中查找“level”

inxi -aCz | grep level

这将显示您的 CPU 微架构级别。例如,对于 AMD Ryzen

:~> inxi -aCz | grep level
   arch: Zen/Zen+ note: check gen: 1 level: v3 note: check built: 2019


您可以在 此处阅读相关讨论。



参见

相关文章和讨论

1. openSUSE:X86-64-Architecture-Levels
2. 论坛讨论 Leap 16.0 和 x86-64-v2
3. Bug 1236606 - 请为 Leap 16.0 的 CPU 要求添加 x86-64-v2


外部链接

1. Wikipedia - 微架构级别
2. Intel Core 处理器列表
3. Intel Pentium 处理器列表
4. Intel Celeron 处理器列表
5. Intel Atom 处理器列表
6. Intel Xeon 处理器列表
7. AMD Athlon 处理器列表
8. AMD Phenom 处理器列表
9. AMD FX 处理器列表 - Bulldozer 和 Piledriver
10. 具有 3D 图形的 AMD 处理器列表
11. AMD Ryzen 处理器列表