5.44 ベクタ浮動小数点(VFP)アーキテクチャ

ARM では、さまざまな ARM アーキテクチャで実装される VFP アーキテクチャの複数のバージョンをサポートします。

VFP アーキテクチャは、単精度と倍精度の両方の演算をサポートします。多くの演算がスカラ形式とベクタ形式のいずれでも実行できます。このアーキテクチャの複数のバージョンがサポートされています。以下はそのサンプルです。
  • VFPv2 は以下で実装されています。
    • VFP10 リビジョン 1(ARM10200E プロセッサによって提供)。
    • VFP9-S(ARM926E、ARM946E、および ARM966E プロセッサの別ライセンスオプションとして入手可能)。
    • VFP11(ARM1136JF-S、ARM1176JZF-S、および ARM11 MPCore プロセッサに付属)。
  • VFPv3 は、Cortex-A8 プロセッサなど、ARM アーキテクチャバージョン 7 以降で実装されています。VFPv3 は、浮動小数点の例外をトラップできないことを除いては、VFPv2 と下位互換性があります。ソフトウェアサポートコードは一切不要です。VFPv3 には 32 本の倍精度レジスタが備わっています。
  • 半精度拡張機能をサポートしている VFPv3_fp16、VFPv3。これらの拡張機能は半精度浮動小数点数と単精度浮動小数点数間の双方向の変換を行います。単精度浮動小数点数をサポートしているすべての Advanced SIMD および VFP で実装できます。
  • VFPv3-D16 は 16 倍精度レジスタを備えた VFPv3 の実装です。これは NEON テクノロジを使用せずに VFP をサポートしている ARM アーキテクチャ v7 プロセッサで実装されます。
  • VFPv3U は、浮動小数点例外のトラップが可能な VFPv3 の実装の 1 つです。ソフトウェアサポートコードが必要となります。
  • VFPv4 は、Cortex-A7 プロセッサなど、ARM アーキテクチャバージョン 7 以降で実装されています。VFPv4 には 32 本の倍精度レジスタが備わっています。VFPv4 では、VFPv3 の機能に半精度拡張機能と融合型積和演算命令とが追加されています。
  • VFPv4-D16 は 16 倍精度レジスタを備えた VFPv4 の実装です。これは NEON テクノロジを使用せずに VFP をサポートしている ARM アーキテクチャ v7 プロセッサで実装されます。
  • VFPv4U は、浮動小数点例外のトラップが可能な VFPv4 の実装の 1 つです。ソフトウェアサポートコードが必要となります。

VFP アーキテクチャの一部の実装では、実装に固有の追加機能が提供される場合があります。例えば、VFP コプロセッサハードウェアには、例外条件を記述するための追加のレジスタが含まれていることがあります。この追加機能は、サブアーキテクチャ機能と呼ばれます。
関連する概念
5.41 浮動小数点演算に対するコンパイラサポート
5.42 デフォルトで選択されるハードウェアまたはソフトウェアによる浮動小数点サポート
5.43 浮動小数点演算に関するハードウェアサポートとソフトウェアサポートの違いの例
5.45 浮動小数点演算のハードウェアによる処理に関する制限
5.46 ベクタ浮動小数点(VFP)サポートコードの実装
5.47 半精度浮動小数点数に対するコンパイラおよびライブラリサポート
5.48 半精度浮動小数点数の形式
5.49 浮動小数点計算と浮動小数点リンケージに対するコンパイラサポート
5.50 浮動小数点リンケージの種類
5.51 浮動小数点リンケージと浮動小数点計算のコンパイラオプション
関連する参考文書
5.52 コンパイラオプションの浮動小数点リンケージと浮動小数点計算の要件
5.53 プロセッサおよび暗黙の浮動小数点ユニット(FPU)
関連情報
『ARM Application Note 133 - Using VFP with RVDS』
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.