„F16C“ – Versionsunterschied

[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
- doppelten Absatz
Zeile 10: Zeile 10:
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.


== Geschichte ==
<!--
<!--
The CVT16 instruction set, announced by AMD on May 1, 2009, is an extension to the 128-bit SSE core instructions in the x86 and AMD64 instruction set.
The CVT16 instruction set, announced by AMD on May 1, 2009, is an extension to the 128-bit SSE core instructions in the x86 and AMD64 instruction set.

Version vom 11. Januar 2017, 17:29 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.
Zur Löschdiskussion

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. Heute werden diese Befehle auch von Intel]] verwendet.

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.


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.


Einzelnachweise

  1. https://blogs.msdn.microsoft.com/chuckw/2012/09/11/directxmath-f16c-and-fma/