主要内容

舍入模式:简单

最简单的舍入模式试图减少或消除需要额外的舍入代码生成的代码中使用技术的结合。在几乎所有情况下,最简单的舍入模式产生最有效的生成的代码。

很专业的部门满足三个具体标准,地板可能更有效。这三个标准是:

  • 定点/整数符号的除法

  • 分母是一个不变的常数

  • 分母是2的幂

对于这种情况,设置地板和舍入模式模型配置参数>硬件实现> >签署了整数的除法轮生产硬件参数来描述您的生产目标的舍入行为。

优化舍入为投

数据类型转换块投下一个信号与一个数据类型到另一个数据类型。当块投下一个数据类型的信号较短的单词长度比原来的数据类型,精度丢失和舍入。最简单的舍入模式自动选择最好的舍入这些情况下基于以下规则:

  • 当铸件从一个整数或定点数据类型到另一个地方,最简单的方式向地板。

  • 当铸件从一个整数或浮点数据类型定点数据类型,最简单的方式向零轮。

优化舍入为高级算术运算

最简单的舍入模式选择最好的舍入为每个高级算术运算。例如,考虑手术y=u1×u2/u3实现使用一个产品布洛克:

如上所述C标准,最有效的舍入模式总是地板乘法操作。然而,C标准没有指定部门的舍入模式的情况下,至少有一个操作数是负的。因此,最有效的舍入模式划分操作与数据类型可以签署地板或零,根据您的生产目标。

最简单的舍入模式:

  • 轮为所有non-division操作地板。

  • 轮为部门零个或地板上,根据设置的模型配置参数>硬件实现> >签署了整数的除法轮生产硬件参数。

最高效的代码,您必须设置带符号整数除法轮参数指定是否生产目标轮为零或为整数的除法地板。大多数生产目标为整数的除法操作圆为零。请注意,简单的舍入使舍入“混合模式”这种情况下,因为它轮地板为部门乘法和为零。

如果带符号整数除法轮参数设置为未定义的,最简单的舍入模式可能无法产生最有效的代码。最简单的模式轮0部门对于这种情况,但不能依赖您的生产目标进行舍入,因为参数未定义的。因此,您需要额外的舍入代码以确保舍入为零的行为。

请注意

定点部门签署,分母是一个不变的恒功率的最简单的舍入模式不产生最有效的代码。在这种情况下,设置地板的舍入模式。

优化舍入为中级水平的算术运算

定点运算的非零斜率和偏见,也最简单的舍入模式选择最好的舍入为每一个中间算术运算。例如,考虑手术y=u1/u2实现使用一个产品块,u1u2定点数量:

讨论了在数据类型和比例在数字硬件使用它的斜率,每个定点数量计算,偏见,和存储整数。在这个例子中,高层分裂操作指定的块导致中间加法和乘法操作:

y = u 1 u 2 = 年代 1 1 + B 1 年代 2 2 + B 2

最简单的舍入模式执行每一个最好的舍入操作,高级和中级,产生最有效的代码。规则用于选择适当的舍入中间算术运算中所描述的相同优化舍入为高级算术运算。再一次,这使舍入的代码,最常见的情况是轮对地板用于添加、减法,和繁殖,轮对零用于划分。

记住,使用最简单的舍入模式生成最有效的代码需要设置模型配置参数>硬件实现> >签署了整数的除法轮生产硬件参数来描述您的生产目标的舍入行为。

请注意

定点部门签署,分母是一个不变的恒功率的最简单的舍入模式不产生最有效的代码。在这种情况下,设置地板的舍入模式。

相关的话题