Варианты микроархитектуры x86
Варианты микроархитектуры x86-64.
Содержание
1 Варианты микроархитектуры
- Пропишем именование уровней и соответствующие расширения макроархитектуры.
- x86-64-v1 : CMOV, CX8, FPU, FXSR, MMX, OSFXSR, SCE, SSE, SSE2;
- x86-64-v2 : CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4_1, SSE4_2, SSSE3;
- x86-64-v3 : AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, OSXSAVE;
- x86-64-v4 : AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.
2 Программное определение варианта микроархитектуры
2.1 Флаг процессора
- Флаги процессора можно определить через
/proc
-файловую систему:1cat /proc/cpuinfo | grep "^flags.*" | uniq
2.2 glibc
- Можно запустить линкер:
1/lib64/ld-linux-x86-64.so.2 --help | grep supported
2.3 x86-64-level
- Репозиторий: https://github.com/HenrikBengtsson/x86-64-level
- По сути своей является скриптом, проверяющим наличие определённых флагов у процессора.