SSSE3
SSSE3, Supplemental Streaming SIMD Extensions 3, přidává operace s packed celými čísly, jako jsou bajtová přeskupení (byte shuffles), horizontální aritmetika a znaménkové operace. Písmeno S navíc jej odlišuje od SSE3.
Co potřebujete vědět
SSSE3, Supplemental Streaming SIMD Extensions 3, přidává operace s packed celými čísly, jako jsou bajtová přeskupení (byte shuffles), horizontální aritmetika a znaménkové operace. Písmeno S navíc jej odlišuje od SSE3.
Jak to funguje
PSHUFB vybírá bajty pomocí řídicího vektoru pro každý bajt, což z něj činí užitečný nástroj pro přeskupování a transformace malých tabulek. Mezi další instrukce SSSE3 patří packed absolutní hodnoty, formy násobení a sčítání a horizontální celočíselná aritmetika. Pro konkrétní operaci je nutné ověřit šířku operandu a pravidla saturace.
Kde je funkce užitečná
Kodek nebo rutina pro zpracování textu může použít přeskupení bajtů k reorganizaci vstupu před provedením aritmetiky. To neznamená, že PSHUFB poskytuje neomezené vyhledávání v libovolné paměti: doménou jeho vyhledávání jsou zdrojová data instrukce a definovaný rozsah linek.
Jak ověřit podporu a aktivaci
CPUID.01H:ECX bit 9 indikuje SSSE3. Runtime dispečer musí tento bit otestovat před použitím starší cesty SSSE3 a před volbou širších kódování musí otestovat příslušné dodatečné rozšíření.
Funkce SIMD popisuje instrukce, nikoli dodatečná jádra. Tvar instrukce určuje šířku prvku, znaménkovost, zaokrouhlování, zarovnání a to, které pruhy spolu interagují. Software musí zachovat stav registrů podle ABI a používat podporované prováděcí prostředí.
Co tato funkce nezajišťuje
SSSE3 nezahrnuje všechny instrukce SSE4. Podobné pojmenování neznamená, že SSE3 a SSSE3 jsou vzájemně zaměnitelné cíle kompilátoru. Pozdější širší formy VEX nebo EVEX mají dodatečné požadavky na funkce.
Kompatibilita a výkon v praxi
Pozdější názvy v rodině SSE mají samostatné bity funkcí. U nasazeného binárního souboru prověřte úplnou minimální sadu funkcí, včetně knihoven a spouštěcího kódu. Záložní řešení je užitečné pouze tehdy, pokud se před krokem výběru nespustí žádná nepodporovaná instrukce.
Praktický kontrolní seznam pro ověření
- Zaznamenejte přesný model procesoru nebo platformy a použité verze aplikace, operačního systému a běhového prostředí. Uchovejte přesné znění chybové zprávy nebo požadavku.
- Zkontrolujte dokumentaci výrobce pro daný konkrétní model a poté prověřte skutečně dostupnou kapacitu a stav aktivace v prostředí, kde program běží.
- Porovnejte veškeré požadavky vybraného binárního souboru nebo backendu. Podobně pojmenovaná funkce, alias nebo obecné technologické označení nestačí.
- Ověřte, že aplikace vybrala zamýšlenou implementaci. Pokud nejsou požadavky splněny, použijte její zdokumentovanou diagnostiku a podporované náhradní řešení.
- Provádějte vždy jen jednu podporovanou změnu a zopakujte identickou zátěž. Původní konfiguraci a postup obnovy mějte neustále k dispozici.
Pokud je funkce uvedena, ale software ji nemůže použít
Začněte u přesné komponenty, u níž dochází k selhání. Databáze hardwaru popisuje zaznamenané schopnosti; operační systém nebo hypervizor však může vystavit odlišné efektivní prostředí. Chyba neplatné instrukce vyžaduje také prozkoumání skutečné chybující instrukce a sestavení binárního souboru, protože poškození dat nebo nesouvisející nepodporovaná instrukce mohou vyvolat podobný projev.
Nainstalujte verzi aplikace, ovladače nebo běhového prostředí podporovanou pro danou platformu a v případě potřeby použijte výrobcem zdokumentované základní nebo náhradní sestavení. Aktualizace softwaru nemůže vytvořit instrukci, kterou procesor fyzicky postrádá. Změny firmwaru a zásad zabezpečení by se měly řídit postupem výrobce systému a plánem obnovy, nikoli obecným návodem na optimalizaci.
Zdroje a rozsah tohoto vysvětlení
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: úrovně architektury a mikroarchitektury procesoru
Tyto referenční dokumenty stanovují architektonické chování a softwarové požadavky. Neověřují nezávisle každou hodnotu funkce na odkazované stránce hardwarového modelu. Informace o podpoře konkrétního modelu čerpejte z podkladů výrobce na příslušné stránce a zkontrolujte platnou konfiguraci systému. Tento článek neposkytuje benchmark, certifikaci ani datum nezávislého přezkumu.
Zdroje a ověření
Redakční vlastnictví: Feex. Není zaznamenáno žádné datum nezávislého přezkoumání. Jak provádíme výzkum.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Svazky 1 a 2 popisují jmenovité rodiny instrukcí a CPUID; Svazek 3 popisuje stav, stránkování, VMX a řízení ochrany. Architektonická dokumentace nepotvrzuje podporu pro konkrétní model.
- x86-64 psABI: úrovně architektury a mikroarchitektury procesoru · Machine Interface, Processor Architecture: tabulka základních a kumulativních funkcí v2/v3/v4, kontroly stavu operačního systému a doporučení pro nasazení.
Byl tento článek užitečný?
Stačí ano nebo ne. Pokud chcete, vyberte důvod nebo přidejte krátkou poznámku.
Děkujeme. Pomáhá nám to tuto stránku vylepšovat.