Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Betroffene Plattformen
Clients – Windows 7 SP1
Server – Windows Server 2008 R2 SP1
Auswirkung von Features
Schweregrad – Niedrig
Häufigkeit - Niedrig
Beschreibung
Intel? Advanced Vector Extensions (AVX)? ist eine 256-Bit-SIMD-Gleitkommavektorerweiterung der Intel-Architektur. Es enthält Erweiterungen für Anweisungs- und Registersätze.
Microsoft hat einige API-Verbesserungen entwickelt, z. B. XState-Funktionen, mit denen Anwendungen auf erweiterte Prozessorfeatureinformationen und -status zugreifen und diese bearbeiten können, einschließlich AVX.
Nutzungsszenarien
Es gibt drei allgemeine Ebenen potenzieller Auswirkungen.
Ebene 1: Anwendungen, die Intel AVX nicht direkt verwenden, sehen keine Auswirkungen auf ihre Funktionalität, auch wenn sie Bibliotheken aufrufen oder Compiler verwenden, die Intel AVX-Erweiterungen indirekt verwenden oder generieren. Dies stellt bei weitem die Mehrheit der Anträge dar.
Ebene 2: Advanced-Anwendungen, die explizit den Intel AVX-Anweisungssatz verwenden, können auf AVX-Registerinhalte zugreifen und diese ändern, wenn eine Hardware ausnahme ausgelöst wird. Eine sehr kleine Anzahl von Anwendungen würde in diese Kategorie fallen, da sie ein intimes Wissen über den Anweisungsstream zum Zeitpunkt der Ausnahme impliziert, z. B. Anwendungen mit Abschnitten, die in Assemblysprache geschrieben wurden, oder solche, die Computercode zur Laufzeit generieren (z. B. Verwaltete Codelaufzeiten mit Just-in-Time-Kompilierung).
Ebene 3: Debuggeranwendungen können auf den AVX-Zustand in der zu debuggenden Anwendung zugreifen und diesen bearbeiten.
So nutzen Sie Featurefunktionen
Ebene 1: Es ist keine Aktion erforderlich, damit Anwendungen Intel AVX verwenden können.
Ebene 2: Anwendungen in dieser Kategorie haben die Möglichkeit, zum Zeitpunkt der Ausnahme innerhalb ihrer Ausnahmefilter auf AVX-Zustand zuzugreifen und sie zu bearbeiten. Nach dem Abrufen des Basisprozessorkontexts über GetExceptionInformation sollten Filter:
1. Überprüfen Sie den Wert des CONTEXT_XSTATE-Flags. Dieses Kennzeichen gibt das Vorhandensein von mindestens einem XState-Feature im Kontext an.
2. Wenn dies der Fall ist, rufen Sie GetXStateFeaturesMask auf, und testen Sie den Wert des XSTATE_AVX Flags in der zurückgegebenen Maske. Dies gibt das Vorhandensein des AVX-Zustands im Kontext an.
3. Rufen Sie LocateXStateFeature auf, um den tatsächlichen Ort abzurufen, an dem der AVX-Zustand gespeichert ist.
Ebene 3: Es ist nicht erforderlich, vorhandene Debuggeranwendungen zu aktualisieren, es sei denn, sie möchten auf die Intel AVX-Register zugreifen:
1. Um festzustellen, ob AVX aktiviert ist, sollte der Debugger Folgendes verwenden:
- GetEnabledXStateFeatures zum Abrufen einer Maske aktivierter XState-Features auf x86- oder x64-Prozessoren, um zu bestimmen, welche Features vorhanden sind und auf dem System aktiviert sind, bevor Sie ein XState-Prozessorfeature verwenden oder versuchen, XState-Kontexte zu bearbeiten
2. Wenn AVX vorhanden ist und Sie den AVX-Zustand aus der zu debuggenden Anwendung abrufen und bearbeiten möchten (z. B. GetThreadContext und SetThreadContext), sollte der Debugger Folgendes verwenden:
- InitializeContext-Funktion zum Initialisieren einer Kontextstruktur innerhalb eines Puffers mit der erforderlichen Größe und Ausrichtung
- CopyContext Function to copy a source context structure (including any XState) to an initialized destination context structure
3. Um den AVX-Zustand in einem Prozessorkontext zu testen, festzulegen und zu finden, sollte der Debugger Folgendes verwenden:
- LocateXStateFeature to retrieve a pointer to the processor state for an individual XState feature within a context structure
- GetXStateFeaturesMask, um die Maske von XState-Features zurückzugeben, die in einer Kontextstruktur festgelegt sind
- SetXStateFeaturesMask zum Festlegen der Maske von XState-Features, die in einer Kontextstruktur festgelegt wurden
Links zu anderen Ressourcen
- Informationen zu den XState-Funktionen im Windows SDK finden Sie unter Debugfunktionen.
- Eine Übersicht über die Anweisungen und Funktionen der Intel AVX finden Sie unter Intel AVX: New Frontiers in Performance Improvements and Energy Efficiency.