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


12

我们可以/proc/cpuinfo在Intel和ARM机器上进行检查以学习cpu功能,例如AES和SHA。在AIX和Linux下,我都需要对PowerPC做同样的事情。

Linux的测试如下所示。输出由GCC112编译场中产生

$ 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大致相当于PowerPC,等效于Intel SSE和ARM NEON。

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

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

我也不知道将什么用于AIX。AIX 在编译场的GCC119上可用。

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

linux  aix  cpu  powerpc 

6
您可能会lscpu在Linux和lscfg -vAIX 上获得一些信息。
meuh's

谢谢@meuh-不高兴。在PowerPC CPU信息中可用的输出。

1
我不了解ARM,但是SSE是x86上的可选扩展,而所有POWER8芯片都要求您提到POWER的所有内容
Fox

我认为我们已经在stackoverflow.com/questions/46144668/…上介绍了Linux案例,您是否要编辑这一实例以使其更特定于AIX?
杰里米·克尔

Answers:


3

我不确定为什么/ 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将具有标志信息。蒙面 我已经在Internet上看到一些样本,这些样本已为您解码。不幸的是,我无权使用ppc硬件进行测试。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.