XSAVE
XSAVE on laajennettavissa oleva x86-mekanismi prosessorin tilan, kuten vektorirekisterien, tallentamiseen. Laitteistotuki, käyttöjärjestelmän käyttöönotto ja käytössä olevat tilakomponentit ovat erillisiä asioita.
Mitä sinun tulee tietää
XSAVE on laajennettavissa oleva x86-mekanismi prosessorin tilan, kuten vektorirekisterien, tallentamiseen. Laitteistotuki, käyttöjärjestelmän käyttöönotto ja käytössä olevat tilakomponentit ovat erillisiä asioita.
Miten se toimii
XSAVE-arkkitehtuuri käyttää luetteloitua tilajärjestystä ja maskeja kuvaamaan, mitkä komponentit ovat käytössä ja tallennetaan. CPUID-lehti 0DH kuvaa tuetut komponentit ja koot. XCR0 ohjaa soveltuvia käyttäjätilan komponentteja, kun taas OSXSAVE kertoo ohjelmistolle, että käyttöjärjestelmä on ottanut XSAVE-ympäristön käyttöön.
Missä siitä on hyötyä
Ajonaikainen ympäristö, joka päättää, voiko se käyttää AVX:ää, tarvitsee sekä suorittimen AVX-bitin että käyttöjärjestelmän käyttöön ottaman XMM/YMM-tilan. Kontekstin- tai signaalinkäsittelytoteutuksen on varattava tilaa käytössä olevan tilan mukaan sen sijaan, että oletettaisiin perinteisen kiinteänkokoisen puskurin riittävän.
Tuen ja käyttöönoton tarkistaminen
Tarkista CPUID.01H:ECX-bitti 26 (XSAVE) ja bitti 27 (OSXSAVE). Käytä vasta sitten XGETBV-käskyä sallitulla tavalla ja tarkasta vaaditut XCR0-bitit. Luetteloi lehti 0DH tilan asettelua varten sen sijaan, että kovakoodaisit koon toisesta koneesta.
Tilanhallintaominaisuudet ovat ensisijaisesti käyttöjärjestelmän ja ajonaikaisen ympäristön vastuulla. Puskureiden, maskien, komponenttikokojen, tasauksen ja palautussääntöjen on oltava arkkitehtuurin ja suoritustilan mukaisia. Vain osajoukon tallentaminen voi korruptoida koodia, joka käyttää muita käytössä olevia tiloja.
Mitä ominaisuus ei takaa
XSAVE-tuki ei itsessään tarkoita, että AVX, AVX-512 tai AMX olisivat käytettävissä. Käskyä XGETBV ei saa käyttää ennen kuin vaadittu tuki ja käyttöjärjestelmän käyttöönotto on vahvistettu. XSAVE-perheen eri käskyillä on erilliset luettelointi- ja asettelusäännöt.
Yhteensopivuus ja suorituskyky käytännössä
Sovellustason ominaisuustunnistuksen tulisi mahdollisuuksien mukaan käyttää ylläpidettyä ajonaikaista rajapintaa. Erota laitteistotuki käyttöjärjestelmän käyttöönotosta ja dynaamisten ominaisuuksien osalta prosessin oikeuksista. Pelkkä suoritinmerkintä ei voi vahvistaa, että mielivaltainen tallennus- ja palautusjärjestys on oikein.
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 · Linux-ydin: XSTATE-ominaisuuksien käyttäminen käyttäjätilassa
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.
- Linux-ydin: XSTATE-ominaisuuksien käyttäminen käyttäjätilassa · Käyttöjärjestelmän käyttöönottama vektoritila, dynaamisesti käyttöön otettu ruututila, signaalipinovaatimukset ja AMX-käyttöoikeuskulku. Linux-kohtainen käyttäytyminen ei ole lupaus toisesta käyttöjärjestelmästä.
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.