RDTSCP
RDTSCP cita x86 brojilo vremenskih oznaka (time-stamp counter) i pomocnu vrijednost identifikatora procesora s definiranim svojstvima poretka. To nije potpuno serijalizirajuca instrukcija niti automatski okvir za benchmark.
Što trebate znati
RDTSCP cita x86 brojilo vremenskih oznaka (time-stamp counter) i pomocnu vrijednost identifikatora procesora s definiranim svojstvima poretka. To nije potpuno serijalizirajuca instrukcija niti automatski okvir za benchmark.
Kako funkcionira
RDTSCP vraca brojilo u EDX:EAX i vrijednost IA32_TSC_AUX u ECX. Njegova pravila poretka ogranicavaju neke prethodne operacije, ali kasnije instrukcije mogu zapoceti prije nego sto citanje zavrsi, a prethodna spremanja imaju dodatna razmatranja vidljivosti. Ispravan slijed ograde (fence) ovisi o tome sto mjerenje namjerava omediti.
Gdje je korisno
Niskorazinski kod za mjerenje vremena moze koristiti pomocnu vrijednost kako bi lakse detektirao promjenu procesora kada ga OS prikladno konfigurira. Robustan benchmark i dalje kontrolira kompilaciju, zagrijavanje radnog opterecenja, prekide, rasporedivanje, kalibraciju brojila i operacije koje se uredjuju.
Kako provjeriti podršku i omogućavanje
CPUID.80000001H:EDX bit 27 enumerira RDTSCP. Provjerite politiku brojila u stvarnom OS-u ili hipervizoru i koristite dokumentiranu metodu mjerenja vremena s potrebnim ogradama. Dajte prednost monotonicnom satu OS-a za proteklo vrijeme aplikacije.
Odaberite sat prema postavljenom pitanju: proteklo vrijeme, CPU vrijeme dretve i ciklusi različita su mjerenja. Sučelja sata operacijskog sustava uključuju politiku platforme koju sirovi uzorak instrukcije može zaobići.
Što ova značajka ne utvrđuje
Podrska za RDTSCP ne uspostavlja invarijantno ili sinkronizirano ponasanje TSC-a. Tumacenje pomocne vrijednosti definira OS. Oduzimanje dvaju uzoraka bez razumijevanja poretka moze izmjeriti drukciji interval od predvidenog.
Kompatibilnost i performanse u praksi
Referentno testiranje (benchmark) također zahtijeva ispravne granice prevoditelja, zagrijavanje, reprezentativne podatke i razumijevanje migracije i raspoređivanja. Ponavljanje loše organiziranog mjerenja ne čini ga točnim. Prijavite okruženje i nesigurnost uz svaki rezultat.
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
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.
- 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.