如何确定 PowerPC 和 Power 8(及更高版本)上的 CPU 特性?

如何确定 PowerPC 和 Power 8(及更高版本)上的 CPU 特性?

我们可以/proc/cpuinfo在 Intel 和 ARM 机器上进行检查以了解 CPU 功能,例如 AES 和 SHA。我需要对 AIX 和 Linux 下的 PowerPC 执行相同的操作。

Linux 下的测试如下所示。输出是由海湾合作委员会112编译农场

$ cat /proc/cpuinfo
processor       : 0
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)
...

processor       : 159
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)

timebase        : 512000000
platform        : PowerNV
model           : 8247-22L
machine         : PowerNV 8247-22L
firmware        : OPAL v3

GCC112 是一台 Power 8 机器。我应该看到 VMX、AES、SHA、PMULL 等标志。VMX 大致相当于 Intel SSE 和 ARM NEON 的 PowerPC。

我发现了一些相关的讨论,例如/proc/cpu信息在 comp.os.linux.powerpc 上。我还发现我们在新系统上检查什么?,但它缺乏有用的细节,如 cpu 功能。最后,有一个相关问题/proc/cpuinfo 中的标志是什么意思?,但它没有讨论 PowerPC。

GCC 似乎通过使用以下方式向 C 程序提供信息内置的。例如,有一个vsx测试和一个vcrypto测试。问题是,我正在使用 Bash 脚本而不是 C 程序。

我也不知道AIX用什么。 AIX 的可用地址为海湾合作委员会119编译农场

如何在 AIX 和 Linux 上获取 PowerPC cpu 功能?

答案1

我不确定为什么 /proc/cpuinfo 或lscpu不显示标志信息。我找到了 Linux 内核已知的标志列表https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/powerpc/include/asm/cputable.h?id=refs/tags/v4。 9

我刚刚发现您可以查找 ELF 辅助向量,这将向您展示一些硬件功能。

$ LD_SHOW_AUXV=1 /bin/true
AT_SYSINFO_EHDR: 0x7ffdcd0e6000
AT_HWCAP:        bfebfbff
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x5591e6663040
AT_PHENT:        56
AT_PHNUM:        9
AT_BASE:         0x7f2ae4f79000
AT_FLAGS:        0x0
AT_ENTRY:        0x5591e6664670
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ffdcd044399
AT_HWCAP2:       0x0
AT_EXECFN:       /bin/true
AT_PLATFORM:     x86_64

^^ 您的 AT_HWCAP 将有标志信息。蒙面。我在互联网上看到了已为您解码此条目的示例。不幸的是,我无法访问 ppc 硬件来进行测试。

lscpu应该在 AIX 上可用,也许它会显示 CPU 标志?

相关内容