Gå til indhold

SSE2

ArkitekturreferenceFeex

SSE2 udvider 128-bit XMM-programmeringsmodellen med dobbeltpræcisions flydende kommatals- og heltalsoperationer. Det er en del af den sædvanlige x86-64-baseline, men er ikke en kortform for enhver senere SSE-udvidelse.

Hvad du behøver at vide

SSE2 udvider 128-bit XMM-programmeringsmodellen med dobbeltpræcisions flydende kommatals- og heltalsoperationer. Det er en del af den sædvanlige x86-64-baseline, men er ikke en kortform for enhver senere SSE-udvidelse.

Sådan virker det

Et 128-bit XMM-register kan indeholde 2 dobbeltpræcisionsværdier eller heltalssubjekter af flere bredder. SSE2 flytter meget heltals-SIMD-arbejde til XMM-registre i stedet for MMX/x87-aliasingmodellen. Skalære og pakkede former, fortegn, mætning og justeringskrav forbliver instruktionsspecifikke.

Hvor det er nyttigt

Et numerisk bibliotek kan beregne med par af dobbeltpræcisionsværdier, mens en byte-behandlende kernel kan sammenligne eller omarrangere pakkede heltalsdata. Antallet af elementer i et register er ikke et udsagn om instruktionsgennemstrømning eller et programs hastighedsforbedring.

Sådan kontrolleres understøttelse og aktivering

CPUID.01H:EDX bit 26 enumererer SSE2. Bekræft, at kørselssmiljøet bevarer XMM-tilstanden, og at applikationens binære baseline matcher. Brug applikationens dokumenterede legacy-build, når dens nuværende build kræver en senere udvidelse.

En SIMD-funktion beskriver instruktioner, ikke ekstra kerner. Instruktionsformen bestemmer elementbredde, fortegn, afrunding, justering og hvilke baner der interagerer. Software skal bevare ABI'ens registertilstand og bruge et understøttet eksekveringsmiljø.

Hvad funktionen ikke fastslår

SSE2 indebærer ikke SSE3, SSSE3, SSE4.1 eller SSE4.2. Software bygget til en nyere baseline kan fejle på et ellers fuldt funktionelt SSE2-kompatibelt system. Et SSE2-flag er ikke en komplet kompatibilitetsdom for operativsystem eller applikation.

Kompatibilitet og ydeevne i praksis

Senere navne i SSE-familien har separate funktionsbit. For en udrullet binær fil skal det komplette minimale funktionssæt undersøges, inklusive biblioteker og opstartskode. En reservemetode er kun nyttig, hvis der ikke kører nogen ikke-understøttet instruktion forud for udvælgelsestrinnet.

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?