Kalo te përmbajtja

ABM

Referenca e arkitekturësFeex

ABM, Advanced Bit Manipulation, është terminologji e lidhur me aftësitë e numërimit të biteve të AMD-së. Etiketa ABM e një baze të dhënash duhet të zbërthehet në instruksionet e sakta dhe bitet e CPUID-së që kërkon softueri.

Çfarë duhet të dini

ABM, Advanced Bit Manipulation, është terminologji e lidhur me aftësitë e numërimit të biteve të AMD-së. Etiketa ABM e një baze të dhënash duhet të zbërthehet në instruksionet e sakta dhe bitet e CPUID-së që kërkon softueri.

Si funksionon

Etiketa zakonisht lidhet me LZCNT dhe POPCNT në përshkrimet e veçorive të AMD-së. Këto numërojnë përkatësisht zerot kryesuese dhe bitet e vendosur, por aplikacionet duhet t'i numërojnë ato sipas specifikimit CPUID të prodhuesit. LZCNT ka një lidhje kodimi me BSR dhe ndryshon në sjelljen me hyrje zero dhe flamujt.

Ku është e dobishme

Një rutinë numerike mund të ketë nevojë për LZCNT për të përcaktuar një madhësi, ndërsa një rutinë bitset ka nevojë për POPCNT për të numëruar anëtarësinë. Ato zgjidhin probleme të ndryshme dhe nuk mund të zëvendësojnë njëra-tjetrën thjesht sepse një përmbledhje i grupon së bashku.

Si të kontrollohet mbështetja dhe aktivizimi

Kontrolloni specifikimin e zgjeruar CPUID të AMD-së për ABM/LZCNT te 80000001H:ECX biti 5 dhe kontrolloni POPCNT te 01H:ECX biti 23 për kërkesën aktuale të programit. Konfirmoni interpretimin specifik të prodhuesit me manualin përkatës të arkitekturës.

Kontrolloni instruksionin e saktë dhe formën e operandit në vend që të supozoni mbështetjen nga një zgjerim fqinj. Veçoritë e numrave të plotë skalarë përgjithësisht përdorin regjistra me qëllim të përgjithshëm; një kodim i lidhur me vektorët nuk nënkupton automatikisht një kërkesë për gjendje vektoriale.

Çfarë nuk përcakton kjo veçori

ABM nuk është BMI1 ose BMI2. Një etiketë e prodhuesit nuk duhet të shndërrohet në një supozim se çdo instruksion i manipulimit të biteve ekziston. Ekzekutimi i kodimit LZCNT në një procesor të pambështetur mund të sillet si një instruksion tjetër në vend që të ngrejë një gabim të qartë.

Përputhshmëria dhe performanca në praktikë

Saktësia varet nga rastet kufitare si dhe nga shpejtësia. Hyrja zero, tejmbushja, flamujt e bartjes, gjerësia e operandit, shtrirja dhe renditja e memories mund të ndryshojnë semantikën. Preferoni ndërfaqet e kompilatorit ose bibliotekës që i dokumentojnë këto detaje dhe ofrojnë një zgjidhje alternative të mbështetur.

Një listë praktike kontrolli për verifikim

  1. Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
  2. Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
  3. Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
  4. Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
  5. Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.

Nëse veçoria listohet por softueri nuk mund ta përdorë atë

Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.

Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.

Burimet dhe fusha e këtij shpjegimi

AMD CPUID Specification, publication 25481 · Intel 64 and IA-32 Architectures Software Developer's Manual

Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.

Burimet dhe verifikimi

Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.

  • AMD CPUID Specification, publication 25481 · Referencë e arkivuar arkitekturore për funksionet e përcaktuara të AMD CPUID dhe përkufizimet e biteve. Përdorni referencën aktuale të programimit të procesorit për zgjerimet e mëvonshme specifike të gjeneratës.
  • Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.

A ishte i dobishëm ky artikull?

Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.

A ishte i dobishëm ky artikull?