Vaje deritto ô cuntenuto

RDTSCP

Riferimento 'e ll'architetturaFeex

RDTSCP legge 'o time-stamp counter x86 e 'nu valore d'identificatore d''o prucessore ausiliare cu pruprietà d'urdinamento definite. Nun è n'istruzzione cumpretamente serializzante o 'nu sistema 'e benchmark automateco.

Chello ca t'hê 'a sapé

RDTSCP legge 'o time-stamp counter x86 e 'nu valore d'identificatore d''o prucessore ausiliare cu pruprietà d'urdinamento definite. Nun è n'istruzzione cumpretamente serializzante o 'nu sistema 'e benchmark automateco.

Comme fonsiona

RDTSCP torna 'o cuntatore dinto a EDX:EAX e 'o valore IA32_TSC_AUX dinto a ECX. 'E regule soje d'urdinamento limitano quacche operazzione 'e primma, ma istruzzioni successive ponno accummincià primma ca 'a lettura fernesce, e 'e store 'e primma teneno cunsiderazzioni 'e visibbilità addizziunali. 'A sequenza 'e fence curretta dipende da chello ca 'a mesura vò circoscrive.

Addò serve

'O codice 'e timing a vascio livello pò ausà 'o valore ausiliare pe ajutà a scuprì 'nu cagnamento 'e prucessore quanno 'o sistema upirativo 'o cunfigura comme se deve. 'Nu benchmark fatto bbuono cuntrolla sempe 'a cumbilazzione, 'o warmup d''o càreco, ll'interrupt, 'o scheduling, 'a calibbrazzione d''o cuntatore e ll'operazzioni ca s'hanno dda urdinà.

Comme se cuntrolla 'o supporto e ll'abbilitazzione

CPUID.80000001H:EDX bit 27 enumera RDTSCP. Verifica 'a puliteca d''o cuntatore ind'o vero sistema upirativo o hypervisor e ausa 'nu metodo 'e timing ducumentato cu 'e fence addumannate. Preferisce 'o rilorgio munutonico d''o sistema upirativo pe 'o tiempo passato ind'a ll'apprecazzione.

Scigliete n'orològgio siconno chello ca v'azzicco: tiempo trascurzo, tiempo CPU d' 'o thread e cicli songo mesure diverse. Ll'interfacce d'orològgio d' 'o sistema operattivo includono 'e règole d' 'a piattaforma ca nu campiunamento diretto 'e n'istruzzione putesse scanzà.

Chello ca 'a funzionalita nun stabbilisce

'O supporto a RDTSCP nun stabbilisce 'nu cumpurtamento TSC invariante o sincrunizzato. Ll'interpretazzione d''o valore ausiliare è definita d''o sistema upirativo. Suttraere duje campiuni senza capì ll'urdinamento pò mesurà 'n intervallo diverzo da chello 'ntennuto.

Cumpatibbilita e prestazziune dint' 'a prateca

Nu benchmark tene pure besuogno 'e limite currette d' 'o compilatore, warmup, date rapresentative e na bona cumprenzione 'e migrazzione e scheduling. Fà n'ata vota na mesura arrunzatamente nun 'a fa addiventà precisa. Repurtate ll'ambiente e ll'incertezze 'nzieme a ogne resultato.

Na lista 'e verifeca prateca

  1. Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
  2. Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
  3. Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
  4. Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
  5. Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.

Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà

Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.

Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.

Funte e ambito 'e sta spiegazzione

Intel 64 and IA-32 Architectures Software Developer's Manual

Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.

Funte e verìfeca

Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · 'E Vulume 1 e 2 descrivono 'e ffamiglie 'e struzzione cu nomme e 'o CPUID; 'o Vulume 3 descrive 'o stato, 'a pagginazzione, VMX e 'e cuntrolle 'e prutezzione. 'A documentazzione 'e ll'architettura nun stabbilisce 'o supporto pe nu mudello particulare.

È servuto chist'articulo?

Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.

È servuto chist'articulo?