ABM
ABM, Advanced Bit Manipulation, terminologija je povezana s AMD-ovim mogućnostima brojanja bitova. Oznaku ABM u bazi podataka treba razriješiti na točne instrukcije i CPUID bitove koje softver zahtijeva.
Što trebate znati
ABM, Advanced Bit Manipulation, terminologija je povezana s AMD-ovim mogućnostima brojanja bitova. Oznaku ABM u bazi podataka treba razriješiti na točne instrukcije i CPUID bitove koje softver zahtijeva.
Kako funkcionira
Oznaka se obično povezuje s LZCNT i POPCNT u AMD-ovim opisima značajki. Oni broje vodeće nule, odnosno postavljene bitove, ali aplikacije bi ih trebale pobrojati u skladu s proizvođačevom CPUID specifikacijom. LZCNT ima odnos kodiranja s BSR i razlikuje se po ponašanju pri nultom unosu i zastavicama.
Gdje je korisno
Numerička rutina može trebati LZCNT za određivanje magnitude, dok rutina za skupove bitova treba POPCNT za brojanje članstva. One rješavaju različite probleme i ne mogu se međusobno zamijeniti samo zato što ih sažetak grupira zajedno.
Kako provjeriti podršku i omogućavanje
Provjerite AMD-ovu proširenu CPUID specifikaciju za ABM/LZCNT na 80000001H:ECX bit 5 i provjerite POPCNT na 01H:ECX bit 23 za stvarni zahtjev programa. Potvrdite tumačenje specifično za proizvođača u relevantnom priručniku za arhitekturu.
Provjerite točan oblik instrukcije i operanda umjesto da zaključujete o podršci iz susjednog proširenja. Skalarne cjelobrojne značajke uglavnom koriste registre opće namjene; kodiranje povezano s vektorima ne znači automatski zahtjev za vektorskim stanjem.
Što ova značajka ne utvrđuje
ABM nije BMI1 ili BMI2. Proizvođačeva oznaka ne smije se pretvoriti u pretpostavku da svaka instrukcija za manipulaciju bitovima postoji. Izvršavanje LZCNT kodiranja na nepodržanom procesoru može se ponašati kao druga instrukcija umjesto da izazove očitu pogrešku.
Kompatibilnost i performanse u praksi
Ispravnost ovisi o graničnim slučajevima, kao i o brzini. Nulti unos, preljev, zastavice prijenosa, širina operanda, poravnanje i redoslijed memorije mogu promijeniti semantiku. Dajte prednost sučeljima prevoditelja ili biblioteka koja dokumentiraju te pojedinosti i pružaju podržanu zamjensku opciju.
Praktičan kontrolni popis za provjeru
- Zabilježite točan model procesora ili platforme te verzije aplikacije, OS-a i izvršnog okruženja. Sačuvajte formulaciju stvarne pogreške ili zahtjeva.
- Provjerite proizvođačevu referencu za taj točan model, a zatim pregledajte stvarnu sposobnost i omogućeno stanje u okruženju u kojem se program izvodi.
- Usporedite svaki zahtjev odabrane binarne datoteke ili pozadinskog sustava. Slično nazvana značajka, pseudonim ili široka tehnološka oznaka nisu dovoljni.
- Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njezinu dokumentiranu dijagnostiku i podržanu zamjensku opciju kada zahtjevi nisu ispunjeni.
- Napravite jednu po jednu podržanu promjenu i ponovite isto radno opterećenje. Zadržite izvornu konfiguraciju i put oporavka dostupnima.
Ako je značajka navedena, ali je softver ne može koristiti
Počnite s točnom komponentom koja zakazuje. Hardverska baza podataka opisuje zabilježenu sposobnost; operacijski sustav ili hipervizor mogu izložiti drukčije stvarno okruženje. Pogreška nedopuštene instrukcije također zahtijeva istragu stvarne instrukcije koja uzrokuje pogrešku i binarne građe, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.
Instalirajte verziju aplikacije, upravljačkog programa ili izvršnog okruženja podržanu za točnu platformu i upotrijebite proizvođačevu dokumentiranu osnovnu ili zamjensku građu ako je potrebno. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promjene u firmwareu i sigurnosnim pravilima trebaju slijediti postupak proizvođača sustava i plan oporavka, a ne generički recept za optimizaciju.
Izvori i opseg ovog objašnjenja
AMD CPUID Specification, publikacija 25481 · Intel 64 and IA-32 Architectures Software Developer's Manual
Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verificiraju neovisno svaku vrijednost značajke na povezanoj stranici hardverskog modela. Za podršku modela upotrijebite proizvođačeve dokaze s te stranice i provjerite stvarnu konfiguraciju sustava. Ovaj članak ne pruža mjerilo performansi, certifikaciju ili datum neovisnog pregleda.
Izvori i provjera
Uredničko vlasništvo: Feex. Nije zabilježen datum neovisnog pregleda. Kako istražujemo.
- AMD CPUID Specification, publikacija 25481 · Arhivirana arhitekturna referenca za utvrđene AMD CPUID funkcije i definicije bitova. Za kasnija proširenja specifična za generaciju upotrijebite trenutnu referencu za programiranje procesora.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Svesci 1 i 2 opisuju imenovane obitelji instrukcija i CPUID; Svezak 3 opisuje stanje, straničenje, VMX i kontrole zaštite. Dokumentacija arhitekture ne utvrđuje podršku za određeni model.
Je li ovaj članak bio koristan?
Dovoljno je odgovoriti s da ili ne. Odaberite razlog ako želite ili dodajte kratku bilješku.
Hvala. To nam pomaže poboljšati ovu stranicu.