Hopp til innhold

SSE4.1

ArkitekturreferanseFeex

SSE4.1 legger til x86 SIMD-operasjoner for utvalg, aritmetikk og datahåndtering, inkludert instruksjoner for blanding, avrunding og skalarprodukt (dot product). Den enumereres separat fra SSE4.2.

Dette må du vite

SSE4.1 legger til x86 SIMD-operasjoner for utvalg, aritmetikk og datahåndtering, inkludert instruksjoner for blanding, avrunding og skalarprodukt (dot product). Den enumereres separat fra SSE4.2.

Slik fungerer det

Utvidelsen inkluderer operasjoner som pakkede blandinger, innsettings-/uttrekksformer, utvidende flyttinger og utvalgte heltallsmultiplikasjons- og sammenligningsoperasjoner. DPPS og DPPD beregner maskerte skalarprodukter med definerte kontroller for inngangs- og utgangsbaner. Deres aritmetiske rekkefølge og støttede formater er en del av instruksjonskontrakten.

Hvor det er nyttig

Bildebehandlings- eller geometrikode kan velge baner eller kombinere produkter uten enkelte eldre instruksjonssekvenser. En kompilator kan likevel foretrekke multiplikasjons-/addisjons- eller omstokkingssekvenser avhengig av avhengigheter, numeriske behov og målimplementeringen.

Slik kontrolleres støtte og aktivering

CPUID.01H:ECX bit 19 enumererer SSE4.1. Kontroller bit 20 separat for SSE4.2 og bit 23 for POPCNT. Match programmets nøyaktige binære grunnlinje i stedet for en forkortet etikett som SSE4.

En SIMD-funksjon beskriver instruksjoner, ikke ekstra kjerner. Instruksjonsformen bestemmer elementbredde, fortegn, avrunding, justering og hvilke baner som samhandler. Programvare må bevare ABI-ets registertilstand og bruke et støttet kjøremiljø.

Hva funksjonen ikke etablerer

SSE4.1 er ikke hele SSE4-familien. Den beviser ikke SSE4.2-strengoperasjoner, CRC32, POPCNT eller AMD SSE4a. En prosessormodells markedsføringsgenerasjon bør ikke erstatte den faktiske kapasitetskontrollen.

Kompatibilitet og ytelse i praksis

Senere navn i SSE-familien har separate funksjonsbiter. For en produksjonssatt binærfil må det fullstendige minimumssettet med funksjoner undersøkes, inkludert biblioteker og oppstartskode. En reserveløsning er bare nyttig hvis ingen ustøttet instruksjon kjører før utvelgelsestrinnet.

En praktisk sjekkliste for verifisering

  1. Registrer den nøyaktige prosessor- eller plattformmodellen og de involverte applikasjons-, OS- og kjøretidsversjonene. Bevar ordlyden i den faktiske feilen eller kravet.
  2. Sjekk produsentreferansen for akkurat den modellen, og undersøk deretter den faktiske kapasiteten og aktiverte tilstanden i miljøet der programmet kjører.
  3. Sammenlign ethvert krav til den valgte binærfilen eller baksiden. En lignende navngitt funksjon, et alias eller en bred teknologietikett er ikke tilstrekkelig.
  4. Bekreft at applikasjonen valgte den tiltenkte implementeringen. Bruk dens dokumenterte diagnostikk og en støttet reservemetode når kravene ikke er oppfylt.
  5. Gjør én støttet endring om gangen og gjenta den samme arbeidsbelastningen. Hold den opprinnelige konfigurasjonen og gjenopprettingsstien tilgjengelig.

Hvis funksjonen er oppført, men programvare ikke kan bruke den

Start med den nøyaktige komponenten som feiler. En maskinwaredatabase beskriver registrert kapasitet; operativsystemet eller hypervisoren kan eksponere et annet reelt miljø. En feil om ulovlig instruksjon krever også undersøkelse av den faktiske feilende instruksjonen og binærbyggingen, fordi korrupsjon eller en urelatert, ustøttet instruksjon kan gi et lignende symptom.

Installer applikasjonen, driveren eller kjøretidsversjonen som støttes for den nøyaktige plattformen, og bruk om nødvendig leverandørens dokumenterte grunnlinje- eller reservebygg. En programvareoppdatering kan ikke opprette en instruksjon som prosessoren mangler fastvare. Endringer i fastvare og sikkerhetspolicy bør følge systemprodusentens prosedyre og en gjenopprettingsplan i stedet for en generisk optimaliseringsoppskrift.

Kilder og omfang for denne forklaringen

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: prosessorarkitektur og mikroarkitekturnivåer

Disse referansene etablerer arkitektonisk oppførsel og programvarekrav. De verifiserer ikke uavhengig hver funksjonsverdi på en koblet maskinvaremodells side. For modellstøtte, bruk den sidens produsentdokumentasjon og kontroller den reelle systemkonfigurasjonen. Denne artikkelen oppgir ikke en referansemåling, sertifisering eller dato for uavhengig gjennomgang.

Kilder og verifisering

Redaksjonelt eierskap: Feex. Ingen uavhengig vurderingsdato er registrert. Hvordan vi gjør undersøkelser.

Var denne artikkelen nyttig?

Et ja eller nei holder. Velg en grunn hvis du vil, eller legg til en kort kommentar.

Var denne artikkelen nyttig?