Invariant TSC
Invariant TSC kuvaa aikaleimalaskuria (time-stamp counter), jonka taajuus pysyy vakiona ominaisuuden kattamissa arkkitehtonisissa teho- ja taajuustiloissa. Se ei ole suora mittaus suorittimen nykyisestä ydintaajuudesta.
Mitä sinun tulee tietää
Invariant TSC kuvaa aikaleimalaskuria (time-stamp counter), jonka taajuus pysyy vakiona ominaisuuden kattamissa arkkitehtonisissa teho- ja taajuustiloissa. Se ei ole suora mittaus suorittimen nykyisestä ydintaajuudesta.
Miten se toimii
Aikaleimalaskuri kasvaa alustan määrittämällä nopeudella. Invariant-toiminta erottaa tämän nopeuden ytimen toimintataajuuden muutoksista. Kellojaksojen muuntaminen kuluneeksi ajaksi vaatii kelvollisen taajuusviitteen, kun taas arvojen vertailu suorittimien tai virtuaalikoneiden välillä edellyttää myös synkronointia ja virtualisointitakuita.
Missä siitä on hyötyä
Ajonaikainen ympäristö voi käyttää soveltuvaa laskuria osana korkean erotuskyvyn ajoitustoteutustaan. Lyhyen työkuorman laskurin erotuksen jakaminen prosessorin nimellisellä GHz-arvolla voi olla virheellistä, koska TSC-taajuus ja suorittavan ytimen kellotaajuus ovat eri suureita.
Tuen ja käyttöönoton tarkistaminen
CPUID.80000007H:EDX bitti 8 ilmoittaa invariantin TSC:n asianmukaisen arkkitehtuurimäärittelyn mukaisesti. Tavalliseen ajanmittaukseen kannattaa suosia käyttöjärjestelmän tukemaa monotonista kelloa, koska se voi ottaa huomioon alusta- ja virtualisointikäytännöt.
Valitse kello kysymyksenasettelun mukaan: kulunut aika, säikeen CPU-aika ja kellojaksot ovat eri mittauksia. Käyttöjärjestelmän kellorajapinnat sisältävät alustakäytäntöjä, jotka suora konekäskynäyte voi ohittaa.
Mitä ominaisuus ei takaa
Invarianttius ei itsessään takaa synkronointia prosessorikantojen välillä, monotonista käyttäytymistä virtuaalikoneen siirron yli, sarjallistamista mitattujen käskyjen ympärillä tai ajoitusviiveiden puuttumista. Raaka laskurinäyte ei ole suorittimen käyttöasteprosentti.
Yhteensopivuus ja suorituskyky käytännössä
Suorituskykytesti vaatii myös oikeat kääntäjärajat, lämmittelyn, edustavan datan sekä siirtymisen ja säikeiden ajoituksen ymmärtämistä. Huonosti järjestetyn mittauksen toistaminen ei tee siitä tarkkaa. Ilmoita ympäristö ja epävarmuus minkä tahansa tuloksen yhteydessä.
Käytännön tarkistuslista todentamiseen
- Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
- Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
- Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
- Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
- Tee yksi tuettu muutos kerrallaan ja toista sama työkuorma. Pidä alkuperäinen kokoonpano ja palautuspolku saatavilla.
Jos ominaisuus on luettelossa, mutta ohjelmisto ei voi käyttää sitä
Aloita tarkasta vikaantuvasta komponentista. Laitteistotietokanta kuvaa tallennettua kykyä; käyttöjärjestelmä tai hypervisori voi tuoda esiin erilaisen todellisen ympäristön. Virheellisen käskyn virhe vaatii myös todellisen virheellisen käskyn ja binaarikäännöksen tutkimista, koska korruptio tai liittymätön tukematon käsky voi aiheuttaa samanlaisen oireen.
Asenna kyseiselle alustalle tuettu sovellus-, ajuri- tai ajoympäristöversio ja käytä tarvittaessa toimittajan dokumentoitua perus- tai varakäännöstä. Ohjelmistopäivitys ei voi luoda käskyä, joka suorittimelta puuttuu. Laiteohjelmisto- ja tietoturvakäytäntömuutosten tulee noudattaa järjestelmävalmistajan menettelyä ja palautussuunnitelmaa yleisen optimointiohjeen sijaan.
Tämän selityksen lähteet ja laajuus
Intel 64 and IA-32 Architectures Software Developer's Manual
Nämä viitteet määrittävät arkkitehtuurisen käyttäytymisen ja ohjelmistovaatimukset. Ne eivät itsenäisesti vahvista kaikkia ominaisuusarvoja linkitetyllä laitteistomallisivulla. Mallikohtaista tukea varten käytä kyseisen sivun valmistajan todisteita ja tarkista todellinen järjestelmäkokoonpano. Tämä artikkeli ei tarjoa suorituskykytestiä, sertifiointia tai riippumatonta arviointipäivämäärää.
Lähteet ja vahvistus
Toimituksellinen omistajuus: Feex. Riippumatonta tarkistuspäivämäärää ei ole kirjattu. Miten tutkimme.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Osat 1 ja 2 kuvaavat nimetyt käskyperheet ja CPUID:n; Osa 3 kuvaa tila-, sivutus-, VMX- ja suojausohjaukset. Arkkitehtuuridokumentaatio ei vahvista tukea tietylle mallille.
Oliko tämä artikkeli hyödyllinen?
Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.
Kiitos. Se auttaa meitä parantamaan tätä sivua.