Co to są instrukcje FMA?

FMA4, AVX2 czy SSE3 - pod tymi wszystkimi tajemniczo brzmiącymi nazwami kryją się dodatkowe instrukcje procesora, dzięki którym możne on szybciej przeprowadzać dane obliczenia.

Image

Każdy model procesora wyposażony jest w zestaw dodatkowych instrukcji. Generalnie im procesor więcej rozkazów obsługuje - tym lepiej, bowiem oprogramowanie zoptymalizowane pod ich kątem może działać znacznie szybciej. Wśród dodatkowych instrukcji możemy wyróżnić takie odpowiedzialne za szyfrowanie (jak AES, czy SHA), obsługę wirtualizacji (AMD-V, czy VT-x), jak i przyśpieszające obliczenia matematyczne np. w dziedzinie multimediów (jak właśnie SSE, AVX, XOP czy FMA). Przy okazji nie zapomnijcie zajrzeć do naszego rankingu CPU.

Dodatkowe instrukcje są opracowywane zarówno przez AMD, jak i Intela, a najbardziej użyteczne trafiają do procesorów obu producentów. Zdarzało się również, że rozkazy opracowane z myślą o wykorzystaniu w produktach tylko jednej firmy w końcu ewoulowały do zgodności z instrukcjami konkurenta (np. 3DNow! do SSE).

Image
Listę instrukcji które obsługuje nasz procesor możemy poznać za pomocą narzędzia CPU-Z

Instrukcje FMA4 i FMA3

Rozkazy FMA (Fused Multiply-Add) w wersji 4 i 3 mają w zasadzie identyczną funkcjonalność, ale nie są ze sobą zgodne. Są to 128 i 256-bitowe rozszerzenia instrukcji SSE (Streaming SIMD Extrensions) akumulujące wyniki mnożenia.

Wbrew numeracji, to właśnie instrukcje FMA4 wprowadzono jako pierwsze, a konkretnie do procesorów AMD opartych na mikroarchitekturze Bulldozer (np. Zambezi). Dopiero kolejna rodzina procesorów (Piledriver) otrzymała instrukcje FMA3, a Intel zaczął implementować te rozkazy od czwartej (Haswell) i piątej (Broadwell) generacji Core. Wsparcie AMD dla FMA4 zakończyło się wraz z ostatnimi modelami opartymi na architekturze Bulldozer (Excavator), a więc nie znajdziemy ich już w modelach Ryzen (mikroarchitektura Zen). Podobny los spotkał instrukcje XOP. Warto jednak wspomnieć, że entuzjastom udało się uruchomić programy wykorzystujące instrukcje FMA4 na procesorach Zen, jednak oficjalnie modele te nie mają ich obsługi.

Jak sprawdzić wydajność pod kątem instrukcji SSE i ich rozszerzeń?

Image
3D Mark Night Raid - test w którym sprawdzimy wydajność procesora pod kątem dodatkowych rozkazów CPU

Jak przetestować wydajność procesora pod kątem dodatkowych rozkazów procesora? Można to zrobić za pomocą benchmarków - umożliwia to nawet popularny 3D Mark. Test procesora w module Night Raid pozwala wykorzystać intrukcje AVXFMA, AVX2, AVX512, czy też SSE3.

Źródło: informacja własna

Wybrane dla Ciebie
ZANIM WYJDZIESZ... NIE PRZEGAP TEGO, CO CZYTAJĄ INNI!