Preskočiť na obsah

RDTSCP

Architektonická referenciaFeex

RDTSCP číta x86 time-stamp counter a pomocnú hodnotu identifikátora procesora s definovanými vlastnosťami radenia (ordering). Nie je to plne serializujúca inštrukcia ani automatické testovacie prostredie pre benchmarky.

Čo potrebujete vedieť

RDTSCP číta x86 time-stamp counter a pomocnú hodnotu identifikátora procesora s definovanými vlastnosťami radenia (ordering). Nie je to plne serializujúca inštrukcia ani automatické testovacie prostredie pre benchmarky.

Ako to funguje

RDTSCP vracia počítadlo v EDX:EAX a hodnotu IA32_TSC_AUX v ECX. Jej pravidlá radenia obmedzujú niektoré predchádzajúce operácie, ale neskoršie inštrukcie môžu začať pred dokončením čítania a predchádzajúce zápisy do pamäte (stores) majú dodatočné aspekty viditeľnosti. Správna sekvencia bariér (fence) závisí od toho, čo má meranie ohraničiť.

Kde je to užitočné

Nízkoúrovňový kód na meranie času môže použiť pomocnú hodnotu na pomoc s detekciou zmeny procesora, ak ju operačný systém primerane nakonfiguruje. Robustný benchmark stále riadi kompiláciu, zahriatie pracovnej záťaže, prerušenia, plánovanie, kalibráciu počítadla a operácie, ktorých poradie sa určuje.

Ako overiť podporu a povolenie

CPUID.80000001H:EDX bit 27 enumeruje RDTSCP. Overte pravidlá počítadla v skutočnom operačnom systéme alebo hypervízore a použite zdokumentovanú metódu časovania s požadovanými bariérami. Pre uplynutý čas aplikácie uprednostnite monotónne hodiny operačného systému.

Zvoľte hodiny podľa danej úlohy: uplynutý čas, čas CPU vlákna a cykly predstavujú odlišné merania. Hodinové rozhrania operačného systému zahŕňajú pravidlá platformy, ktoré priama vzorka z inštrukcie môže obísť.

Čo táto funkcia nezakladá

Podpora RDTSCP nezakladá invariantné ani synchronizované správanie TSC. Interpretácia pomocnej hodnoty je definovaná operačným systémom. Odčítanie dvoch vzoriek bez pochopenia radenia operácií môže zmerať iný interval, než bol zamýšľaný.

Kompatibilita a výkon v praxi

Benchmark si vyžaduje aj správne hranice kompilátora, fázu zahriatia (warmup), reprezentatívne dáta a porozumenie migrácii a plánovaniu. Opakovanie nesprávne usporiadaného merania nezaručí jeho presnosť. Pri akomkoľvek výsledku uveďte prostredie a neistotu merania.

Praktický kontrolný zoznam na overenie

  1. Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
  2. Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
  3. Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
  4. Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
  5. Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.

Ak je funkcia uvedená, ale softvér ju nemôže použiť

Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.

Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.

Zdroje a rozsah tohto vysvetlenia

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

Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.

Zdroje a overenie

Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.

Bol tento článok užitočný?

Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.

Bol tento článok užitočný?