/proc/cpuinfo
IntelおよびARM AESやSHAなどのCPU機能を学ぶためのマシン。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は、おおよそIntel SSEおよびARM NEON。
Comp.os.linux.powerpcで / proc/cpuinfo のような関連するディスカッションを見つけました。私は 新しいシステムで何をチェックしますか? も見つけましたが、CPU機能のような有用な詳細が欠けています。最後に、関連する質問が / proc/cpuinfoのフラグはどういう意味ですか? にありますが、PowerPCについては説明されていません。
GCCは built-ins を使用してCプログラムに情報を提供しているようです。たとえば、vsx
テストとvcrypto
テストがあります。問題は、CプログラムではなくBashスクリプトから作業していることです。
また、AIXで何を使用するかわかりません。 AIXは コンパイルファーム の GCC119 で入手できます。
AIXおよびLinuxでPowerPC CPU機能を取得するにはどうすればよいですか?
/ 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フラグが表示されますか?