是否可以获得 /proc/cpuinfo 中包含的功能的(简短)描述?

问题描述 投票:0回答:1

场景:

$ cat /proc/cpuinfo | grep fp | sort -u
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm

在这里我们看到功能列表。

是否可以获得每个功能的(简短)描述?

示例:

$ <some_command>
feature  short description
crc32    CRC32 instructions
aes      Advanced SIMD AES instructions
...
linux arm
1个回答
0
投票

使用/proc/cpuinfo 中的标志是什么意思?中的想法。不幸的是,Linux 中没有像 x86 那样注释 ARM64 功能名称的源代码,所以我不得不使用 golangcpu package

中的版本
ARM64_FEATURES="$(wget -qO- https://github.com/golang/sys/raw/master/cpu/cpu.go \
    | awk '/ARM64/,/}/')"
for feature in $(grep "^Features" /proc/cpuinfo | sort -u | cut -d":" -f2); do
    printf "${feature}\t"
    echo "$ARM64_FEATURES" | grep -i "Has${feature}\s" | sed 's#.* // ##'
done | column -t -s $'\t'

您的案例的输出示例

fp        Floating-point instruction set (always available)
asimd     Advanced SIMD (always available)
evtstrm   Event stream support
aes       AES hardware implementation
pmull     Polynomial multiplication instruction set
sha1      SHA1 hardware implementation
sha2      SHA2 hardware implementation
crc32     CRC32 hardware implementation
atomics   Atomic memory operation instruction set
fphp      Half precision floating-point instruction set
asimdhp   Advanced SIMD half precision instruction set
cpuid     CPUID identification scheme registers
asimdrdm  Rounding double multiply add/subtract instruction set
jscvt     Javascript conversion from floating-point to integer
fcma      Floating-point multiplication and addition of complex numbers
dcpop     Persistent memory support
asimddp   Advanced SIMD double precision instruction set
asimdfhm  Advanced SIMD multiplication FP16 to FP32
© www.soinside.com 2019 - 2024. All rights reserved.