Hoppa till innehåll

Invariant TSC

ArkitekturreferensFeex

Invariant TSC beskriver en tidsstämpelräknare vars hastighet förblir konstant över de arkitektoniska ström- och frekvenstillstånd som täcks av funktionen. Den är inte en direkt mätning av aktuell kärnfrekvens.

Vad du behöver veta

Invariant TSC beskriver en tidsstämpelräknare vars hastighet förblir konstant över de arkitektoniska ström- och frekvenstillstånd som täcks av funktionen. Den är inte en direkt mätning av aktuell kärnfrekvens.

Hur det fungerar

Tidsstämpelräknaren stegar i en plattformsdefinierad hastighet. Invariant beteende separerar den hastigheten från förändringar i kärnans driftfrekvens. Att konvertera tick till förfluten tid kräver en giltig frekvensreferens, medan jämförelse av värden mellan processorer eller virtuella maskiner också kräver synkronisering och virtualiseringsgarantier.

Där den är användbar

En kormiljo kan anvanda en lamplig raknare som en del av sin hogupplosta tidsmatningsimplementation. Att dividera raknardifferensen for en kort arbetsbelastning med ett nominellt GHz-varde for processorn kan bli felaktigt eftersom TSC-frekvens och korande karnfrekvens ar olika storheter.

Hur man kontrollerar stöd och aktivering

CPUID.80000007H:EDX bit 8 raknar upp invariant TSC enligt den relevanta arkitekturdefinitionen. Foredra operativsystemets stotta monotona klocka for vanlig tidsmatning, eftersom den kan ta hansyn till plattforms- och virtualiseringspolicy.

Valj klocka utifran fragepositionen: forfluten tid, tradens processortid och klockcykler ar olika matningar. Operativsystemets klockgranssnitt inbegriper plattformspolicy som en ra instruktionsavlasning kan forbiga.

Vad funktionen inte fastställer

Invariant innebar inte i sig synkronisering over socklar, monotont beteende over VM-migrering, serialisering kring matta instruktioner eller franvaro av schemalaggningsfordrojningar. Ett ratt raknarprov ar inte en procentsats for processorutnyttjande.

Kompatibilitet och prestanda i praktiken

Ett prestandatest kraver ocksa korrekta kompilatorgranser, uppvarmning, representativa data och forstaelse for migrering och schemalaggning. Att upprepa en daligt ordnad matning gor den inte mer exakt. Rapportera miljon och osakerheten vid varje resultat.

En praktisk checklista för verifiering

  1. Registrera den exakta processor- eller plattformsmodellen samt de applikations-, OS- och runtime-versioner som berörs. Behåll formuleringen av det faktiska felet eller kravet.
  2. Kontrollera tillverkarens referens för den exakta modellen och granska sedan den faktiska kapaciteten och det aktiverade tillståndet i miljön där programmet körs.
  3. Jämför varje krav för den valda binären eller renderingsmotorn. En snarlikt namngiven funktion, ett alias eller en bred teknikbeteckning räcker inte.
  4. Bekräfta att applikationen har valt den avsedda implementeringen. Använd dess dokumenterade diagnostik och en reservlösning som stöds när kraven inte uppfylls.
  5. Gör en ändring som stöds i taget och upprepa samma arbetsbelastning. Håll den ursprungliga konfigurationen och återställningsvägen tillgängliga.

Om funktionen är listad men programvaran inte kan använda den

Börja med den exakta komponenten som fallerar. En hårdvarudatabas beskriver registrerad kapacitet; operativsystemet eller hypervisorn kan exponera en annan faktisk miljö. Ett fel om otillåten instruktion kräver också undersökning av den faktiska felande instruktionen och binärbygget, eftersom korruption eller en orelaterad instruktion utan stöd kan ge ett liknande symptom.

Installera den version av applikationen, drivrutinen eller runtime-miljön som stöds för den exakta plattformen, och använd vid behov tillverkarens dokumenterade baslinje eller reservbygge. En programvaruuppdatering kan inte skapa en instruktion som processorn saknar. Ändringar i firmware och säkerhetspolicy bör följa systemtillverkarens procedur och en återställningsplan snarare än ett generiskt optimeringsrecept.

Källor och omfattning för denna förklaring

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

Dessa referenser fastställer arkitektoniskt beteende och programvarukrav. De verifierar inte oberoende varje funktionsvärde på en länkad hårdvarumodellsida. För modellstöd, använd den sidans tillverkarbelägg och kontrollera den effektiva systemkonfigurationen. Denna artikel tillhandahåller inte ett prestandatest, en certifiering eller ett oberoende granskningsdatum.

Källor och verifiering

Redaktionellt ägarskap: Feex. Inget oberoende granskningsdatum har registrerats. Hur vi efterforskar.

Var denna artikel användbar?

Ett ja eller nej räcker. Välj en anledning om du vill, eller lägg till en kort anteckning.

Var denna artikel användbar?