SSE
SSE, Streaming SIMD Extensions, zavedlo x86 registry XMM a operace s packed hodnotami s plovoucí řádovou čárkou v jednoduché přesnosti. Jde o prvního člena řady samostatně identifikovatelných rozšíření SIMD.
Co potřebujete vědět
SSE, Streaming SIMD Extensions, zavedlo x86 registry XMM a operace s packed hodnotami s plovoucí řádovou čárkou v jednoduché přesnosti. Jde o prvního člena řady samostatně identifikovatelných rozšíření SIMD.
Jak to funguje
Registr XMM má šířku 128 bitů. Operace typu packed single-precision pracují se 4 32bitovými hodnotami s plovoucí řádovou čárkou, zatímco skalární formy pracují s jednou hodnotou a zachování zbývajících bitů závisí na konkrétní instrukci. SSE také zavedlo řídicí a stavové prostředí MXCSR pro výjimky a zaokrouhlování v SIMD výpočtech s plovoucí řádovou čárkou.
Kde je funkce užitečná
Grafické a zvukové rutiny mohou aplikovat stejnou operaci na více nezávislých hodnot. Linky SIMD (lanes) jsou datové prvky v rámci instrukce, nikoli jádra CPU nebo vlákna operačního systému. Okolní program stále obsluhuje načítání z paměti, ukládání a výjimečné hodnoty.
Jak ověřit podporu a aktivaci
CPUID.01H:EDX bit 25 indikuje SSE. Operační systém musí poskytovat náležitou správu stavu XMM/MXCSR. V běžném podporovaném ABI architektury x86-64 jsou SSE a SSE2 základními prostředky, avšak 32bitová aplikace má svůj vlastní základní profil pro nasazení.
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
Samotné SSE nezaručuje celočíselné operace nebo operace v dvojité přesnosti z SSE2, pozdější rozšíření SSE, AVX ani zásadu podpory ze strany operačního systému. Některé starší instrukce vyžadují specifické zarovnání paměti, které programátor musí respektovat.
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.