„F16C“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
+ref, datum |
→Funktion: +ref |
||
Zeile 8: | Zeile 8: | ||
== Funktion == |
== Funktion == |
||
Die Befehlssatzerweiterung erleichtert das Konvertieren von Fließkommazahlen halber Genauigkeit (64Bit) in Fließkommazahlen ganzer Genauigkeit (128Bit) und umgekehrt, womit auch eine Verlagerung von [[Streaming SIMD Extensions|XMM-Registern]] in YMM-Register verbunden ist. |
Die Befehlssatzerweiterung erleichtert das Konvertieren von Fließkommazahlen halber Genauigkeit (64Bit) in Fließkommazahlen ganzer Genauigkeit (128Bit) und umgekehrt, womit auch eine Verlagerung von [[Streaming SIMD Extensions|XMM-Registern]] in YMM-Register verbunden ist.<ref>{{Literatur|Autor=Daniel Kusswurm|Titel=Modern X86 Assembly Language Programming|Hrsg=|Sammelwerk=|Band=|Nummer=|Auflage=|Verlag=[[Apress]]|Ort=|Datum=2014|Seiten=342 ff.|ISBN=9781484200643|DOI=10.1007/978-1-4842-0064-3|Online=|Abruf=}}</ref> |
||
<!-- |
<!-- |
||
Zeile 17: | Zeile 17: | ||
In recent documents, the name F16C is formally used in both Intel and AMD x86-64 architecture specifications. |
In recent documents, the name F16C is formally used in both Intel and AMD x86-64 architecture specifications. |
||
--> |
--> |
||
== Technische Information== |
== Technische Information== |
||
Version vom 11. Januar 2017, 22:10 Uhr
Dieser Artikel wurde zur Löschung vorgeschlagen.
Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht. | |
Begründung: Kein artikel und keine erkennbare Relevanz Wassertraeger (إنغو) 12:44, 11. Jan. 2017 (CET) |
F16C (früher auch CVT16) bezeichnet eine Befehlssatzerweiterung für Mikroprozessoren von Intel und AMD zur leichteren Umrechnung von Fließkommazahlen unterschiedlicher Präzision.[1]
Geschichte
Am 1. Mai 2009 wurde diese Befehlssatzerweiterung von AMD unter dem Namen CVT16 angekündigt. Sie stellt in überarbeiterter Form einige Befehle der SSE5-Erweiterung zur Verfügung und fungiert als Bindegleid zu Intels AVX-Erweiterung. Seit 2012 werden diese Befehle auch von Intel verwendet.[2]
Funktion
Die Befehlssatzerweiterung erleichtert das Konvertieren von Fließkommazahlen halber Genauigkeit (64Bit) in Fließkommazahlen ganzer Genauigkeit (128Bit) und umgekehrt, womit auch eine Verlagerung von XMM-Registern in YMM-Register verbunden ist.[3]
Technische Information
Es gibt Varianten des Befehlssatzes, die vier Gleitkommawerte in ein XMM-Register oder acht Gleitkommawerte in ein XMM-Register in ein YMM-Register verschieben. Die Befehlsnamen VCVTPH2PS und VCVTPH2PS sind Kürzel für "vector convert packed half to packed single", (Vektorumwandlung halb gepackt nach einfach gepackt) und umgekehrt.
- VCVTPH2PS xmmreg,xmmrm64 wandelt vier Gleitkommawerte halber Genauigkeit im Speicher oder in der unteren Hälfte eines XMM-Registers in vier Gleitkommawerte einfacher Genauigkeit in einem XMM-Register.
- VCVTPH2PS ymmreg,xmmrm128 wandelt acht Gleitkommawerte halber Genauigkeit im Speicher oder einem XMM-Registers (der unteren Hälfte eines YMM-Registers) in acht Gleitkommawerte einfacher Genauigkeit eines YMM-Registers.
- VCVTPS2PH xmmrm64,xmmreg,imm8 wandelt vier Gleitkommawerte einfacher Genauigkeit in einem XMM-Register in Gleitkommawerte halber Genauigkeit im Speicher oder der unteren Hälfte eines XMM-Registers.
- VCVTPS2PH xmmrm128,ymmreg,imm8 wandelt acht Gleitkommawerte einfacher Genauigkeit in einem YMM-Register in Gleitkommawerte halber Genauigkeit im Speicher oder der unteren Hälfte eines XMM-Registers.
Das unmittelbare 8-bit-Argument imm8 bei VCVTPS2PH gibt die Form der Abrundung vor. Die Werte '0' - '4' legen die Rundungform fest (Nächster Wert / abrunden / aufrunden / löschen). Dadurch wird auch der Modus für MXCSR.RC vorgegeben. Das Bit 29 des Registers ECX zeigt die Unterstützung für diese Befehle nach Abfrage durch CPUID mit EAX=1 an.
Weblinks
- New Bulldozer and Piledriver Instructions [1]
- DirectX math F16C and FMA [2]
- AMD64 Architecture Programmer's Manual Volume 1 [3]
- AMD64 Architecture Programmer's Manual Volume 2 [4]
- AMD64 Architecture Programmer's Manual Volume 3 [5]
- AMD64 Architecture Programmer's Manual Volume 4 [6]
- AMD64 Architecture Programmer's Manual Volume 5 [7]
- IA32 Architectures Software Developer Manual [8]
Einzelnachweise
- ↑ https://blogs.msdn.microsoft.com/chuckw/2012/09/11/directxmath-f16c-and-fma/
- ↑ R. L. Uy: Beyond multi-core: A survey of architectural innovations on microprocessor. In: 2014 International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM). 1. November 2014, S. 1–6, doi:10.1109/HNICEM.2014.7016212.
- ↑ Daniel Kusswurm: Modern X86 Assembly Language Programming. Apress, 2014, ISBN 978-1-4842-0064-3, S. 342 ff., doi:10.1007/978-1-4842-0064-3.