インテルのみ表示可能 — GUID: krz1548140094347
Ixiasoft
インテルのみ表示可能 — GUID: krz1548140094347
Ixiasoft
2.2.6. 浮動小数点演算に対する例外処理
インテルAgilexの浮動小数点演算は、乗算器ブロックと加算器ブロックの例外処理をサポートしています。
浮動小数点形式 | 例外フラグ | 幅 | 説明 |
---|---|---|---|
単精度 | 乗算 | ||
fp32_mult_overflow | 1 | この信号は、乗算結果が表現可能な最大値よりも大きい値かどうかを示します。 1: 乗算結果が表現可能な最大値よりも大きい値であり、結果が無限大にキャストされる場合 0: 乗算結果が表現可能な最大値より大きくない場合 この信号はAdder or Subtract Modeでは使用できません。 |
|
fp32_mult_underflow | 1 | この信号は、乗算結果が表現可能な最小値よりも小さい値かどうかを示します。 1: 乗算結果が、表現可能な最小の非ゼロ絶対値よりも小さい値であり、結果がゼロにフラッシュされる場合 0: 乗算結果が表現可能な最小値よりも大きい場合 この信号はAdder or Subtract Modeでは使用できません。 |
|
fp32_mult_inexact | 1 | この信号は、乗算結果が正確に表されていないかどうかを示します。
1: 乗算結果が次の場合
0: 乗算結果が上記の基準のいずれにも適合しない場合 この信号はAdder or Subtract Modeでは使用できません。 |
|
fp32_mult_invalid | 1 | この信号は、乗算器の演算が明確に定義されておらず、無効な結果を生成するかどうかを示します。 1: 乗算結果が無効で、qNaNにキャストされた場合 0: 乗算結果が無効な数値でない場合 この信号はAdder or Subtract Modeでは使用できません。 |
|
加算 | |||
fp32_adder_overflow | 1 | この信号は、加算結果が表現可能な最大値よりも大きい値かどうかを示します。 1: 加算結果が表現可能な最大値よりも大きい値であり、結果が無限大にキャストされる場合 0: 加算結果が表現可能な最大値より大きくない場合 この信号はMultiplication Modeでは使用できません。 |
|
fp32_adder_underflow | 1 | この信号は、加算結果が表現可能な最小値よりも小さい値かどうかを示します。 1: 加算結果が、表現可能な最小の非ゼロ絶対値よりも小さい値であり、結果がゼロにフラッシュされる場合 0: 加算結果が表現可能な最小値よりも大きい場合 この信号はMultiplication Modeでは使用できません。 |
|
fp32_adder_inexact | 1 | この信号は、加算結果が正確に表されていないかどうかを示します。
1: 加算結果が次の場合
0: 加算結果が上記の基準のいずれにも適合しない場合 この信号はMultiplication Modeでは使用できません。 |
|
fp32_adder_invalid | 1 | この信号は、加算器の演算が明確に定義されておらず、無効な結果を生成するかどうかを示します。 1: 加算結果が無効で、qNaNにキャストされた場合 0: 加算結果が無効な数値でない場合 この信号はMultiplication Modeでは使用できません。 |
|
半精度 | 乗算 | ||
fp16_mult_top_overflow fp16_mult_bot_overflow |
1 | この信号は、上位または下位の乗算結果が表現可能な最大値よりも大きい値かどうかを示します。 1: 乗算結果が表現可能な最大値よりも大きい値であり、結果が無限大にキャストされる場合 0: 乗算結果が表現可能な最大値より小さい場合 この信号はAdder or Subtract ModeおよびExtended形式では使用できません。 |
|
fp16_mult_top_underflow fp16_mult_bot_underflow |
1 | この信号は、上位または下位の乗算結果が表現可能な最小値よりも小さい値かどうかを示します。 1: 乗算結果が、表現可能な最小の非ゼロ絶対値よりも小さい値であり、結果がゼロにフラッシュされる場合 0: 乗算結果が表現可能な最小値よりも大きい場合 この信号はAdder or Subtract ModeおよびExtended形式では使用できません。 |
|
fp16_mult_top_inexact fp16_mult_bot_inexact |
1 | この信号は、上位または下位の乗算結果が正確な表現であるかどうかを示します。
1: 乗算結果が次の場合
0: 乗算結果が上記の基準のいずれにも適合しない場合。 この信号はAdder or Subtract Modeでは使用できません。 |
|
fp16_mult_top_invalid fp16_mult_bot_invalid |
1 | この信号は、乗算器の演算が明確に定義されておらず、無効な結果を生成するかどうかを示します。 1: 乗算結果が無効で、qNaNにキャストされた場合 0: 乗算結果が無効な数値でない場合。 この信号はAdder or Subtract Modeでは使用できません。 |
|
fp16_mult_top_infinite fp16_mult_bot_infinite |
1 | この信号は、上位または下位の乗算結果が正または負の無限大であるかどうかを示します。 1: 結果が無限大の場合 0: 結果が正規化された浮動小数点または適切な無限大の範囲にある場合 この信号はExtended形式でのみ使用可能です。 |
|
fp16_mult_top_zero fp16_mult_bot_zero |
1 | この信号は、上位または下位の乗算結果が正または負のゼロであるかどうかを示します。 1: 結果がゼロの場合 0: 結果がゼロでない場合 この信号はExtended形式でのみ使用可能です。 |
|
加算 | |||
fp16_adder_overflow | 1 | この信号は、加算結果が表現可能な最大値よりも大きい値かどうかを示します。 1: 加算結果が表現可能な最大値よりも大きい値であり、結果が無限大にキャストされる場合 0: 加算結果が表現可能な最大値より大きくない場合 この信号はMultiplication Mode Extended形式でのみ使用可能です。 |
|
fp16_adder_underflow | 1 | この信号は、加算結果が表現可能な最小値よりも小さい値かどうかを示します。 1: 加算結果が、表現可能な最小値よりも小さい値であり、結果がゼロにフラッシュされる場合 0: 加算結果が表現可能な最小値よりも大きい場合 この信号はMultiplication Mode Extended形式でのみ使用可能です。 |
|
fp16_adder_inexact | 1 | この信号は、加算結果が正確な表現であるかどうかを示します。
1: 加算結果が次の場合
0: 加算結果が上記の基準のいずれにも適合しない場合 この信号はMultiplication Modeでは使用できません。 |
|
fp16_adder_invalid | 1 | この信号は、加算器の演算が明確に定義されておらず、無効な結果を生成するかどうかを示します。 1: 加算結果が無効で、qNaNにキャストされた場合 0: 加算結果が無効な数値でない場合 この信号はMultiplication Modeでは使用できません。 |
|
fp16_adder_infinite | 1 | この信号は、上位または下位の加算結果が正または負の無限大であるかどうかを示します。 1: 結果が無限大の場合 0: 結果が正規化された浮動小数点または適切な無限大の範囲にある場合 この信号はExtended形式でのみ使用可能です。 |
|
fp16_adder_zero | 1 | この信号は、加算結果が正または負のゼロであるかどうかを示します。 1: 結果がゼロの場合 0: 結果がゼロでない場合 この信号はExtended形式でのみ使用可能です。 |
入力A | 入力B | 結果 | 4 フラグ オーバーフロー/アンダーフロー/不正確/無効 |
---|---|---|---|
Normalized | Normalized | 正規化された値 | 0/0/0/0 |
正規化された (丸められた) 値 | 0/0/1/0 | ||
正/負の無限大値 | 1/0/1/0 | ||
非正規値 | 0/1/1/0 | ||
0またはSubnormal (denormal) | Normalized | 0値 | 0/0/0/0 |
Positive/negative infinity | Normalized | 正/負の無限大値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | Normalized | qNaN値 | 0/0/0/0 |
0またはSubnormal (denormal) | 0またはSubnormal (denormal) | 0値 | 0/0/0/0 |
正/負の無限大 | 0またはSubnormal (denormal) | qNaN値 | 0/0/0/1 |
Quiet Not A Number (qNaN) | 0またはSubnormal (denormal) | qNaN値 | 0/0/0/0 |
正/負の無限大 | 正/負の無限大 | 正/負の無限大値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | 正/負の無限大 | qNaN値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN値 | 0/0/0/0 |
入力A | 入力B | 結果 | 4 フラグ オーバーフロー/アンダーフロー/不正確/無効 |
---|---|---|---|
Normalized | Normalized | 正規化された値 | 0/0/0/0 |
正規化された (丸められた) 値 | 0/0/1/0 | ||
正/負の無限大値 | 1/0/1/0 | ||
0値 符号ビット= 0 |
0/0/0/0 | ||
非正規値 この符号は保存されます。 |
0/1/1/0 | ||
0またはSubnormal (denormal) | Normalized | 入力b | 0/0/0/0 |
正/負の無限大 | Normalized | 正/負の無限大値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | Normalized | qNaN値 | 0/0/0/0 |
0またはSubnormal (denormal) | 0またはSubnormal (denormal) | 0値 (-0 + (-0)) 方程式の場合、符号ビット = 1です。これ以外の式に対しては、符号ビット = 0となります。 |
0/0/0/0 |
正/負の無限大 | 0またはSubnormal (denormal) | 正/負の無限大値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | 0またはSubnormal (denormal) | qNaN値 | 0/0/0/0 |
正/負の無限大 | 正/負の無限大 | 無効なケースに対しては、qNaN値 有効なケースに対しては、正/負の無限大値 |
無効なケースに対しては、0/0/0/1 有効なケースに対しては、0/0/0/0
有効なケースは次のとおりです。
|
Quiet Not A Number (qNaN) | 正/負の無限大 | qNaN値 | 0/0/0/0 |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN値 | 0/0/0/0 |
入力A | 入力B | 結果 | 4 フラグ 無限/ゼロ/不正確/無効 |
---|---|---|---|
Normalized/Subnormalized | Normalized/Subnormalized | 正規化/非正規化 | 0/0/x/0 |
0値 | Normalized/Subnormalized | 0値 | 0/1/0/0 |
正/負の無限大 | Normalized/Subnormalized | 正/負の無限大値 | 1/0/0/0 |
Quiet Not A Number (qNaN) | Normalized/Subnormalized | qNaN値 | 0/0/0/1 仮数 = {100...00} |
0値 | 0値 | 0値 | 0/1/0/0 |
正/負の無限大 | 0値 | qNaN値 | 0/0/0/1 仮数 = {100...00} |
Quiet Not A Number (qNaN) | 0値 | qNaN値 | 0/0/0/1 仮数 = {100...00} |
正/負の無限大 | 正/負の無限大 | 正/負の無限大値 | 1/0/0/0 |
Quiet Not A Number (qNaN) | 正/負の無限大 | qNaN値 | 0/0/0/1 仮数 = {100...00} |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN値 | 0/0/0/1 仮数 = {100...00} |
入力A | 入力B | 結果 | 4 フラグ 無限/ゼロ/不正確/無効 |
---|---|---|---|
Normalized/Subnormalized | Normalized/Subnormalized | 正規化/非正規化 | 0/0/x/0 |
0値 符号ビット = 0 |
0/0/0/0 | ||
0値 | Normalized/Subnormalized | 入力b | 0/0/0/0 |
正/負の無限大 | Normalized/Subnormalized | 正/負の無限大値 | 1/0/0/0 |
Quiet Not A Number (qNaN) | Normalized/Subnormalized | qNaN値 | 0/0/0/1 仮数 = {100...00} |
0値 | 0値 | 0値 (-0 + (-0)) 方程式の場合、符号ビット = 1です。これ以外の式に対しては、符号ビット = 0となります。 |
0/0/0/0 |
正/負の無限大 | 0値 | 正/負の無限大値 | 1/0/0/0 |
Quiet Not A Number (qNaN) | 0値 | qNaN値 | 0/0/0/1 仮数 = {100...00} |
正/負の無限大 | 正/負の無限大 | 無効なケースに対しては、qNaN値 有効なケースに対しては、正/負の無限大値 |
無効なケースに対しては、0/0/0/1 仮数 = {100...00} 有効なケースに対しては、1/0/0/0
有効なケースは次のとおりです。
|
Quiet Not A Number (qNaN) | 正/負の無限大 | qNaN値 | 0/0/0/1 仮数 = {100...00} |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN値 | 0/0/0/1 仮数 = {100...00} |