ABM
ABM, Advanced Bit Manipulation, je terminológia spojená s funkciami počítania bitov od spoločnosti AMD. Označenie ABM v databáze by sa malo priradiť k presným inštrukciám a bitom CPUID, ktoré softvér vyžaduje.
Čo potrebujete vedieť
ABM, Advanced Bit Manipulation, je terminológia spojená s funkciami počítania bitov od spoločnosti AMD. Označenie ABM v databáze by sa malo priradiť k presným inštrukciám a bitom CPUID, ktoré softvér vyžaduje.
Ako to funguje
Toto označenie sa v popisoch funkcií AMD bežne spája s LZCNT a POPCNT. Tie počítajú počet počiatočných núl a nastavených bitov, aplikácie by ich však mali enumerovať podľa špecifikácie CPUID od dodávateľa. Inštrukcia LZCNT má kódovaciu väzbu na BSR a líši sa pri nulovom vstupe a správaní príznakov.
Kde je to užitočné
Numerická rutina môže potrebovať LZCNT na určenie veľkosti, zatiaľ čo rutina pre bitové množiny potrebuje POPCNT na zistenie počtu prvkov. Riešia odlišné problémy a nemožno ich vzájomne zamieňať len preto, že ich súhrn uvádza spoločne.
Ako overiť podporu a povolenie
Skontrolujte rozšírenú špecifikáciu CPUID od AMD pre ABM/LZCNT na 80000001H:ECX bit 5 a skontrolujte POPCNT na 01H:ECX bit 23 podľa skutočných požiadaviek programu. Overte výklad špecifický pre daného výrobcu v príslušnej príručke k architektúre.
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á
ABM nie je BMI1 ani BMI2. Označenie dodávateľa sa nesmie premieňať na predpoklad, že existuje každá inštrukcia na manipuláciu s bitmi. Vykonanie kódovania LZCNT na nepodporovanom procesore sa môže zachovať ako iná inštrukcia namiesto vyvolania zjavnej chyby.
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
AMD CPUID Specification, publication 25481 · 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.
- AMD CPUID Specification, publication 25481 · Archivovaná architektonická referencia pre zavedené funkcie AMD CPUID a definície bitov. Pre novšie rozšírenia špecifické pre generáciu použite aktuálnu programovaciu referenciu procesora.
- 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.