Hoppa till innehåll

SSE2

ArkitekturreferensFeex

SSE2 utökar 128-bitars XMM-programmeringsmodellen med dubbelprecisions flyttals- och heltalsoperationer. Det är en del av den vanliga x86-64-baslinjen, men är inte en förkortning för alla senare SSE-tillägg.

Vad du behöver veta

SSE2 utökar 128-bitars XMM-programmeringsmodellen med dubbelprecisions flyttals- och heltalsoperationer. Det är en del av den vanliga x86-64-baslinjen, men är inte en förkortning för alla senare SSE-tillägg.

Hur det fungerar

Ett 128-bitars XMM-register kan innehålla 2 dubbelprecisionsvärden eller heltalvelement av flera bredder. SSE2 flyttar mycket heltals-SIMD-arbete till XMM-register istället för aliasing-modellen för MMX/x87. Skalära och packade former, teckenhantering, mättning och justeringskrav förblir instruktionsspecifika.

Där den är användbar

Ett numeriskt bibliotek kan beräkna med par av dubbelprecisionsvärden, medan en bytebearbetningskärna kan jämföra eller ordna om packade heltalsdata. Antalet element i ett register är inte ett uttalande om instruktionsgenomströmning eller en applikations prestandavinst.

Hur man kontrollerar stöd och aktivering

CPUID.01H:EDX bit 26 enumererar SSE2. Bekräfta att körmiljön bevarar XMM-tillståndet och att applikationens binära baslinje matchar. Använd applikationens dokumenterade äldre version när dess nuvarande version kräver ett senare tillägg.

En SIMD-funktion beskriver instruktioner, inte extra karnor. Instruktionsformen avgor elementbredd, teckenrepresentation, avrundning, justering och vilka banor som interagerar. Mjukvara maste bevara ABI-registrens tillstand och anvanda en stodd exekveringsmiljo.

Vad funktionen inte fastställer

SSE2 innebär inte SSE3, SSSE3, SSE4.1 eller SSE4.2. Mjukvara byggd för en nyare baslinje kan krascha på ett i övrigt fullt fungerande SSE2-kompatibelt system. En SSE2-flagga är inte ett fullständigt omdöme om operativsystem- eller applikationskompatibilitet.

Kompatibilitet och prestanda i praktiken

Senare namn i SSE-familjen har separata funktionsbitar. For en distribuerad binar, granska den fullstandiga minsta funktionsuppsattningen, inklusive bibliotek och startkod. En reservlosning ar bara anvandbar om ingen icke-stodd instruktion kors fore urvalssteget.

En praktisk checklista för verifiering

  1. Registrera den exakta processor- eller plattformsmodellen samt de applikations-, OS- och runtime-versioner som berörs. Behåll formuleringen av det faktiska felet eller kravet.
  2. Kontrollera tillverkarens referens för den exakta modellen och granska sedan den faktiska kapaciteten och det aktiverade tillståndet i miljön där programmet körs.
  3. Jämför varje krav för den valda binären eller renderingsmotorn. En snarlikt namngiven funktion, ett alias eller en bred teknikbeteckning räcker inte.
  4. Bekräfta att applikationen har valt den avsedda implementeringen. Använd dess dokumenterade diagnostik och en reservlösning som stöds när kraven inte uppfylls.
  5. Gör en ändring som stöds i taget och upprepa samma arbetsbelastning. Håll den ursprungliga konfigurationen och återställningsvägen tillgängliga.

Om funktionen är listad men programvaran inte kan använda den

Börja med den exakta komponenten som fallerar. En hårdvarudatabas beskriver registrerad kapacitet; operativsystemet eller hypervisorn kan exponera en annan faktisk miljö. Ett fel om otillåten instruktion kräver också undersökning av den faktiska felande instruktionen och binärbygget, eftersom korruption eller en orelaterad instruktion utan stöd kan ge ett liknande symptom.

Installera den version av applikationen, drivrutinen eller runtime-miljön som stöds för den exakta plattformen, och använd vid behov tillverkarens dokumenterade baslinje eller reservbygge. En programvaruuppdatering kan inte skapa en instruktion som processorn saknar. Ändringar i firmware och säkerhetspolicy bör följa systemtillverkarens procedur och en återställningsplan snarare än ett generiskt optimeringsrecept.

Källor och omfattning för denna förklaring

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

Dessa referenser fastställer arkitektoniskt beteende och programvarukrav. De verifierar inte oberoende varje funktionsvärde på en länkad hårdvarumodellsida. För modellstöd, använd den sidans tillverkarbelägg och kontrollera den effektiva systemkonfigurationen. Denna artikel tillhandahåller inte ett prestandatest, en certifiering eller ett oberoende granskningsdatum.

Källor och verifiering

Redaktionellt ägarskap: Feex. Inget oberoende granskningsdatum har registrerats. Hur vi efterforskar.

Var denna artikel användbar?

Ett ja eller nej räcker. Välj en anledning om du vill, eller lägg till en kort anteckning.

Var denna artikel användbar?