5.45 浮動小数点演算のハードウェアによる処理に関する制限

ARM ベクタ浮動小数点(VFP)コプロセッサは、明確に定義された浮動小数点コードをハードウェアで処理するように最適化されています。発生頻度が極度に低い算術演算や複雑すぎる算術演算は、ハードウェアで処理されません。

このような場合は、代わりにソフトウェアで処理する必要があります。こうすることにより、必要なコプロセッサハードウェアの量を最小限にし、コストを削減できます。
VFP ハードウェアが対応していない事例を処理するためのコードは、VFP サポートコードと呼ばれます。VFP ハードウェアが直接処理できない状況においては、VFP サポートコードに処理が引き継がれます。たとえば、VFP サポートコードは、以下の項目を処理するために呼び出される場合があります。
  • NaN(非数)を伴う浮動小数点演算。
  • 非正規数を伴う浮動小数点演算。
  • 浮動小数点オーバーフロー。
  • 浮動小数点アンダーフロー。
  • 不正確な結果。
  • ゼロによる除算エラー。
  • 無効な演算。
サポートコードが配置されると、IEEE 754 に完全に準拠した浮動小数点モデルが VFP でサポートされます。
関連する概念
5.41 浮動小数点演算に対するコンパイラサポート
5.42 デフォルトで選択されるハードウェアまたはソフトウェアによる浮動小数点サポート
5.43 浮動小数点演算に関するハードウェアサポートとソフトウェアサポートの違いの例
5.44 ベクタ浮動小数点(VFP)アーキテクチャ
5.46 ベクタ浮動小数点(VFP)サポートコードの実装
5.47 半精度浮動小数点数に対するコンパイラおよびライブラリサポート
5.48 半精度浮動小数点数の形式
5.49 浮動小数点計算と浮動小数点リンケージに対するコンパイラサポート
5.50 浮動小数点リンケージの種類
5.51 浮動小数点リンケージと浮動小数点計算のコンパイラオプション
関連する参考文書
5.52 コンパイラオプションの浮動小数点リンケージと浮動小数点計算の要件
5.53 プロセッサおよび暗黙の浮動小数点ユニット(FPU)
関連情報
Institute of Electrical and Electronics Engineers
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.