Як визначити особливості процесора на 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?

linux  aix  cpu  powerpc 

6
Ви можете отримати інформацію з lscpuLinux та 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 = 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 матиме інформацію про прапор. Масковане. Я бачив в Інтернеті зразки, на яких цей запис розшифрований для вас. На жаль, я не маю доступу до апаратного забезпечення для тестування.

lscpu має бути доступний на AIX, можливо, він би відображав прапорці процесора?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.