¿Cómo determinar las características de la CPU en PowerPC y Power 8 (y superior)?

12

Podemos examinar /proc/cpuinfoen máquinas Intel y ARM para conocer las características de la CPU, como AES y SHA. Necesito hacer lo mismo para PowerPC en AIX y Linux.

Las pruebas con Linux se muestran a continuación. El resultado es producido por GCC112 en la granja de compilación .

$ 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 es una máquina Power 8. Debería ver banderas como VMX, AES, SHA, PMULL, etc. VMX es aproximadamente el equivalente de PowerPC a Intel SSE y ARM NEON.

Encontré algunas discusiones relacionadas como / proc / cpuinfo en comp.os.linux.powerpc. También encontré ¿Qué verificamos en un nuevo sistema? , pero carece de detalles útiles como las características de la CPU. Finalmente, hay una pregunta relacionada en ¿Qué significan las banderas en / proc / cpuinfo? , pero no trata sobre PowerPC.

GCC parece proporcionar la información a los programas de C a través del uso de elementos integrados . Por ejemplo, hay una vsxprueba y una vcryptoprueba. El problema es que estoy trabajando desde un script Bash y no desde un programa en C.

Tampoco sé qué usar para AIX. AIX está disponible en GCC119 en la granja de compilación .

¿Cómo obtengo las características de la CPU PowerPC en AIX y Linux?


fuente
66
Puede obtener información de lscpuLinux y lscfg -vAIX.
meuh
Gracias @ meuh - No hay alegría. Salida disponible en la información de la CPU PowerPC .
1
No sé acerca de ARM, pero SSE es una extensión opcional en x86, mientras que todo lo que ha mencionado para POWER es requerido por todos los chips POWER8
Fox
Creo que hemos cubierto el caso de Linux en stackoverflow.com/questions/46144668/… , ¿desea editar este para ser más específico para AIX?
Jeremy Kerr

Respuestas:

3

No estoy seguro de por qué / proc / cpuinfo o lscpuno revela información de marca . He encontrado la lista de banderas conocidas por el kernel de 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

Acabo de descubrir que puede buscar vectores auxiliares ELF que le mostrarán algunas capacidades de 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

^^ su AT_HWCAP tendrá información de marca. Enmascarado. He visto muestras en Internet que tienen esta entrada decodificada para ti. Lamentablemente, no tengo acceso al hardware de ppc para probarlo.

lscpu debería estar disponible en AIX, ¿tal vez mostraría indicadores de CPU?

Pedro
fuente