SSE3
SSE3 legger til en liten gruppe x86-instruksjoner for flyttallsdatahåndtering og aritmetikk, inkludert horisontale operasjoner. Den er forskjellig fra Supplemental SSE3, vanligvis skrevet SSSE3.
Dette må du vite
SSE3 legger til en liten gruppe x86-instruksjoner for flyttallsdatahåndtering og aritmetikk, inkludert horisontale operasjoner. Den er forskjellig fra Supplemental SSE3, vanligvis skrevet SSSE3.
Slik fungerer det
SSE3 inkluderer horisontale addisjons-/subtraksjonsoperasjoner, alternerende addisjon/subtraksjon, duplikatlastingsformer og LDDQU for bestemte ujusterte bruksområder for heltallslasting. Horisontale operasjoner kombinerer elementer innenfor inndatavektorer i stedet for bare å bruke uavhengig aritmetikk på tilsvarende baner. Nøyaktig banerekkefølge har betydning.
Hvor det er nyttig
Kompleks aritmetikk kan kombinere duplikat- og addisjons-/subtraksjonsformer for å organisere reelle og imaginære komponenter. En kompilator kan velge en annen sekvens når det er raskere på en bestemt prosessor. Et praktisk instruksjonsnavn er ikke bevis på at det er optimalt for enhver løkke.
Slik kontrolleres støtte og aktivering
CPUID.01H:ECX bit 0 enumererer SSE3. Kontroller SSSE3 separat ved bit 9. Bestem den faktiske instruksjonen som utløste en ugyldig instruksjonsfeil i stedet for å gjette ut fra applikasjonens generelle SSE-krav.
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
SSE3 og SSSE3 er separate funksjonsflagg. Ingen av etikettene beviser SSE4.1, SSE4.2, POPCNT eller AVX. Tilgjengelighet og tillatt bruk av MONITOR/MWAIT krever også egne vurderinger på systemnivå i stedet for å anta at brukerkode kan utføre enhver tilknyttet instruksjon.
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
- Registrer den nøyaktige prosessor- eller plattformmodellen og de involverte applikasjons-, OS- og kjøretidsversjonene. Bevar ordlyden i den faktiske feilen eller kravet.
- Sjekk produsentreferansen for akkurat den modellen, og undersøk deretter den faktiske kapasiteten og aktiverte tilstanden i miljøet der programmet kjører.
- Sammenlign ethvert krav til den valgte binærfilen eller baksiden. En lignende navngitt funksjon, et alias eller en bred teknologietikett er ikke tilstrekkelig.
- Bekreft at applikasjonen valgte den tiltenkte implementeringen. Bruk dens dokumenterte diagnostikk og en støttet reservemetode når kravene ikke er oppfylt.
- 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
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.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Bind 1 og 2 beskriver de navngitte instruksjonsfamiliene og CPUID; bind 3 beskriver tilstands-, sidevekslings-, VMX- og beskyttelseskontroller. Arkitekturdokumentasjon etablerer ikke støtte for en bestemt modell.
Var denne artikkelen nyttig?
Et ja eller nei holder. Velg en grunn hvis du vil, eller legg til en kort kommentar.
Takk. Det hjelper oss med å forbedre denne siden.