仅对英特尔可见 — GUID: krz1548140094347
Ixiasoft
仅对英特尔可见 — GUID: krz1548140094347
Ixiasoft
2.2.6. 浮点算术运算的异常处理
英特尔® Agilex™ 7浮点运算支持乘法器和加法器模块的异常处理。
浮点格式 | 异常标志 | 宽度 | 描述 |
---|---|---|---|
单精度 | 乘法运算 | ||
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 | 该信号指示乘法器运算是否定义不清(ill-defined)并产生无效结果。 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 | 该信号指示加法器运算是否定义不清(ill-defined)并产生无效结果。 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 | 该信号指示乘法器运算是否定义不清(ill-defined)并产生无效结果。 1:如果乘法器结果无效并转换为qNaN。 0:如果乘法器结果不是一个无效数字。 此信号在Adder or Subtract Mode(加法器或减法器模式)下不可用。 |
|
fp16_mult_top_infinite fp16_mult_bot_infinite |
1 | 此信号指示顶部或底部乘法器结果是一个正无穷还是负无穷。 1:如果结果是无穷大 0:如果结果是规范化浮点数(normalized float)或在适当的无穷大范围内 此信号仅适用于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 | 该信号指示加法器运算是否定义不清(ill-defined)并产生无效结果。 1:如果加法器结果无效并转换为qNaN。 0:如果加法器结果不是无效数字。 此信号在Multiplication Mode(乘法运算模式)下不可用。 |
|
fp16_adder_infinite | 1 | 此信号指示加法器结果是一个正无穷还是负无穷。 1:如果结果是无穷大 0:如果结果是规范化浮点数(normalized float)或在适当的无穷大范围内 此信号仅适用于Extended格式。 |
|
fp16_adder_zero | 1 | 此信号指示加法器结果是一个正零或者负零。 1:如果结果为零 0:如果结果不为零 此信号仅适用于Extended格式。 |
Input A | Input B | 结果 | 4 标志(Flag) 上溢/下溢/不准确/无效 |
---|---|---|---|
规格化(Normalized) | 规格化 | 规格化的值 | 0/0/0/0 |
规格化(四舍五入)值 | 0/0/1/0 | ||
正/负无穷值 | 1/0/1/0 | ||
非规约(非正常)值 | 0/1/1/0 | ||
0或非规约(非正常) | 规格化(Normalized) | 0值 | 0/0/0/0 |
正/负无穷 | 规格化(Normalized) | 正/负无穷值 | 0/0/0/0 |
Quiet Not A Number(qNaN) | 规格化(Normalized) | qNaN值 | 0/0/0/0 |
0或非规约(非正常) | 0或非规约(非正常) | 0值 | 0/0/0/0 |
正/负无穷 | 0或非规约(非正常) | qNaN值 | 0/0/0/1 |
Quiet Not A Number (qNaN) | 0或非规约(非正常) | 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 |
Input A | Input B | 结果: | 4 标志(Flag) 上溢/下溢/不准确/无效 |
---|---|---|---|
规格化(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或非规约(非正常) | 规格化(Normalized) | Input b | 0/0/0/0 |
正/负无穷 | 规格化(Normalized) | 正/负无穷值 | 0/0/0/0 |
Quiet Not A Number (qNaN) | 规格化(Normalized) | qNaN值 | 0/0/0/0 |
0或非规约(非正常) | 0或非规约(非正常) | 0值 对于(-0 + (-0))方程式,符号位= 1。对于其他任何方程式,符号位= 0。 |
0/0/0/0 |
正/负无穷 | 0或非规约(非正常) | 正/负无穷值 | 0/0/0/0 |
Quiet Not A Number(qNaN) | 0或非规约(非正常) | 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 |
Input A | Input B | 结果: | 4 标志(Flag) 无穷/零/不精确/无效 |
---|---|---|---|
规格化/非规约化 | 规格化/非规约化 | 规格化/非规约化 | 0/0/x/0 |
0值 | 规格化/非规约化 | 0值 | 0/1/0/0 |
正/负无穷 | 规格化/非规约化 | 正/负无穷值 | 1/0/0/0 |
Quiet Not A Number (qNaN) | 规格化/非规约化 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
0值 | 0值 | 0值 | 0/1/0/0 |
正/负无穷 | 0值 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
Quiet Not A Number (qNaN) | 0值 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
正/负无穷 | 正/负无穷 | 正/负无穷值 | 1/0/0/0 |
Quiet Not A Number(qNaN) | 正/负无穷 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
Quiet Not A Number(qNaN) | Quiet Not A Number(qNaN) | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
Input A | Input B | 结果: | 4 标志(Flag) 无穷/零/不精确/无效 |
---|---|---|---|
规格化/非规约化 | 规格化/非规约化 | 规格化/非规约化 | 0/0/x/0 |
0值 符号位 = 0 |
0/0/0/0 | ||
0值 | 规格化/非规约化 | Input b | 0/0/0/0 |
正/负无穷 | 规格化/非规约化 | 正/负无穷值 | 1/0/0/0 |
Quiet Not A Number(qNaN) | 规格化/非规约化 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
0值 | 0值 | 0值 对于(-0 + (-0))方程式,sign bit = 1。对于其他任何方程式,sign bit = 0。 |
0/0/0/0 |
正/负无穷 | 0值 | 正/负无穷值 | 1/0/0/0 |
Quiet Not A Number (qNaN) | 0值 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
正/负无穷 | 正/负无穷 | 无效情况下的qNaN值 有效情况下的正/负无穷值 |
0/0/0/1代表无效情况 尾数= {100...00} 1/0/0/0代表有效情况
有效情况是:
|
Quiet Not A Number(qNaN) | 正/负无穷 | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |
Quiet Not A Number(qNaN) | Quiet Not A Number(qNaN) | qNaN值 | 0/0/0/1 Mantissa(尾数) = {100...00} |