Siirry sisältöön

FXSR

ArkkitehtuuriviiteFeex

FXSR yksilöi FXSAVE/FXRSTOR-toiminnot perinteisen liukuluku- ja SIMD-tilan tallentamiseen ja palauttamiseen. Se on käyttöjärjestelmän tilanhallintaominaisuus eikä sovellusten nopeusluokitus.

Mitä sinun tulee tietää

FXSR yksilöi FXSAVE/FXRSTOR-toiminnot perinteisen liukuluku- ja SIMD-tilan tallentamiseen ja palauttamiseen. Se on käyttöjärjestelmän tilanhallintaominaisuus eikä sovellusten nopeusluokitus.

Miten se toimii

FXSAVE kirjoittaa määritellyn x87-, MMX-, XMM- ja MXCSR-tilavedoksen, ja FXRSTOR palauttaa vastaavan tilan. Vedoksella on määritetty rakenne ja tasaus. Tarkka rekisteristö ja muoto riippuvat suoritustilasta ja arkkitehtonisista ohjauksista.

Missä siitä on hyötyä

Käyttöjärjestelmän tai ajonaikaisen ympäristön, joka toteuttaa matalan tason kontekstinhallintaa, on säilytettävä tila, jonka sen suoritusympäristö sallii. Tavalliset sovellukset luottavat yleensä käyttöjärjestelmään ja ABI-rajapintaan sen sijaan, että ne tallentaisivat mielivaltaisia kontekstivedoksia itse.

Tuen ja käyttöönoton tarkistaminen

CPUID.01H:EDX bitti 24 luetteloi FXSR-ominaisuuden. Matalan tason ohjelmiston on myös noudatettava arkkitehtuurioppaan ohjausrekisteri-, tasaus- ja etuoikeusvaatimuksia. Älä korvaa käyttöjärjestelmän kontekstinhallintaa sovellustason tallennus- ja palautuskiertoratkaisulla.

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

FXSAVE-vedos ei säilytä myöhempiä AVX-, AVX-512- tai AMX-tiloja. Sen käsitteleminen täydellisenä nykyaikaisena kontekstina voi korruptoida ohjelman, vaikka FXSR olisi tuettu. XSAVE-perheen tilanhallinta on erillinen mekanismi.

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

  1. Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
  2. Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
  3. Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
  4. Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
  5. 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 · x86-64 psABI: prosessoriarkkitehtuurin ja mikroarkkitehtuurin tasot

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.

Oliko tämä artikkeli hyödyllinen?

Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.

Oliko tämä artikkeli hyödyllinen?