首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[转帖]TI科学家谈浮点DSP未来发展

[转帖]TI科学家谈浮点DSP未来发展

自十多年前浮点数字信号处理器(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 刚刚出现的20世纪90年代初期,其它因素往往掩盖了基本的数学计算问题。浮点功能需要的内部电路多,而 32位数据路径比当时可用的定点器件要宽一倍。晶片面积越大,引脚数量就越多,封装也越大,这就大大提高了新款浮点器件的成本,因此数字化语音与电信集成卡(concentration card)等高产量应用仍更倾向于采用较低成本的定点器件。

当时,方便易用性抵消了成本问题带来的不利影响。浮点器件是最早支持 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 需要额外的位用于溢出空间 (overflow headroom)。在16位定点器件中,溢出空间通常为 8 位,这就使总的中间结果字长为 40 位(16 个信号+16 个系数+8 个溢出)。

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

视频与音频数据集要求


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


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


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


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


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


其他数据集


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


近年来,随着数字信号处理领域不断发展,DSP也由应用推动发展。SoC集成意味着更多的存储器和不同的内核与专用外设一起均能集成到同一器件上,这就使DSP产品能够按特定市场的需求进行定制。在此环境中,浮点功能已成为整体 DSP 产品组合中的另一要素。


定点DSP与浮点 DSP


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


作者:Gene Frantz(方进)
德州仪器(TI)首席科学家兼 TI 负责数字信号处理的业务开发经理
Ray Simar
TI 科学家兼 TI 负责数字信号处理的高级架构开发经理

TI针对高质音频应用推出三款浮点DSP器件

日前,德州仪器(TI)公司宣布推出三款基于TMS320C67x DSP系列的新型浮点DSP——TMS320C6722、TMS320C6726与TMS320C6727,进一步降低了高品质音频产品的开发成本。基于C67x DSP的新内核具有高效C语言效率,其VLIW架构显著提高应用性能。这三款DSP的性价比高达每美元130 MFLOPS,使音频工程师能够在各种音频应用中集成DSP处理性能,这些应用包括广播、会议、音乐乐器和专业音响。除此之外。,C672x器件还适合支持众多采用浮点技术的其他应用,其中包括生物辨识、医学与工业应用等。

C672x器件具备与全系列C67x DSP产品的代码兼容性,具有如下改进:

  • 将内部寄存器数量从32个增加至64个,以便增强寄存器限定内核(register-bound kernel)的性能,并使编译器优化简便易行;
  • 将并行浮点“加指令”数量从2个增至4个,使FFT处理性能提高20%;
  • 将指令高速缓存的容量从4K提高至32K,以降低指令高速缓存的缺失损失(miss penalty);
  • 实施dMAX DMA引擎,降低处理器在效果处理期间的负载,从而专注执行片外存储器存取;
  • 提供新的混合精度指令,包括结果为64位的32′32位乘法指令和结果为64位的32′64位乘法,以便提高在高采样率、低频音频应用中高品质FIR与IIR滤波器的性能效率;
  • 具有一个平面内存模型(flat-memory model),能够实现更稳定的应用性能。

经过改进,新器件的音频应用性能提高了20%以上。例如,MP3解码目前只占用16MHz的C672x DSP,低于C6713 DSP的20MHz,而10段均衡器解码只占用6MHz的C672x DSP,低于C6713 DSP的17MHz。C672x器件的时钟频率为200~300MHz,具有256KB的SRAM和32KB的指令高速缓存。

C672x采用了专门针对音频应用而选定的外设。外设集随具体处理器不同而各异,不过C672x器件包含3个McASP、2个SPI、1个HPI、1个RTI、1个EMIF、2个I2C、1个PLL和1个dMAX引擎。

TI同时还宣布推出Lyrtech Signal Processing开发的专业音频开发套件(PADK)。开发人员凭借PADK可以快速评估C672x器件性能,并立即启动产品开发工作,而无需先开发自己的原型电路板,从而缩短了产品的设计时间。

PADK集成了C6727 DSP与TI的补偿模拟技术,其中包括TI Burr-Brown产品线的A/D与D/A转换器。另外,PADK 还针对高端专业音频应用进行了调整。板上扩展槽可提供灵活的I/O连接性,使开发人员能够对其他模拟组件进行评估,以实现不同的产品价位。

除了PADK外,TI还提供了连同硬件一起设计的DSP开发工具,以期采用C语言实现极高的原始性能。Code Composer Studio(TMDSCCSALL-1)包含TI的优化C语言编译程序,从而在大多数情况下都无需汇编代码,使维护代码库变得更轻松。对于电视会议等需要混合视频与音频的应用,由于能够采用相同工具开发音频和视频子系统,开发人员可以节省时间并降低工作量。

C672x器件的样片即将上市,并计划将于2005年第四季度投入量产。200MHz C6722 DSP 、250MHz C6726 DSP和300MHz C6727 DSP的批量单价分别为9.95美元、14.10美元和19.95美元(仅供参考)。PADK现已开始由 Lyrtech供货,售价为19.95美元(仅供参考),TI供货定于2005年第三季度。

关于6727的详细芯片资料请访问 http://focus.ti.com/docs/prod/folders/print/tms320c6727.html

 

[此贴子已经被作者于2005-11-23 15:15:02编辑过]

返回列表