ADX
ADX pridáva celočíselné sčítacie inštrukcie x86, ktoré umožňujú nezávislé reťazce prenosu. Je užitočná pre starostlivo napísanú viacnásobnú presnú aritmetiku a je nezávislá od BMI2.
Čo potrebujete vedieť
ADX pridáva celočíselné sčítacie inštrukcie x86, ktoré umožňujú nezávislé reťazce prenosu. Je užitočná pre starostlivo napísanú viacnásobnú presnú aritmetiku a je nezávislá od BMI2.
Ako to funguje
ADCX používa príznak prenosu a ADOX používa príznak pretečenia ako samostatné vstupy a výstupy prenosu. Rutina pre veľké čísla môže prekladať dva reťazce, keď to dátové závislosti umožňujú. Počiatočné hodnoty príznakov, alokácia registrov a interakcia s inými inštrukciami zapisujúcimi do príznakov musia byť riadené.
Kde je to užitočné
Násobiace jadro pre veľké čísla dokáže kombinovať čiastkové súčiny s nezávislými reťazcami prenosu, niekedy spoločne s MULX z BMI2. Ide o voľbu implementácie vnútri knižnice, nie o celoprocesorový režim, ktorý by zrýchlil každé sčítanie celých čísel.
Ako overiť podporu a povolenie
CPUID.07H.00H:EBX bit 19 indikuje ADX. Pre každú ďalšiu rodinu inštrukcií použitú v rutine vykonajte vetvenie nezávisle. Overte šírenie prenosu a hraničné prípady, ako aj bežné číselné výsledky.
Skontrolujte presnú inštrukciu a tvar operandu namiesto vyvodzovania podpory zo susedného rozšírenia. Skalárne celočíselné funkcie spravidla využívajú univerzálne registre; kódovanie spojené s vektormi automaticky neznamená požiadavku na vektorový stav.
Čo táto funkcia nezakladá
ADX nezaručuje kryptografickú implementáciu s konštantným časom behu ani nezrýchľuje všetky operácie s veľkými číslami. Neimplikuje BMI2 a použitie inej inštrukcie, ktorá prepíše požadovaný príznak, môže algoritmus narušiť.
Kompatibilita a výkon v praxi
Správnosť závisí od okrajových prípadov rovnako ako od rýchlosti. Nulový vstup, pretečenie, príznaky prenosu, šírka operandu, zarovnanie a usporiadanie pamäte môžu zmeniť sémantiku. Uprednostňujte rozhrania kompilátora alebo knižníc, ktoré tieto podrobnosti dokumentujú a poskytujú podporované náhradné riešenie.
Praktický kontrolný zoznam na overenie
- Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
- Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
- Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
- Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
- Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.
Ak je funkcia uvedená, ale softvér ju nemôže použiť
Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.
Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.
Zdroje a rozsah tohto vysvetlenia
Intel 64 and IA-32 Architectures Software Developer's Manual
Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.
Zdroje a overenie
Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
Bol tento článok užitočný?
Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.
Ďakujeme. Pomáha nám to zlepšovať túto stránku.