Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

2.3.3. 浮動小数点命令

Nios II アーキテクチャーは、2 つのコンポーネントを有する単精度浮動小数点命令をサポートします。
  • 浮動小数点ハードウェア 2—このコンポーネントは IEEE 標準規格 754-2008 で規定される浮動小数点命令をサポートしますが、単純化された非標準丸めモードを使用しています。浮動小数点カスタム命令の基本セットには、単精度浮動小数点加算、減算、乗算、除算、平方根、整数から浮動小数点への変換、浮動小数点から整数への変換、最小、最大、否定、絶対および比較が含まれます。
  • 浮動小数点ハードウェア—このコンポーネントは IEEE 標準規格 754-1985 で規定される浮動小数点命令をサポートします。浮動小数点カスタム命令の基本セットには、単精度浮動小数点加算、減算および乗算が含まれます。浮動小数点の除算は基本命令セットの拡張として使用できます。

これらの浮動小数点の命令は命令として実装されます。下のハードウェアの準拠の表に、IEEE 標準規格への準拠の詳細な説明を記載します。

表 3.  IEEE 754-1985 および IEEE 754-2008 浮動小数点標準規格に準拠するハードウェア
機能 IEEE 754-1985 の浮動小数点ハードウェア実装 IEEE 754-2008 の浮動小数点ハードウェア 2 実装
演算 加算 / 減算 実装 実装
乗算 実装 実装
除算 オプション 実装
平方根 未実装、この演算はソフトウェアで実装される 実装
整数から浮動小数点数 / 浮動小数点数から整数 未実装、この演算はソフトウェアで実装される 実装
最小 / 最大 未実装、この演算はソフトウェアで実装される 実装
否定 / 絶対 未実装、この演算はソフトウェアで実装される 実装
比較点 未実装、この演算はソフトウェアで実装される 実装
精度 単精度 実装 実装
倍精度 未実装、倍精度演算はソフトウェアで実装される 未実装、倍精度演算はソフトウェアで実装される
例外条件 無効演算 結果は非数 (NaN) 結果は非数 (NaN)
ゼロでの除算 結果は ± 無限大 結果は ± 無限大
オーバーフロー 結果は ± 無限大 結果は ± 無限大
不正確 結果は正常数 結果は正常数
アンダーフロー 結果は ±0 結果は ±0
丸めモード Round-to-Nearest 実装 実装 (roundTiesToAway モード )
Round-toward-Zero 未実装 実装 (truncation モード )
Round-toward +∞ 未実装 未実装
Round-toward -∞ 未実装 未実装
NaN Quiet 実装 Signaling とQuiet NaN を入力オペランドとして区別することはない。NaN を生成する結果は、Signaling または Quiet NaN を生成する可能性がある。
Signaling 未実装
非正規化 ( デノーマル ) 数   非正規化オペランドはゼロとして扱われる。浮動小数点カスタム命令は非正規化数を生成しない。
  • 比較、最小、最大、否定、および絶対演算による非正規数のサポート
  • 非正規数は加算、減算、乗算、除算、平方根、および浮動小数点演算では未サポート。非正規化オペランドはゼロとして扱われる。浮動小数点カスタム命令は非正規化数を生成しない。1
  • 非正規数は浮動小数点演算では作成されない
ソフトウェア例外   未実装。この表の随所で示すとおり、IEEE 754-1985 例外条件が検出され処理される 未実装。この表の随所で示すとおり、IEEE 754-2008 例外条件が検出され処理される
ステータスフラグ   未実装。この表の随所で示すとおり、IEEE 754-1985 例外条件が検出され処理される 未実装。この表の随所で示すとおり、IEEE 754-2008 例外条件が検出され処理される
注: 浮動小数点ハードウェア 2 コンポーネントは、IEEE 754 定義の丸めモードではなく、Faithful rounding もサポートしています。Faithful rounding は、結果を上位または下位の単精度数値に丸めます。したがって、結果は二分の一の正の値となり 2 つの間の選択は未定義です。Faithful rounding の最大誤差は最後の桁の単位 (ulp) です。エラーが均等に分布していない可能性があります。
1 このオペランドは IEEE 754-2008 に完全に準拠していない。