2015-01-28 15 views
9

I nie szukał w internecie i intel Software manual. Ale jestem w stanie potwierdzić, czy wszystkie architektury Intel 64 obsługują września ssse3 lub zapisu do SSE4.1 lub zapisu do SSE4.2 lub AVX itp więc, że będę w stanie wykorzystać minimum instrukcje SIMD obsługiwana w moim programie. Proszę pomóż.Do wszystkich architekturach 64-bitowy Intel obsługują instrukcje ssse3/SSE4.1/SSE4.2?

+0

Myślę, że to prawdopodobnie poprawne (tylko dla SSSE3), ale uważaj na AMD64, który zazwyczaj nie ma SSSE3. –

+1

Intel Core2 pierwszej generacji (merom/conroe z 2006 r.) Ma SSSE3. AMD PhenomII (k10) to najnowsza mikroarchitektura, która * nie * ma SSE3/SSSE3. Jeśli wykonujesz wykrywanie CPU w środowisku wykonawczym, aby włączyć funkcje wektorowe, nie powinieneś kłopotać się ręcznym pisaniem wersji SSE2 z wewnętrzną, może tylko wersją SSSE3 i AVX, na przykład. Jeśli cokolwiek w SSE4.1 bardzo pomaga dla twojego kodu (np. 32-bitowa liczba całkowita), możesz także utworzyć wersję dla SSE4.1 bez AVX (dla procesorów Penryn/Nehalem/Silvermont i kalibrujących Pentium/Celeron SnB) (AVX wyłączony).) –

Odpowiedz

17

64 natywnego (AMD64 lub Intel 64) procesora jest uprawniony do obsługi tylko SSE i SSE2.

SSE3 jest obsługiwane przez procesory Intel Pentium 4 ("Prescott"), AMD Athlon 64 ("wersja E"), AMD Phenom i nowsze procesory. Oznacza to, że większość procesorów x64 może obsługiwać SSE3.

Dodatkowa karta SSE3 (SSSE3) jest obsługiwana przez procesory Intel Core 2 Duo, Intel Core i7/i5/i3, Intel Atom, AMD Bulldozer, AMD Bobcat i nowsze procesory.

SSE4.1 jest obsługiwane przez procesory Intel Core 2 ("Penryn"), Intel Core i7 ("Nehalem"), Intel Atom (rdzeń Silvermont), AMD Bulldozer, AMD Jaguar i nowsze procesory.

SSE 4.1 i SSE4.2 są obsługiwane w procesorach Intel Core i7 ("Nehalem"), Intel Atom (rdzeń Silvermont), AMD Bulldozer, AMD Jaguar i późniejszych procesorach.

AVX jest obsługiwany przez firmę Intel „Sandy Bridge”, AMD Bulldozer AMD Jaguar, a później procesorów.

Zobacz this blog series.

Procesor z natywną obsługą x64, ale bez obsługi SSE3, będzie 64-bitowa "pierwsza generacja", która nie jest obsługiwana przez system operacyjny Windows 8.1 x64 ze względu na wymagania dla CMPXCHG16b, PrefetchW i LAHF/SAHF; więc w praktyce SSE3 jest bardzo prawdopodobne w nowszych maszynach. SSSE3 lub nowszy jest bardziej restrykcyjny w zależności od tego, do kogo dokładnie dążysz. Na przykład, Valve Hardware Survey stawia SSE4.1 na 77%, SSE 4.2 na 72% (wszystko od AMD lub Intel z SSE4.1 ma również SSE3 i SSSE3).

+3

Procesory Celeron i Pentium firmy Sandy Bridge i Haswell nie obsługują AVX (lub AVX2). Nie sądzę, że procesory Atom również obsługują AVX –