SSE5 - SSE5 - Wikipedia

The SSE5 (zkratka pro Streamování rozšíření SIMD verze 5) byl SIMD rozšíření instrukční sady navržené uživatelem AMD 30. srpna 2007 jako doplněk k 128bitové verzi SSE základní pokyny v AMD64 architektura.

AMD se rozhodla neimplementovat SSE5, jak bylo původně navrženo. V květnu 2009 AMD nahradila SSE5 třemi menšími rozšířeními instrukční sady s názvem jako XOP, FMA4, a F16C, které zachovávají navrhovanou funkcionalitu SSE5, ale kódují pokyny odlišně pro lepší kompatibilitu s navrhovanou společností Intel AVX instrukční sada.

Tři instrukční sady odvozené od SSE5 byly představeny v Buldozer procesorové jádro, vydané v říjnu 2011 dne a 32 nm proces.[1]

Kompatibilita

Balíček rozšíření SSE5 společnosti AMD neobsahuje úplnou sadu Intel je SSE4 pokyny, což z něj dělá spíše konkurenta SSE4 než nástupce.

To komplikuje vývoj softwaru. Doporučuje se, aby program testoval přítomnost rozšíření sady instrukcí pomocí instrukce CPUID před zadáním cesty kódu, která závisí na správné funkci těchto instrukcí. Pro maximální přenositelnost bude optimalizovaná aplikace vyžadovat tři cesty kódu: cesta základního kódu pro kompatibilitu se staršími procesory (od jednoho z dodavatelů), samostatně optimalizovaná cesta kódu Intel využívající SSE4 nebo AVX a samostatně optimalizovaná cesta kódu AMD využívající SSE5.

Kvůli tomuto šíření benchmarky mezi procesory Intel a AMD stále více odrážejí chytrost nebo kvalitu implementace odlišných cest kódu, spíše než sílu základní platformy.

Vylepšení SSE5

Navrhovaná sada instrukcí SSE5 sestávala ze 170 instrukcí (včetně 46 základních instrukcí), z nichž mnohé jsou navrženy ke zlepšení výkonu s jedním vláknem. Některé pokyny SSE5 jsou Pokyny pro 3 operandy, jejichž použití zvýší průměrný počet pokyny na cyklus dosažitelné x86 kód.[2] Mezi vybrané nové pokyny patří:[3]

AMD tvrdí, že SSE5 poskytne dramatické vylepšení výkonu, zejména v vysoce výkonné výpočty (HPC), multimédia, a zabezpečení počítače aplikací, včetně 5násobného zvýšení výkonu pro Advanced Encryption Standard (AES) šifrování a 30% zvýšení výkonu pro diskrétní kosinová transformace (DCT) používané ke zpracování video streamů.[2]

Podrobnější informace najdete v sadách pokynů, jak jsou dále rozděleny.

Revize 2009

Specifikace SSE5 zahrnovala navrhované rozšíření obecného schématu kódování z x86 instrukce, aby instrukce mohly mít více než dva operandy. V roce 2008, Intel oznámili svůj plán AVX instrukční sada, která navrhovala odlišný způsob kódování instrukcí s více než dvěma operandy. Dvě navrhovaná schémata kódování, SSE5 a AVX, jsou vzájemně nekompatibilní, ačkoli schéma AVX má určité výhody oproti schématu SSE5: co je nejdůležitější, AVX má dostatek prostoru pro budoucí rozšíření, včetně větších vektorových velikostí.

V květnu 2009 společnost AMD zveřejnila revidovanou specifikaci plánovaných budoucích pokynů. Tato revize mění schéma kódování tak, aby byla kompatibilní se schématem AVX, ale s odlišným bajtem předpony, aby se zabránilo překrývání mezi pokyny zavedenými AMD a pokyny zavedenými společností Intel.

Revidovaná sada instrukcí již nese název SSE5, který byl kritizován za zavádějící, ale většina instrukcí v nové revizi je funkčně shodná s původní specifikací SSE5 - liší se pouze způsob kódování instrukcí. Plánované doplňky instrukční sady AMD se skládají ze tří podmnožin:

  1. XOP: Celočíselný vektor znásobit – hromadit instrukce, horizontální sčítání celočíselných vektorů, porovnávání celočíselných vektorů, instrukce posunu a otáčení, instrukce permutace bajtů a podmíněného pohybu, extrakce zlomku desetinné čárky.
  2. FMA4: Vektor s plovoucí desetinnou čárkou znásobit – hromadit.
  3. F16C: Poloviční přesnost převod s plovoucí desetinnou čárkou.

Tyto nové sady instrukcí zahrnují podporu pro budoucí rozšíření velikosti vektoru od 128 bitů do 256 bitů. Z těchto předběžných specifikací není jasné, zda Buldozer procesor bude podporovat 256bitové vektorové registry (YMM registry).[4]

Viz také

Reference

  1. ^ Hruska, Joel (14. listopadu 2008). „AMD Fusion nyní posunuta zpět do roku 2011“. Ars Technica.
  2. ^ A b Vance, Ashlee (30. srpna 2007). „AMD vykresluje podporu jednoho vlákna s příponami x86“. Registrace.
  3. ^ „128bitová instrukční sada SSE5“. AMD Developer Central. Archivovány od originál dne 15. ledna 2008. Citováno 28. ledna 2008.
  4. ^ „AMD64 Architecture Programmer's Manual Volume 6: 128-Bit and 256-Bit XOP and FMA4 Instructions“ (PDF). AMD. 1. května 2009.

externí odkazy