Come determinare le funzionalità della CPU su PowerPC e Power 8 (e versioni successive)?


12

Possiamo esaminare /proc/cpuinfosu macchine Intel e ARM per apprendere le funzionalità della CPU, come AES e SHA. Devo fare lo stesso per PowerPC sia con AIX che con Linux.

I test con Linux sono mostrati di seguito. L'output viene prodotto da GCC112 nella farm di compilazione .

$ 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 è una macchina Power 8. Dovrei vedere bandiere come VMX, AES, SHA, PMULL, ecc. VMX è all'incirca l'equivalente PowerPC di Intel SSE e ARM NEON.

Ho trovato alcune discussioni correlate come / proc / cpuinfo su comp.os.linux.powerpc. Ho anche trovato Cosa controlliamo su un nuovo sistema? , ma manca di dettagli utili come le funzionalità della cpu. Infine, c'è una domanda correlata in Cosa significano le bandiere in / proc / cpuinfo? , ma non tratta PowerPC.

GCC sembra fornire le informazioni ai programmi C attraverso l'uso di built-in . Ad esempio, c'è un vsxtest e un vcryptotest. Il problema è che sto lavorando da uno script Bash e non da un programma C.

Inoltre non so cosa usare per AIX. AIX è disponibile su GCC119 nella farm di compilazione .

Come posso ottenere le funzionalità della CPU PowerPC su AIX e Linux?

linux  aix  cpu  powerpc 

6
Potresti ottenere alcune informazioni da lscpusu Linux e lscfg -vsu AIX.
Meuh

Grazie @meuh - Nessuna gioia. Uscita disponibile alle informazioni sulla CPU PowerPC .

1
Non so ARM, ma SSE è un'estensione opzionale su x86, mentre tutto ciò che hai menzionato per POWER è richiesto da tutti i chip POWER8
Fox

Penso che abbiamo trattato il caso Linux su stackoverflow.com/questions/46144668/… , vuoi modificare questo per essere più specifico di AIX?
Jeremy Kerr,

Risposte:


3

Non sono sicuro del perché / proc / cpuinfo o lscpunon riveli le informazioni sulla bandiera. Ho trovato l'elenco di flag noti al kernel linux https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/powerpc/include/asm/ cputable.h? id = refs / tag / v4.9

Ho appena scoperto che puoi cercare i vettori ausiliari ELF che ti mostreranno alcune funzionalità hardware.

$ 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

^^ il tuo AT_HWCAP avrà informazioni sulla bandiera. Mascherato. Ho visto campioni su Internet che hanno decodificato questa voce per te. Purtroppo non ho accesso all'hardware ppc su cui testare.

lscpu dovrebbe essere disponibile su AIX, forse mostrerebbe i flag della CPU?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.