Passa ô cuntinutu

LZCNT

Rifirimentu d'archititturaFeex

LZCNT cunta li zeri 'n testa nti n'upirannu 'nteru. È diffirenti di BSR, puru pô sò risurtatu pi zeru, e addivanta nicissariu un cuntrollu esprìcitu dâ capacità.

Chiḍḍu ca t'hà sapiri

LZCNT cunta li zeri 'n testa nti n'upirannu 'nteru. È diffirenti di BSR, puru pô sò risurtatu pi zeru, e addivanta nicissariu un cuntrollu esprìcitu dâ capacità.

Comu funziona

Lu risurtatu è lu nùmmuru di bit a zeru chi pricèdinu lu bit a unu cchiù àutu ntâ larghizza di l'upirannu scigghiuta. Pi n'upirannu fattu tuttu di zeri, LZCNT torna la larghizza di l'upirannu. Li sò flag e lu cumpurtamentu cû zeru sunnu difiniti 'n modu diffirenti rispettu a l'upirazzioni bit-scan-reverse cchiù vecchia cu na cudìfica 'mparentata.

Unni e' ùtili

Na routine di cumprissioni o di furmatu numèricu pò usari lu cuntu pi ditirminari quanti bit significativi abbòstanu pi un valuri. La gistioni curretta dû zeru è nicissària pî càlculi dâ grannizza e pî scurrimenti, pirchì na sustituzzioni sbagghiata cu bit-scan pò prudùciri un risurtatu nun vàlidu.

Comu cuntrollari lu supportu e l'abbilitazzioni

CPUID.80000001H:ECX bit 5 elenca LZCNT sutta la difinizzioni rilivanti dû prudutturi. Virificati prima chi la fogghia estesa esisti. Usati n'interrugazzioni dâ carattirìstica dû cumpilaturi/runtime suppurtata e un fallback chi àvi la stissa simàntica pô zeru.

Cuntrolla la struzzioni esatta e la forma di l'upirannu mmeci d'accanzari lu supportu d'una estinzioni vicina. Li funziunalitati a nteri scalari ùsanu ginirarmenti riggistri pi scopi ginirali; na cudìfica assuciata chî vettura nun signìfica autumaticamenti un requisitu di statu vitturiali.

Zoccu la funziunalitati nun stabbilisci

LZCNT nun cunta tutti li bit a unu e nun è TZCNT. Un prucissuri nun suppurtatu pò 'ntirpritari la cudìfica comu BSR, dunca pruvari simpricimenti l'istruzzioni è un test dâ carattirìstica piriculusu. BMI1 e BMI2 sunnu capacità siparati.

Cumpatibbilitati e pristazzioni nnâ pràtica

La currittizza dipenni dî casi lìmiti accussì comu dâ vilucitati. Input zeru, overflow, flag di riportu, larghizza di l'upirannu, alliniamentu e urdinamentu dâ mimoria ponnu canciari la semàntica. Prifirisci li ntirfacci di cumpilaturi o di libbrirìi ca ducumèntanu sti dittagghi e dùnanu un fallback suppurtatu.

Na lista di virìfica pràtica

  1. Riggistra lu mudellu esattu dû prucissuri o dâ piattafurma e li virsioni di l'applicazzioni, dû SO e dû runtime cuinvorti. Manteni la formulazzioni di l'erruri o dû requisitu riali.
  2. Cuntrolla lu rifirimentu dû prudutturi pi ddu mudellu esattu, poi spizziona la capacitati effittiva e lu statu abbilitatu nta l'ambienti unni lu prugramma gira.
  3. Cunfrunta ogni requisitu dû binariu o dû backend silizziunatu. Na funziunalitati cû nomu sìmili, un pseudònimu o n'etichetta ticnulòggica ginèrica nun abbàstanu.
  4. Cunferma ca l'applicazzioni hà silizziunatu la mplimintazzioni privista. Usa la sò diagnòstica ducumintata e un fallback suppurtatu quannu li requisiti nun sunnu suddisfatti.
  5. Fai un canciamentu suppurtatu a la vota e ripeti lu stissu caricu di travagghiu. Manteni dispunìbbili la cunfigurazzioni urigginali e lu pircorsu di ricùp ситуаazzioni.

Si la funziunalitati e' ndicata ma lu software nun la po usari

Accumenza cû cumpunenti esattu ca fallisci. Un database d'hardware discrivi la capacitati riggistrata; lu sistema upirativu o l'hypervisor ponnu ammustrari n'ambienti effittivu diffirenti. N'erruri di struzzioni illigali addanna puru n'indàggini supra la struzzioni ca fallisci pi daveru e supra la build binaria, picchì la curruzzioni o na struzzioni nun currilata e nun suppurtata ponnu fari un sìntumu sìmili.

Installa la virsioni di l'applicazzioni, dû driver o dû runtime suppurtata pâ piattafurma esatta, e usa la build di basi o di fallback ducumintata dû prudutturi si n'hai bisognu. N'aggiurnamentu dû software nun po criari na struzzioni ca manca nnô prucissuri. Li canciamenti di firmware e di pulìtica di sicurizza avìssiru a sèquiri la prucidura dû prudutturi dû sistema e un pianu di ricùpiru mmeci d'un ricittariu d'uttimizzazzioni ginèricu.

Funti e scanciu di st'esplicazzioni

Intel 64 and IA-32 Architectures Software Developer's Manual · AMD CPUID Specification, publication 25481 · psABI x86-64: liveddi d'architittura e micrarchitittura dû prucissuri

Sti rifirimenti stabbilìscinu lu cumpurtamentu architittùnicu e li requisiti dû software. Nun virìficanu di manera ndipinnenti ogni valuri di funziunalitati nta na pàggina d'un mudellu hardware culligatu. Pû supportu dû mudellu, usa li provi dû prudutturi di dda pàggina e cuntrolla la cunfigurazzioni effittiva dû sistema. St'artìculu nun duna un benchmark, na cirtificazzioni o na data di rivisioni ndipinnenti.

Funti e virìfica

Titularità editoriali: Feex. Nudda data di rivisioni nnipinnenti è riggistrata. Comu facemu i ricerchi.

Fu ùtili st'artìculu?

Un sì o un no abbasta. Scegghi un mutivu si voi, o junci na nota curta.

Fu ùtili st'artìculu?