RDTSCP
RDTSCP liist de x86-Timestamp-Counter und en Hilfsprozessor-Identifikationswärt mit definierte Ordering-Eigeschafte us. Es isch keini vollständig serialisierendi Instruktion und kei automatischi Benchmark-Umgebig.
Was du wüsse muesch
RDTSCP liist de x86-Timestamp-Counter und en Hilfsprozessor-Identifikationswärt mit definierte Ordering-Eigeschafte us. Es isch keini vollständig serialisierendi Instruktion und kei automatischi Benchmark-Umgebig.
Wie 's funktioniert
RDTSCP git de Zähler i EDX:EAX und de IA32_TSC_AUX-Wärt i ECX zrugg. Sini Ordering-Regle schränked einigi vorherigi Operatione ii, aber spöteri Instruktione chönd aafange, bevor s'Läse abgschlosse isch, und vorherigi Stores händ zuesätzlechi Sichtbarkeits-Aschpätz. Di richtigi Fence-Sequänz hangt devoo ab, was d'Mässig genau abgränze söll.
Wo s nützlich isch
Low-Level-Timing-Code cha de Hilfswärt verwände, zum en Prozessorwächsel z'erchänne, wenn s'Betriibssystem das passend konfiguriert. En robuste Benchmark kontrolliert aber immer no d'Kompilierig, s'Workload-Warmup, Interrupts, Scheduling, Zähler-Kalibrierig und d'Operatione, wo gordnet wärded.
Wie mer Unterstützig und Aktivierig überprüeft
CPUID.80000001H:EDX Bit 27 enumeriert RDTSCP. Verifizier d'Zähler-Richtlinie im tatsächliche Betriibssystem oder Hypervisor und bruuch e dokumentierti Timing-Method mit de erforderliche Fences. Zieh di monotoni Uhr vom Betriibssystem für d'Laufziit vo Aawändige vor.
Wähl e Uhr passend zur Fragestellig: Vergangeni Zit, Thread-CPU-Zit und Zyklen sind unterschiedlechi Mässige. D Uhre-Schnittstelle vom Betriibssystem bindet Plattform-Richtlinie ii, wo e reini Befehls-Stichprob eventuell umgoht.
Was s Feature nid leischdet
D'Unterstützig vo RDTSCP büldet keis invariants oder synchronisierts TSC-Verhalte. D'Interpretation vom Hilfswärt wird dur s'Betriibssystem definiert. S'Subtrahiere vo zwei Stichprobe ohni s'Verständnis vom Ordering cha en anders Intervall mässe als beabsichtigt.
Kompatibilität und Leischtig i de Praxis
En Benchmark bruucht au richtegi Compiler-Gränze, Warmup, repräsentativi Date und es Verständnis für Migration und Scheduling. E schlecht ufbouti Mässig z wiederhole macht si nid genauer. Dokumentier d Umgebig und d Unsicherheit bi jedem Ergebnis.
E praktischi Checklischte zur Überprüefig
- Erfass s genaue Prozässer- oder Plattform-Modäll und d Version vo de beteiligte Aawändig, vom OS und vor Runtime. Bhalt de Wortluut vom eigentliche Fehler oder vor Aaforderig unveränderet bi.
- Prüef d Herschteller-Referänz für das exakte Modäll, und kontrollier dänn di effektivi Fähigkeit und de aktivierte Status i de Umgäbig, wo s Programm lauft.
- Verglich jedi Aaforderig vo de uusgwählte Binärdatei oder vom Backend. En ähnlich luutends Feature, en Alias oder e breiti Technologiebezeichnig länged nid.
- Beschtätig, dass d Aawändig di vorgsehni Implementation uusgwählt het. Bruuch däre iri dokumentierte Diagnosefunktion und en unterstützte Fallback, wänn d Aaforderige nid erfüllt sind.
- Mach jewiils nume ein unterstützti Änderig uf z Mol und widerhol di gliich Arbetslascht. Bhalt di ursprünglichi Konfiguration und en Wäg zur Wiederherschtellig barat.
Wänn s Feature ufgführt isch, d Software s aber nid cha bruuche
Fang bim exakt fählende Teil aa. E Hardware-Datebank beschriibt erfasstig Fähigkeite; s Betriibssyschtem oder de Hypervisor cha e anderi effektivi Umgäbig zeige. En Illegal-Instruction-Fehler bruucht au e Nachforschig zum eigentliche fählerhafte Befähl und Binär-Build, will e Beschädigung oder en unbeteiligte, nid unterstützte Befähl es ähnlichs Symptom erzüüge cha.
Inschtallier d Aawändig, de Triiber oder d Runtime-Version, wo für di exakti Plattform unterstützt wird, und bruuch bi Bedarf d Baseline oder de Fallback-Build gmäss Herschteller-Dokumentation. Es Software-Update cha kei Befähl erzüüge, wo em Prozässer fählt. Firmware- und Sicherheitsrichtlinie-Änderige sötted em Verfahre vom Syschtemherschteller und eme Wiederherschtelligsplan folge, statt eme allgemeine Optimierigs-Rezept.
Quelle und Umfang vo däre Erchlärig
Intel 64 and IA-32 Architectures Software Developer's Manual
Die Referänze leitid s architektonische Verhalte und d Software-Aaforderige fescht. Si überprüefed nid jede Feature-Wärt uf ere verlinkte Hardware-Modällsiite unabhängig. Für d Modällunterstützig sött mer d Herschteller-Nachwiis vo däre Siite bruuche und di effektivi Syschtemkonfiguration prüefe. Dä Artikel liferet kei Benchmark, ke Zertifizierig und keis unabhängigs Prüefdatum.
Quelle und Verifikation
Redaktionelli Verantwortig: Feex. Es isch kes unabhängigs Überprüefigsdatum erfasst. Wie mir recherchiered.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Bänd 1 und 2 beschriibed di gnännte Befählsfamilie und CPUID; Band 3 beschriibt Status-, Paging-, VMX- und Schutz-Stüürige. Architektur-Dokumentation beschtätigt kei Unterstützig für es bschtimmts Modäll.
Isch dä Artikel nützlich gsi?
Es Ja oder Nei längt. Wähl en Grund us, wänn du wotsch, oder schryb e churzi Notiz.
Merci. Das hilft eus, die Syte z verbessere.