Gå til indhold

FXSR

ArkitekturreferenceFeex

FXSR identificerer FXSAVE/FXRSTOR-faciliteterne til at gemme og gendanne ældre flydende tal- og SIMD-tilstand. Det er en kapabilitet til håndtering af operativsystemtilstand snarere end en applikationshastighedsvurdering.

Hvad du behøver at vide

FXSR identificerer FXSAVE/FXRSTOR-faciliteterne til at gemme og gendanne ældre flydende tal- og SIMD-tilstand. Det er en kapabilitet til håndtering af operativsystemtilstand snarere end en applikationshastighedsvurdering.

Sådan virker det

FXSAVE skriver det definerede tilstandsbillede for x87, MMX, XMM og MXCSR, og FXRSTOR gendanner den tilsvarende tilstand. Billedet har et specificeret layout og justering. Det præcise registersæt og format afhænger af afviklingstilstand og arkitektoniske styringer.

Hvor det er nyttigt

Et operativsystem eller en runtime, der implementerer konteksthåndtering på lavt niveau, skal bevare den tilstand, som dets eksekveringsmiljø tillader. Almindelige applikationer forlader sig normalt på operativsystemet og ABI'en frem for selv at gemme vilkårlige kontekstbilleder.

Sådan kontrolleres understøttelse og aktivering

CPUID.01H:EDX bit 24 opremser FXSR. Software på lavt niveau skal også følge kravene til kontrolregistre, justering og privilegier i arkitekturmanualen. Erstat ikke OS-konteksthåndtering med en nødløsning til gem/gendan på applikationsniveau.

Faciliteter til tilstandshåndtering er primært et ansvar for OS og runtime. Buffere, masker, komponentstørrelser, justering og gendannelsesregler skal stemme overens med arkitekturen og afviklingstilstanden. Hvis kun et undersæt gemmes, kan det korrumpere kode, der anvender yderligere aktiveret tilstand.

Hvad funktionen ikke fastslår

Et FXSAVE-billede bevarer ikke al senere AVX-, AVX-512- eller AMX-tilstand. At behandle det som en komplet moderne kontekst kan ødelægge et program, selv når FXSR understøttes. Tilstandshåndtering i XSAVE-familien er en separat mekanisme.

Kompatibilitet og ydeevne i praksis

Funktionsregistrering på applikationsniveau bør anvende en vedligeholdt runtime-grænseflade, når det er muligt. Skeln mellem hardwareunderstøttelse og OS-aktivering samt procestilladelser for dynamiske funktioner. En CPU-betegnelse alene kan ikke fastslå, at en vilkårlig gem/gendan-sekvens er korrekt.

En praktisk tjekliste til verifikation

  1. Registrer den nøjagtige processor- eller platformsmodel samt de involverede applikations-, OS- og runtime-versioner. Bevar formuleringen af den faktiske fejl eller det faktiske krav.
  2. Tjek producentreferencen for den nøjagtige model, og undersøg derefter den effektive kapacitet og aktiverede tilstand i det miljø, hvor programmet kører.
  3. Sammenlign ethvert krav for den valgte binære fil eller backend. En funktion med et lignende navn, et alias eller en bred teknologimærkat er ikke tilstrækkelig.
  4. Bekræft, at applikationen har valgt den tilsigtede implementering. Brug dens dokumenterede diagnosticering og et understøttet fallback, når kravene ikke er opfyldt.
  5. Foretag en enkelt understøttet ændring ad gangen, og gentag den samme arbejdsbelastning. Hold den oprindelige konfiguration og gendannelsessti tilgængelig.

Hvis funktionen er anført, men softwaren ikke kan bruge den

Start med den nøjagtige komponent, der fejler. En hardwaredatabase beskriver registreret kapacitet; operativsystemet eller hypervisoren kan udstille et andet effektivt miljø. En illegal-instruction-fejl kræver også undersøgelse af den faktiske fejlbehæftede instruktion og det binære build, fordi korruption eller en urelateret ikke-understøttet instruktion kan frembringe et lignende symptom.

Installer den applikations-, driver- eller runtime-version, der understøttes til den nøjagtige platform, og brug om nødvendigt leverandørens dokumenterede baseline eller fallback-build. En softwareopdatering kan ikke oprette en instruktion, som processoren mangler. Ændringer i firmware og sikkerhedspolitik bør følge systemproducentens procedure og en genopretningsplan frem for en generisk optimeringsopskrift.

Kilder og denne forklaringens omfang

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: niveauer for processorarkitektur og mikroarkitektur

Disse referencer fastlægger arkitektonisk adfærd og softwarekrav. De verificerer ikke uafhængigt enhver funktionsværdi på en tilknyttet hardwaremodelside. For modelunderstøttelse skal du bruge den pågældende sides producentdokumentation og kontrollere den effektive systemkonfiguration. Denne artikel leverer ikke et benchmark, en certificering eller en uafhængig revisionsdato.

Kilder og verificering

Redaktionelt ejerskab: Feex. Ingen uafhængig revisionsdato er registreret. Sådan undersøger vi.

Var denne artikel nyttig?

Et ja eller nej er nok. Vælg en grund, hvis du vil, eller tilføj en kort bemærkning.

Var denne artikel nyttig?