Invariant TSC
Invariant TSC popisuje počítadlo časových pečiatok (time-stamp counter), ktorého frekvencia zostáva konštantná naprieč architektonickými stavmi napájania a frekvencie pokrytými touto funkciou. Nejde o priame meranie aktuálnej frekvencie jadra.
Čo potrebujete vedieť
Invariant TSC popisuje počítadlo časových pečiatok (time-stamp counter), ktorého frekvencia zostáva konštantná naprieč architektonickými stavmi napájania a frekvencie pokrytými touto funkciou. Nejde o priame meranie aktuálnej frekvencie jadra.
Ako to funguje
Počítadlo časových pečiatok sa zvyšuje frekvenciou definovanou platformou. Invariantné správanie oddeľuje túto frekvenciu od zmien prevádzkovej frekvencie jadra. Prevod taktov (ticks) na uplynutý čas si vyžaduje platnú referenčnú frekvenciu, zatiaľ čo porovnávanie hodnôt naprieč procesormi alebo virtuálnymi počítačmi si vyžaduje aj záruky synchronizácie a virtualizácie.
Kde je to užitočné
Behové prostredie môže použiť vhodný čítač ako súčasť svojej implementácie časovania s vysokým rozlíšením. Delenie rozdielu hodnôt čítača pri krátkej záťaži nominálnou hodnotou GHz procesora môže byť chybné, pretože frekvencia TSC a frekvencia vykonávajúceho jadra sú odlišné veličiny.
Ako overiť podporu a povolenie
CPUID.80000007H:EDX bit 8 uvádza invariantný TSC podľa príslušnej definície architektúry. Pre bežné meranie času uprednostnite operačným systémom podporované monotónne hodiny, pretože dokážu zohľadniť zásady platformy a virtualizácie.
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á
Samotná invariantnosť nezabezpečuje synchronizáciu medzi päticami, monotónne správanie pri migrácii VM, serializáciu okolo meraných inštrukcií ani neprítomnosť oneskorení plánovania. Surová vzorka čítača nepredstavuje percento vyťaženia procesora.
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
- 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.
- 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ží.
- Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
- 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.
- 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.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
Bol tento článok užitočný?
Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.
Ďakujeme. Pomáha nám to zlepšovať túto stránku.