Hoppa till innehåll

x86-64-v3

ArkitekturreferensFeex

x86-64-v3 är en kumulativ psABI-funktionsnivå som lägger till kapabiliteter från AVX-eran till x86-64-v2. Motsvarande vektortillstånd måste aktiveras av operativsystemet, inte bara finnas i processorn.

Vad du behöver veta

x86-64-v3 är en kumulativ psABI-funktionsnivå som lägger till kapabiliteter från AVX-eran till x86-64-v2. Motsvarande vektortillstånd måste aktiveras av operativsystemet, inte bara finnas i processorn.

Hur det fungerar

Utöver v2 lägger nivån till AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE och OSXSAVE. psABI kräver fullständiga tillgänglighetskontroller enligt processorhandboken, inklusive relevant XCR0-tillstånd. Detta är en samling samtidiga krav snarare än ett smeknamn för AVX2.

Där den är användbar

En binär som kompilerats med ett x86-64-v3-mål kan använda hela nivån villkorslöst. Ett brett distribuerat bibliotek kan istället behålla ett baslinjebygge och välja en v3-implementering via sin laddare eller körningsdispatcher.

Hur man kontrollerar stöd och aktivering

Kontrollera varje ärvd och nyligen tillagd funktion och verifiera att AVX OS-tillstånd är aktiverat med arkitekturens OSXSAVE/XGETBV-sekvens. Försök inte att åtgärda en saknad hårdvaruinstruktion genom att ändra ett mjukvarupakets etikett.

En hårdvarukapacitet, den körande driftmiljön och en applikations binärkrav är olika lager. Arkitekturnamn och ABI-nivåer bör tolkas som explicita kontrakt snarare än som en allmän regel om att nyare alltid är kompatibelt.

Vad funktionen inte fastställer

AVX2 ensamt etablerar inte v3, och v3 antyder inte AES-NI, AVX-512 eller AMX. En container delar värdkärnans instruktionsmiljö; den skapar inte saknade instruktioner. En virtuell dator kan exponera en kompatibel delmängd för migrering.

Kompatibilitet och prestanda i praktiken

Kontrollera de fullständiga ärvda kraven och den effektiva miljö som är synlig för processen. För en virtuell dator, inspektera gästen istället för att anta att värdens modell exponeras oförändrad. Ett stött fallback-bygge bör tydligt ange sin egen baslinje.

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

x86-64 psABI: processorarkitektur- och mikroarkitekturnivåer · Intel 64 and IA-32 Architectures Software Developer's Manual · Linux-kärnan: använda XSTATE-funktioner i användarrymden

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?