LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1351|回复: 1

TI科学家谈浮点DSP未来发展

[复制链接]
发表于 2004-11-24 16:03:17 | 显示全部楼层 |阅读模式
自十多年前浮点数位讯号处理器(DSP)诞生以来,便为即时讯号处理提供了运算上更为先进的备选方案。不过,定点元件至今仍是业界的主流,当然低成本是主要原因。定点DSP每个元件产品的价格很低,这对大众市场之大量应用而言是相当重要的优势。相较之下,浮点DSP能够达成更快速而简便的开发,因此对开发成本比单位制造成本重要的小规模应用而言,更是绝佳的选择。

最近几年,高密度整合与支援改善使两种DSP在使用方便性与成本上都较为接近。目前,元件类型的选择越来越取决於应用资料集是否要求浮点格式的更多运算功能。因此,设计大规模量产讯号处理应用的开发人员现在开始发现浮点格式更多的内在价值。他们将目光转向传统定点DSP开发模式之外的领域,并探索浮点DSP所带来的设计商机。

不同的数位格式

定点与浮点DSP的基本差异在於它们各自对资料的数字表示法不同。定点硬体严格执行整数运算,而浮点DSP既支援整数运算又支援实数运算,後者以科学计算法进行了标准化。字长为16位元的定点DSP实现(rovide)64K的精密度,带符号整数值范围为-215至215-1。

与此相较,浮点DSP将资料路径分为两部份:一是可作为整数值或实数基数的尾数,二是指数。在支援业界标准单一精确运算的32位元浮点DSP中,尾数为24位元,指数为8位元。由於其较长的字长与取幂范围,该元件支援16M的精密度范围,这样的动态范围大幅高於定点格式可提供的精确度。实施业界标准双精密度(64位元,包括一个53位元的尾数与11位元的指数)的元件还可实现更高的精确度。

成本与方便易用性

浮点DSP提供的运算能力更高,这也是其区别於定点DSP功能的最大差异所在。但在浮点DSP刚刚出现的90年代初期,其它因素往往掩盖了基本的数学运算问题。浮点功能需要的内部电路多,而32位元资料路径比当时可用的定点元件要宽一倍。晶片面积越大,接脚数量就越多,封装也越大,这大幅提高了新款浮点元件的成本,因此数位化语音与电信整合卡(concentrationcard)等高产量应用仍更倾向於采用较低成本的定点元件。

当时,方便易用性抵销了成本问题带来的不利影响。浮点元件是最早支援C语言的DSP之一,而定点DSP则仍须在组合语言代码上进行编程。此外,对浮点格式而言,实数运算可直接透过代码加入硬体运算中,而定点元件则必须透过软体才能间接执行实数运算,这就增加了运算法指令并延长了开发时间。由於浮点DSP易於编程,因此其最初主要用於开发工作强度较大的情况,如研究、原型开发、影像识别、工作站的三维图像加速器以及雷达等军用系统。

定点与浮点日渐趋同

目前,先前的成本与易用性间的差异已经不那麽明显了。整体说来,定点DSP仍然在成本上具有优势,而浮点DSP则仍然在易用性上较优,但差别已经缩小很多,因此上述因素已经不再具有决定性的作用了。

成本日益成为单晶片系统(SoC)整合与量产的问题,而不是DSP核心本身大小的问题。在十年前还只能放置单个电晶体的空间,目前可放置数十个电晶体。现在,占据晶片面积最多的是记忆体,而不是逻辑,而且许多采用DSP的产品都充分利用再扩充(rescaling)的优势,针对实际市场的需求整合了不只一个核心。定点DSP的成本仍然较低,因为其针对大众市场应用的产量很高;但是,如果大规模量产的需求出现,那麽浮点元件也将受益於规模经济效益所带来之成本降低的好处。

早期在易用性方面的差异也已经减少。高效的C编译程式与工具早已能支援定点DSP,为代码执行带来了可视性。直接采用浮点硬体实施实数运算仍有优势;但目前先进的建模工具、完整的数学函数库以及现成的演算法降低了为定点元件开发复杂应用的难度。

浮点的精确度

目前,选用定点DSP还是浮点DSP归根究底在於应用资料集是否需要浮点运算功能。整体说来,设计人员应解决两个问题:资料集要求多高的精确度?资料集的可预见度有多大?

而三个因素影响着浮点格式的内在高精密度。首先,浮点DSP的24位元I/O字长在整数与实数值方面可实现比定点元件中常用的16位元字长更高的精确度。第二,取幂大幅提高了应用可用的动态范围,较大的动态范围对处理极大资料集以及难以方便预计资料集范围的情况相当重要。第三,浮点硬体内部的资料表示法比定点元件更为精确,这就确保了最终结果的精确度更高。

最後一点应稍做解释。在DSP的内部架构中,三种资料字长相当重要,应当考虑。第一是I/O讯号字长,正如我们已经说过的那样,其就浮点而言为24位元,就定点DSP而言通常为16位元。第二就是用於乘法的系数位长。定点系数为16位元,与讯号资料相同;但浮点系数则可能为24位元或53位元,这取决於所用的是单宽度精密度还是双宽度精密度。如果指数表示有意义的零,则精确度实际上会超过上述位数。

最後,就是保存乘法与累加(MAC)运算中间结果的字长,通常称作暂存器档案。对单一16位元乘以16位元的乘法而言,将需要32位元的乘积;而就单一24位元乘以24位元的尾数乘法而言,则需48位元的乘积(指数有不同的资料路径)。但是,MAC需要额外的位元用於溢出空间(overflowheadroom)。在16位元定点元件中,溢出空间通常为8位元,这就使中间结果的总字长为40位元(16个讯号+16个系数+8个溢出)。

将相同大小的溢出空间整合在浮点DSP中将需要60个中间结果位元(24个讯号+24个系数+12个溢出),这将超过大多数应用对精密度的要求。但就取幂而言,我们将结果标准化,这样所有24位元或53位元都有效,溢出位就不必要了。TI的TMS320C67x系列等浮点DSP允许开发人员在双精密度内部运算与单精密度I/O结合的模式下最佳化精确度与性能。其结果是得到的精确度比定点或单精密度浮点运算提供的精确度高得多,但又不会产生完全双精密度I/O带来的周期问题。

视讯与音讯资料集要求

将视讯与音讯应用的资料集要求加以对比,就很容易看出使用浮点格式的优势。视讯的采样率很高,其画素资料采样率相当於每秒数十乃至数百个MB(Mbps),实际值取决於应用。画素资料通常以8至12位元的短字表示,每一位元代表影像的红、绿、蓝(RGB)。业界标准的MPEG视讯压缩演算法的关键数学运算包括离散余弦变换(DCT)与量化,且过滤有限。DCT与量化采用整数运算就能有效处理,它与短资料字相结合使得视讯成为定点DSP很自然的应用,特别对那些有大量平行资料路径与片上视讯介面的设计更是如此。

另一方面,音讯的资料流更为有限,对24位元采样且每秒48千个采样(ksps)的速度而言,约为1Mbps的速度。新兴的采样率为192ksps,为该资料传输速率的四倍,但其资料流仍然大幅低於视讯流。不过音讯资料的处理必须比视讯精确得多。眼睛很容易就被欺骗,特别当影像运动时更是如此;但耳朵就很难被骗了,因此音讯需要浮点硬体提供更大的字长。

使用完全24位元浮点I/O精密度来进行声音采样,这就得到144dB的动态范围,大幅超出了声音复制所需的全振幅范围。此外,音讯还要求宽系数与中间结果提供的精确度,其原因有二。首先,音讯应用通常使用串联无限脉冲响应滤波器(IIR)以实现最低时延与最高性能。但串联过滤每一级都会传播上一级的错误。讯号与系数位元长越长,精确度越高,上述传播错误的影响就越小。

第二,在接近於零时必须保持讯号精确度,以避免人们的耳朵可以分辨的谐波失真。浮点格式从本质上来看与耳朵的感应度配合得很好,因为它在分数趋近於零时会变得更精确。相反地,定点系统在分数极小的情况下会取近似值等於零,这就降低了精确度。所有上述浮点实数运算法方面都对真实复制音讯讯号相当重要。

尽管过去常用定点元件实现高传真音讯,但目前则转向采用精确度更高的浮点格式。某些浮点DSP整合了多通道音讯串列埠(McASP),因而简化了音讯系统的设计,这就为上述发展趋势提供了支援。随着最新型音讯创新在消费性电子产品中的日益普及,对浮点DSP的需求也将提升,这也有助於让其成本更接近於定点DSP。

其他资料集

其它类型应用的资料集也可受益於浮点的精确度。在医疗影像识别中,更高的精确度能够支援许多层次的讯号输入,包括光、X射线、超音波与其它来源的输入等,它们都必须进行定义与处理,以产生可供有用诊断资讯的输出影像。动态范围较大对雷达相当重要,这种情况下,系统能够在从零到无穷大的范围内进行追踪,而只用整个范围的一个较小的子集进行目标撷取与识别。动态范围较大也有助於让机器人处理不可预见的情况,如在机器人正常有限的运动范围中遇到的障碍等。与上述应用形成对比的是,定点元件为相当大的通讯市场提供更好的服务,因为大多数通讯资料都是以8位元组串列传输,随後进行内部扩充以根据整数运算进行16位元处理。

近年来,随着数位讯号处理领域不断发展,DSP也由应用推动发展。SoC整合意味着更多的记忆体和不同的核心与专用周边设备一起整合在同一元件上,这使DSP产品能够按特定市场的需求进行定制。在此环境中,浮点功能已成为整体DSP产品组合中的另一要素。

定点DSP与浮点DSP之间在成本与易用性方面仍有某些差异,但随着时间的演化,上述差异已经不大。对设计人员而言,最具重要性的特色在於浮点格式具有更高的运算灵活性与精确度。对高传真音讯以及需要实数运算、更高精确度与较大动态范围的其它资料集应用而言,浮点DSP是最佳的解决方案。

作者:GeneFrantz
发表于 2004-11-24 18:42:46 | 显示全部楼层
不错的文章,感谢兄弟转过来!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表