Zephyrnet-Logo

Was ist X86-64-v3?

Datum:

Möglicherweise haben Sie Linux-Experten über x86-64-v3 diskutieren hören. Kann es Vorteile bringen, Linux-Code neu zu kompilieren, um dies zu nutzen? Um diese Frage zu beantworten, müssen Sie wahrscheinlich wissen, was x86-64-v3 ist, und [Gary erklärt] … nun ja … erklärt es in einem aktuellen Video.

Wenn Sie lieber Text verdauen möchten, hat RedHat einen aktuellen Artikel über ihre Experimente unter Verwendung der in RHEL10 festgelegten Anweisungen. Aus diesem Artikel können Sie ersehen, dass die meisten neuen Anweisungen einige Verbesserungen für Vektoren und Bitmanipulation unterstützen. Es ermöglicht außerdem flexiblere Anweisungen, die ihre Ergebnisse in einem expliziten Zielregister statt in einem der Operandenregister belassen.

Für High-Level-Code spielt das alles natürlich keine Rolle, es sei denn, der Compiler unterstützt es. Allerdings vektorisiert gcc Version 12 den Code automatisch, wenn die Optimierungsflags -O2 verwendet werden.

Es gibt natürlich einen Haken, der dazu führt, dass der Code mit älteren CPUs nicht kompatibel ist. Wie alt? Intel unterstützt diese Anweisungen seit 2013 in den Haswell-CPUs. Obwohl einige Atom-CPUs seit 3 über v2021 verfügen, unterstützen einige spätere Intel Atoms es nicht vollständig. AMD war 2015 mit von der Partie. Es gibt eine neuere Anleitung, x86-64-v4. Dies ist jedoch noch zu neu, sodass die meisten Leute, einschließlich RedHat, vorerst planen, v3 zu unterstützen. Sie können finden eine prägnante Übersichtstabelle auf Wikipedia.

Abgesehen von Atom-Prozessoren müssen Sie also über alte Hardware verfügen, um nicht über die v3-Anweisungen zu verfügen. Einige dieser Anweisungen sind ziemlich weit verbreitet, sodass ein Wechsel zur Laufzeit nicht sehr machbar erscheint.

Wir fragen uns, ob ältere Prozessoren für diese Befehle illegale Befehlsinterrupts auslösen würden. Wenn ja, könnten Sie emulierte Versionen auf die gleiche Weise hinzufügen, wie alte CPUs früher Mathe-Coprozessoren emulierten, wenn sie keinen hatten.

Bedenken Sie, dass die Debatte über das Löschen von Versionen vor x86-64-v3 nicht bedeutet, dass Linux selbst sich darum kümmern wird. Dies ist einfach die Art und Weise, wie die Distributionen kompiliert werden. Auch wenn es möglich, aber entmutigend ist, alles selbst zu kompilieren, wird es zweifellos Distributionen geben, die sich dafür entscheiden, die Unterstützung für ältere CPUs so lange beizubehalten, wie der Linux-Kernel dies zulässt.

Intel würde gerne fallen lassen ältere Nicht-64-Bit-Hardware von CPUs. Wenn Sie Ihre 64-Bit-Assembler-Kenntnisse verbessern möchten, versuchen Sie es eine GUI.

[Eingebetteten Inhalt]

(Titelbild aus Wikipedia)

spot_img

Neueste Intelligenz

spot_img