W tym artykule omówimy typy procesorów x86-64. W 2020 roku dzięki kolaboracji firm Intel, AMD, Red Hat i SUSE udało się stworzyć podział na poziomy funkcji mikroarchitektury x86-64. Dzięki temu zdefiniowano podstawowe zestawy instrukcji dostępnych na procesorze, na które kompilator może się powołać. Nowsze procesory x86-64 mają dodatkowe instrukcje, dzięki którym kompilator może zoptymalizować kod, efektem jest szybszy czas wykonania kosztem kompatybilności wstecznej ponieważ kod skompilowany dla nowszego poziomu nie będzie działał na starszych procesorach, które tych instrukcji nie posiadają.
Każdy poziom mikroarchitektury odpowiada podstawowej liczbie instrukcji dostępnych na procesorze.
CMOV, CX8, FPU, FXSR, MMX, OSFXSR, SCE, SSE, SSE2
CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4_1, SSE4_2, SSSE3
AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, OSXSAVE
AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
Szczegółowe informacje na temat podziału mikroprocesorów na poszczególne poziomy można znaleźć tutaj.
KVM ma możliwość przekazywania zestawów instrukcji do wirtualnego procesora w VM, maskując niektóre zestawy instrukcji hypervisora przed serwerem wirtualnym.
Jeśli mamy specyficzną aplikację lub system operacyjny, który wymaga do działania specyficznego zestawu instrukcji, możemy podczas tworzenia wirtualnego serwera wskazać poziom mikroatchitektury, którą wirtualizator ma emulować.
Również może być to przydatne, jeśli wykonywana była migracja z VMware i zmigrowany system operacyjny nie chce się uruchomić ze względu na to, że na oryginalnym środowisku VMware były host z inną mikroarchitekturą. Wskazanie mikroarchitektury procesora identycznej jak na źródłowym środowisku rozwiązuje ten problem.
Podczas tworzenia serwera lub migracji z VMware wystarczy wskazać architekturę na formularzu konfiguracji serwera.
Aby zmienić architekturę procesora na istniejącym serwerze, najpierw musimy go wyłączyć. Następnie w widoku szczegółowym tego serwera należy wybrać zakładkę “Zaawansowane”, a następnie kliknąć w przycisk “Zmień architekturę procesora”.
W oknie, jakie się pojawi, możemy wybrać architekturę, jaka jest nam potrzebna, a następnie zatwierdzić nasz wybór klikając w przycisk “Zapisz zmiany”.