Jak określić funkcje procesora w PowerPC i Power 8 (i wyżej)?


12

Możemy badać /proc/cpuinfona maszynach Intel i ARM, aby poznać funkcje procesora, takie jak AES i SHA. Muszę zrobić to samo dla PowerPC zarówno w systemie AIX, jak i Linux.

Testowanie w systemie Linux pokazano poniżej. Dane wyjściowe są wytwarzane przez GCC112 w farmie kompilacji .

$ 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 to maszyna Power 8. Powinienem widzieć flagi takie jak VMX, AES, SHA, PMULL itp. VMX jest mniej więcej PowerPC równoważny Intel SSE i ARM NEON.

Znalazłem kilka powiązanych dyskusji, takich jak / proc / cpuinfo na comp.os.linux.powerpc. Znalazłem również Co sprawdzamy w nowym systemie? , ale brakuje w nim użytecznych informacji, takich jak funkcje procesora. Wreszcie, istnieje podobne pytanie w Co oznaczają flagi w / proc / cpuinfo? , ale nie omawia PowerPC.

Wydaje się, że GCC dostarcza informacje do programów w języku C poprzez wykorzystanie wbudowanych funkcji . Na przykład jest vsxtest i vcryptotest. Problem polega na tym, że pracuję ze skryptu Bash, a nie programu C.

Nie wiem również, czego używać w systemie AIX. System AIX jest dostępny w GCC119 w farmie kompilacji .

Jak uzyskać funkcje procesora PowerPC w systemach AIX i Linux?

linux  aix  cpu  powerpc 

6
Możesz uzyskać informacje z lscpusystemu Linux i lscfg -vAIX.
Meuh

Dzięki @meuh - Bez radości. Dane wyjściowe dostępne w informacji o procesorze PowerPC .

1
Nie wiem o ARM, ale SSE jest opcjonalnym rozszerzeniem na x86, podczas gdy wszystko, co wspomniałeś o POWER, jest wymagane przez wszystkie układy POWER8
Fox

Myślę, że omówiliśmy przypadek Linuksa na stackoverflow.com/questions/46144668/…. Czy chcesz go edytować, aby był bardziej specyficzny dla systemu AIX?
Jeremy Kerr

Odpowiedzi:


3

Nie jestem pewien, dlaczego / proc / cpuinfo lub lscpunie ujawnia informacji o flagach . Znalazłem listę flag znanych dla jądra linuksa 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

Właśnie odkryłem, że możesz wyszukać wektory pomocnicze ELF, które pokażą ci niektóre możliwości sprzętowe.

$ 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

^^ twój AT_HWCAP będzie miał informację o flagach. Zamaskowany. Widziałem w Internecie próbki, które zostały dla ciebie zdekodowane. Niestety nie mam dostępu do sprzętu ppc do testowania.

lscpu powinien być dostępny w systemie AIX, może pokazywałby flagi procesora?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.