Siirry sisältöön

SSE3

ArkkitehtuuriviiteFeex

SSE3 lisää pienen ryhmän x86-käskyjä liukulukudatan käsittelyyn ja aritmetiikkaan, mukaan lukien horisontaaliset operaatiot. Se eroaa Supplemental SSE3:sta, joka kirjoitetaan yleensä SSSE3.

Mitä sinun tulee tietää

SSE3 lisää pienen ryhmän x86-käskyjä liukulukudatan käsittelyyn ja aritmetiikkaan, mukaan lukien horisontaaliset operaatiot. Se eroaa Supplemental SSE3:sta, joka kirjoitetaan yleensä SSSE3.

Miten se toimii

SSE3 sisältää horisontaaliset yhteen- ja vähennyslaskutoimitukset, vuorottelevat yhteen- ja vähennyslaskut, kaksoiskappaleen latausmuodot sekä LDDQU-käskyn tiettyihin kohdistamattomien kokonaislukujen lataustapauksiin. Horisontaaliset operaatiot yhdistävät elementtejä syötevektoreiden sisällä sen sijaan, että ne vain soveltaisivat itsenäistä aritmetiikkaa vastaaviin kaistoihin. Tarkalla kaistajärjestyksellä on merkitystä.

Missä siitä on hyötyä

Kompleksiaritmetiikka voi yhdistää kaksoiskappale- sekä yhteen- ja vähennyslaskumuotoja reaalisten ja imaginaaristen komponenttien järjestämiseksi. Kääntäjä voi valita toisen sekvenssin, jos se on nopeampi tietyllä suorittimella. Kätevä käskyn nimi ei ole todiste siitä, että se olisi optimaalinen jokaiselle silmukalle.

Tuen ja käyttöönoton tarkistaminen

CPUID.01H:ECX bitti 0 luetteloi SSE3-tuen. Tarkista SSSE3 erikseen bitistä 9. Määritä todellinen käsky, joka aiheutti virheellisen käskyn virheen (illegal instruction), sen sijaan että arvailisit sovelluksen yleisen SSE-vaatimuksen perusteella.

SIMD-ominaisuus kuvaa käskyjä, ei lisäytimiä. Käskymuoto määrittää elementin leveyden, etumerkillisyyden, pyöristyksen, kohdistuksen ja sen, mitkä kaistat ovat vuorovaikutuksessa. Ohjelmiston on säilytettävä ABI-rajapinnan rekisteritila ja käytettävä tuettua suoritusympäristöä.

Mitä ominaisuus ei takaa

SSE3 ja SSSE3 ovat erillisiä ominaisuuslippuja. Kumpikaan nimitys ei todista tukea ominaisuuksille SSE4.1, SSE4.2, POPCNT tai AVX. Käskyjen MONITOR/MWAIT saatavuus ja sallittu käyttö vaativat myös oman järjestelmätason harkintansa sen sijaan, että oletettaisiin käyttäjäkoodin voivan suorittaa jokaista niihin liittyvää käskyä.

Yhteensopivuus ja suorituskyky käytännössä

Myöhemmillä SSE-perheen nimillä on omat ominaisuutensa bitit. Tarkista tuotantobinaarille täydellinen vähimmäisominaisuusjoukko, mukaan lukien kirjastot ja käynnistyskoodi. Korvaava toteutus on hyödyllinen vain, jos mitään tukematonta käskyä ei suoriteta ennen valintavaihetta.

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

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?