Kalo te përmbajtja

Invariant TSC

Referenca e arkitekturësFeex

Invariant TSC përshkruan një numërues të pullës kohore (time-stamp counter), shpejtësia e të cilit mbetet konstante përgjatë gjendjeve arkitekturore të energjisë dhe frekuencës të mbuluara nga veçoria. Ai nuk është një matje e drejtpërdrejtë e frekuencës aktuale të bërthamës.

Çfarë duhet të dini

Invariant TSC përshkruan një numërues të pullës kohore (time-stamp counter), shpejtësia e të cilit mbetet konstante përgjatë gjendjeve arkitekturore të energjisë dhe frekuencës të mbuluara nga veçoria. Ai nuk është një matje e drejtpërdrejtë e frekuencës aktuale të bërthamës.

Si funksionon

Numëruesi i pullës kohore rritet me një shpejtësi të përcaktuar nga platforma. Sjellja invariante e ndan atë shpejtësi nga ndryshimet në frekuencën e punës të bërthamës. Konvertimi i tik-takëve në kohë të kaluar kërkon një referencë të vlefshme frekuence, ndërsa krahasimi i vlerave midis procesorëve ose makinave virtuale kërkon gjithashtu garanci sinkronizimi dhe virtualizimi.

Ku është e dobishme

Një mjedis ekzekutimi (runtime) mund të përdorë një numërues të përshtatshëm si pjesë të implementimit të tij për matjen e kohës me rezolucion të lartë. Pjesëtimi i diferencës së numëruesit të një ngarkese të shkurtër pune me një vlerë nominale GHz të CPU-së mund të jetë i gabuar sepse shkalla e TSC-së dhe frekuenca e bërthamës ekzekutuese janë madhësi të ndryshme.

Si të kontrollohet mbështetja dhe aktivizimi

CPUID.80000007H:EDX biti 8 numëron TSC-në invariante sipas përkufizimit përkatës të arkitekturës. Preferoni orën monotonike të mbështetur të sistemit operativ për matje të zakonshme të kohës, sepse ajo mund të marrë parasysh rregullat e platformës dhe të virtualizimit.

Zgjidhni një orë sipas kërkesës: koha e kaluar, koha e CPU-së për fije (thread) dhe ciklet janë matje të ndryshme. Ndërfaqet e orës së sistemit operativ përfshijnë rregullat e platformës të cilat një mostrim i drejtpërdrejtë i instruksionit mund t'i anashkalojë.

Çfarë nuk përcakton kjo veçori

Vetia invariante nuk përcakton vetvetiu sinkronizimin midis soketave, sjelljen monotonike gjatë migrimit të VM-ve, serializimin rreth instruksioneve të matura ose mungesën e vonesave të planifikimit. Një mostër e thjeshtë e numëruesit nuk është një përqindje e përdorimit të CPU-së.

Përputhshmëria dhe performanca në praktikë

Një vlerësim krahasues (benchmark) kërkon gjithashtu kufij të saktë të përpiluesit, ngrohje paraprake (warmup), të dhëna përfaqësuese dhe të kuptuarit e migrimit dhe planifikimit. Përsëritja e një matjeje të strukturuar dobët nuk e bën atë të saktë. Raportoni mjedisin dhe pasigurinë me çdo rezultat.

Një listë praktike kontrolli për verifikim

  1. Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
  2. Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
  3. Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
  4. Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
  5. Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.

Nëse veçoria listohet por softueri nuk mund ta përdorë atë

Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.

Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.

Burimet dhe fusha e këtij shpjegimi

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

Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.

Burimet dhe verifikimi

Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.

A ishte i dobishëm ky artikull?

Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.

A ishte i dobishëm ky artikull?