主要内容

针对嵌入式处理器

介绍

下一小节将描述问题时常常出现针对定点设计用于嵌入式处理器,比如一些一般性的假设在嵌入式处理器可用整数大小和操作。这些假设导致设计问题和设计规则,为您的特定定点设计可能有用。

大小的假设

嵌入式处理器通常表现为一个特定的大小。例如,术语“8位微”,“32位微,”或“16位DSP”是常见的。一般安全假设处理器主要是为了处理一些指定大小的整数。指定的整数大小被称为基本数据类型。此外,该处理器通常提供一些支持整数倍宽作为基本数据类型。金宝app整数组成的双位被称为蓄电池数据类型。例如一个16位微有一个16位的基本数据类型和一个32位累加器数据类型。

尽管其他数据类型支持的嵌入式处理器,本节描述只有基地和蓄电池数据类金宝app型。

操作的假设

嵌入式处理器操作在本节讨论仅限于基本的仿真图的需要。基本模拟使用乘法、加法、减法和延迟。定点模型尺度转换也需要转变。对于所有这些操作,嵌入式处理器应该本地指令,使基础数据类型作为输入。accumulator-type输入,处理器通常支持加法,减法,和延迟(从内存存储/检索),但不是乘法。金宝app

乘法accumulator-type输入通常不支持,因为复杂性和金宝app规模的问题。乘法的一个困难是需要两倍的输出输入的精度。例如,两个16位的数相乘需要一个32位的输出精度。需要处理的输出乘法操作嵌入式处理器包括accumulator-type支持的原因之一。金宝app然而,如果乘法还支持accumulator-type输入,然后有一个需要支持的数据类型的两倍作为蓄电池类型。金宝app限制这个额外的复杂性,乘法通常不支持输入的蓄电池类型。金宝app

设计规则

重要的设计规则,你应该知道与定点动态系统数学建模时跟进。

设计规则1:只有把基础数据类型

最好是乘只有输入的基本数据类型。嵌入式处理器通常提供一个乘法指令的基本类型输入,但不是accumulator-type乘法的输入。如果有必要,您可以结合几种处理乘法accumulator-type输入指令。然而,这可能导致大,缓慢的嵌入代码。

你可以插入块从蓄电池类型输入转换为基类产品或增益模块之前,如果必要的。

设计规则2:延迟应该使用基本数据类型

一般有两个原因为什么一个单位延迟应该只使用基本类型数字:

  • 单位延迟基本上RAM存储变量的值,一个时间步后,检索该值从RAM。因为内存中的值必须从一个时间步,必须专门致力于变量和RAM不能共享或用于另一个目的。基本数据类型的使用accumulator-type数字而不是双打RAM需求,可显著提高嵌入式系统的成本。

  • 单位延迟通常提要成块。乘法设计规则要求输入(单位延迟信号)使用的基本数据类型。

设计规则3:临时变量可以使用蓄电池数据类型

除了单位延迟信号,最不需要的信号从一个时间步。这意味着信号值可以暂时存储在共享和重用内存。这个共享和重用内存可以RAM或者仅仅是在CPU寄存器。在这两种情况下,存储的值作为一个蓄电池数据类型不是更昂贵的比存储基本数据类型。

设计规则4:求和可以使用蓄电池数据类型

加法和减法可以使用蓄电池数据类型是否有理由。典型的理由是减少错误的形成由于舍入或溢出。

举例来说,一个常见的过滤操作是一个多变量的加权和。一个变量乘以权重自然生产蓄电池类型的产品。在总结之前,每个产品可以转换回基本数据类型。这种方法引入了舍入误差总和的每一部分。

或者,可以总结使用蓄电池的产品数据类型下载188bet金宝搏,和最终的总和可以转换为基本数据类型。介绍了舍入错误只是一个点,精度通常是更好的。做一个使用accumulator-type加法或减法的成本数字略贵,但是如果有理由,通常是值得的成本。