Invariant TSC
Invariant TSC descrive 'nu cuntatore 'e time-stamp addò 'a frequenza resta costante tra 'e state 'e putenza e 'e frequenza architetturali cupierte d''a funzione. Nun è 'na mesura deretta d''a frequenza attuale d''o core.
Chello ca t'hê 'a sapé
Invariant TSC descrive 'nu cuntatore 'e time-stamp addò 'a frequenza resta costante tra 'e state 'e putenza e 'e frequenza architetturali cupierte d''a funzione. Nun è 'na mesura deretta d''a frequenza attuale d''o core.
Comme fonsiona
'O cuntatore time-stamp saglie a 'na frequenza definita d''a piattaforma. 'O cumpurtamento 'e Invariant sparte chella frequenza d''e cagnamiente d''a frequenza upirativa d''o core. Cunvertì 'e tick a tiempo trascurruto addumanna 'nu riferimento 'e frequenza vàledo, mentre cunfruntà 'e valure tra prucessure o macchine virtuali addumanna pure sincronizzazzione e garanzìe 'e virtualizzazzione.
Addò serve
Nu runtime po' ausà nu cuntatore addatto comme parte d' 'a 'mplementazzione suja p' 'o conteggio d' 'o tiempo a risoluzzione arta. Spartere 'a differenzia d' 'o cuntatore 'e nu càrreco curto pe nu valore nominale 'e GHz d' 'a CPU po' essere sbagliato pecché 'a frequenza d' 'o TSC e chella d' 'o core ca stace esequenno songo grannezze diverse.
Comme se cuntrolla 'o supporto e ll'abbilitazzione
CPUID.80000007H:EDX bit 8 enumera l'invariant TSC siconno 'a definizzione 'e ll'architettura c'apparten' a chesto. Sceglite sempe ll'orològgio monotònico suppurtato d' 'o sistema operattivo pe 'o cronometraggio nurmale, pecché chisto tene cunto d' 'e règole d' 'a piattaforma e d' 'a virtualizzazzione.
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
Invariant 'a sulo nun garantisce 'a sincronizzazzione 'mmiezo 'e socket, 'o cumpurtamento monotònico durante 'a migrazzione d' 'e VM, 'a serializzazzione torn' a ll'istruzzioni mesurate o ll'assenzia 'e ritarde 'e scheduling. Nu campiunamento 'e nu cuntatore nun è na percentuale 'e auso d' 'a CPU.
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
- 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.
- 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.
- Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
- Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
- 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.
Grazie. Chisto nce dà 'na mano a fa mèglio 'sta paggena.