Как определить характеристики процессора в PowerPC и Power 8 (и выше)?

12

Мы можем проверить /proc/cpuinfoна машинах Intel и ARM, чтобы изучить функции процессора, такие как AES и SHA. Мне нужно сделать то же самое для PowerPC под AIX и Linux.

Тестирование с 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.

Я нашел некоторые связанные обсуждения, такие как / proc / cpuinfo на comp.os.linux.powerpc. Я также нашел, что мы проверяем на новой системе? , но в нем отсутствуют полезные детали, такие как функции процессора. Наконец, есть связанный вопрос: что означают флаги в / proc / cpuinfo? , но это не обсуждает PowerPC.

GCC, по-видимому, предоставляет информацию программам на языке C с помощью встроенных модулей . Например, есть vsxтест и vcryptoтест. Проблема в том, что я работаю из скрипта Bash, а не из C-программы.

Я также не знаю, что использовать для AIX. AIX доступен в GCC119 на ферме компиляции .

Как получить возможности процессора PowerPC в AIX и Linux?


источник
6
Вы можете получить некоторую информацию lscpuо Linux и lscfg -vAIX.
meuh
Спасибо @ meuh - нет радости. Вывод информации о процессоре PowerPC .
1
Я не знаю о ARM, но SSE - это дополнительное расширение для x86, в то время как все, что вы упомянули для POWER, требуется для всех чипов POWER8
Fox
Я думаю, что мы рассмотрели случай Linux на stackoverflow.com/questions/46144668/… Вы хотите отредактировать этот случай , чтобы он был более специфичным для AIX?
Джереми Керр,

Ответы:

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 = рефов / теги / 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, возможно, он будет показывать флаги процессора?

Pedro
источник