DSP+FPU给MCU架构设计带来的新思路

DSP+FPU给MCU架构设计带来的新思路,第1张

  自从MCU(微控制器)导入了DSP(数字信号处理器)与FPU(FloaTIng Point Unit;浮点运算单元)功能后,MCU可以拓展的应用范围便大幅增加,这几年来,诸多MCU大厂都纷纷导入,使得MCU市场战局变得更加诡谲多变。各家大厂就MCU的产品策略也不尽相同。

  然而,尽管应用面大幅增加,但DSP与FPU在功能上要如何区分?彼此的关系是什么?这在ARM推出了Cortex-M4后,这类的议题才开始渐渐被市场所重视。

  DSP、FPU不再高不可攀

  瑞萨电子营业行销事业部第一营业行销部副理黎柏均表示,其实FPU的导入,还是要考量成本的问题,若不需要,其实采用定点运算的MCU来因应系统需求即可。一般来说,SOC(系统单芯片)才会有所谓的DSP与FPU这类硬体加速,其主要的功能大多负责影像或是音讯处理的工作,但随着制程的进步,MCU在32位元架构也日趋成熟,所以MCU就开始能沿用SOC的部份功能,并进一步拓展MCU的应用范围。黎柏均更直言,在早期,SOC与MCU之间有不小的价格差距。

  

  图1 : SOC本身就具备一定的DSP与FPU的功能,价格上也比MCU来得昂贵。(摄影:姚嘉洋)

  不过,黎柏均认为,在现有市场所存在的MCU产品,即便主要供应商都能提供FPU的功能,但事实上,各家大厂的产品之间并没有什么距离,关键最多就是在程式的执行效率上,能否形成差异。在过去,若要由定点运算架构的MCU来处理FPU的工作,会多出不少时间出来,而且也需要大量的记忆体资源,但有了FPU的导入后,其目标程式码就能够缩小,记忆体容量也能减少10%。换言之,若没有时间上的考量,MCU是否要导入FPU,严格来看,并没有太大的差别存在。TI德州仪器)亚洲区市场开发经理陈俊宏也同意,利用定点运算的MCU来处理FPU要处理的工作,也并非不行,但就是需要耗费大量的记忆体资源与长时间的等待,来取得所要的运算结果,FPU的存在,就是要避免这样的情况出现。

  不论是从ARM或是TI,这些大厂对于DSP与FPU的看法,

  仍然有一些差异存在,但也因此,让MCU市场形成了多元并陈的景象。

  在过去,传统的8位元架构,在资料处理上仍然有其极限存在,陈俊宏指出,传统的定点运算MCU在进行所谓的分数或是小数点计算,因为MCU本身的位元数有限,在面临无法除尽而形成无穷数值(如1/3或是3/7等)的计算上,就必须有所取舍,在位元数有限而采取的有限数值,势必与现实计算上而形成的数值产生一定的误差,这种情形我们称为:截断误差。在这种情况下,若要利用传统MCU的处理器核心来处理分数运算,只会造成截断误差的不断扩大。为了有效处理截断误差不断扩大的问题,便有了FPU的出现。

  回顾MCU的发展历程,从传统的8位元架构一路发展至今,已经进入到可以采用FPU与DSP等功能。之所以会有如此的进化,主因来自于从类比端撷取资料后,转换成数字化,将「连续型」资料转为「离散型」资料」以利于处理器进行运算。

  

  图2 : MCU的世界中,截断误差一直存在着,若要考量到高精度,如何减少截断误差的现象,就成了大家努力的方向之一。(Source:www.youtube.com)

  陈俊宏谈到,FPU并不能完全解决截断误差不断扩大的现象,精确地说,只能将该现象尽可能地减少。陈俊宏进一步指出,从TI的角度来看,DSP要处理运算种类相当多种,所以需要更多的工具来处理不同需求。

  延续陈俊宏的论述,Imagination MIPS业务开发资深经理Ian Anderton也指出,DSP可利用乘法/累加(MAC)指令、饱和、舍入和位元 *** 作来执行多种数学运算─ 这些都是快速傅立叶转换(FFT)和有限脉冲响应(FIR)等高效过滤器开发所需的基本功能。DSP同时也能支援并执行多种应用中所使用的8、16和32位元整数与分数资料长度。透过单周期MAC指令、SIMD(单一指令多重资料)和特殊的位元 *** 作,DSP效能还可获得进一步的增强。

  FPU与DSP的相辅相成

  ST(意法半导体)资深产品行销经理杨正廉则是谈到,针对讯号处理、数值运算与对应到各种应用的演算法,DSP与FPU某程度上,是相辅相成的角色,很难被加以拆分。当然,他也表示,ARM所推出的Cortex-M4核心,也有仅搭载DSP而没有FPU的版本,但若要让客户能发挥更多的创意,那么就架构上就一次到位,也能省去不少不必要的麻烦。

  DSP+FPU给MCU架构设计带来的新思路,图3 : 某程度上,一次提供到位的硬体资源,工程师可以发挥更多的创意与想法。 (Source:www.access2knowledge.org),第2张

  图3 : 某程度上,一次提供到位的硬体资源,工程师可以发挥更多的创意与想法。(Source:www.access2knowledge.org)

  呼应杨正廉的说法,ARM台湾应用工程经理徐达勇指出,从应用面来说,杨正廉的看法并没有问题。当然,FPU与DSP各自也有其定位。徐达勇举例:0.8+0.5=1.3,这种运算工作就是由FPU来负责,但是如果要同时计算:「0.8+0.5=?与1.3+0.9=?」的话,就必须借重DSP的运算功能,所以FPU与DSP的密不可分,的确有其道理。杨正廉表示,广义来看,让MCU具备DSP与FPU功能,主要的目的在于能让MCU的客户群能够享受到DSP与FPU带来的功能与便利性,而过往采用DSP架构的客户群,也能有机会转移到MCU平台。

  Ian Anderton也从应用面出发,并以感测器融合(Sensor Fusion)为例,感测器融合是指把多个感测器结合在单一系统中共同运作。它需要高阶的讯号处理功能,才能把讯号从嘈杂的环境中区隔出来。感测器融合可提供即时校正与调整控制,这是一种有限时间(time-limited)的应用,仅能透过利用DSP和FPU的协同处理功能来实现高效、高精密度的计算。此外,包括加速、陀螺仪、压力/温度/触控等各种感测器,以及其他拥有个别控制/管理演算法的感测器也增加了更多的挑战,必须采用DSP/FPU才能设计出高效的系统。

  

  图4 : DSP加上FPU,对于近年来相当火热的感测器融合技术有相当大的发挥空间。(Source:意法半导体)

  黎柏均指出,导入FPU的另一个好处在于,可以利用FPU的运算能力,以数字方式进行滤波,以进一步提升SNR值,所以像是工业电表、量测与生理讯号等,都是十分适合的终端应用。黎柏均强调,过去的确在讯号链上,的确有用放大器滤波器等类比元件来处理杂讯的问题,但这种作法,多少还是会有失真的问题存在,因此采用数字滤波的方式,亦不失为一种作法,此外还有可能可以省去一些不必要的系统成本。

  然而,黎柏均也透露,让MCU搭载FPU之后,系统业者为了能提升整体系统的效能或是解析度,在ADC的采用上,可能就会更加大胆,一口气进入16位元甚至是24位元的规格,原因在于这类ADC所面临的杂讯现象会更加严重,透过FPU来处理,不失为一种作法。

  FPU仍有局限?TI提供其他硬体加速单元

  不过,如同陈俊宏所提到的,如果DSP要处理的工作十分多元,意味着需要更多元的工具来加以因应,单靠FPU这样的硬体加速单元仍有不足之处。

  陈俊宏透露,延续TI的C2000架构,TI进一步推出了如TMU与VMU硬体加速单元,前者专职于三角函数运算(偏重马达应用),后者则负责复数运算(对应通讯与软体定义无线电),既有的FPU就负责分数与小数点的运算工作,透过分工合作的方式,来因应客户不同的运算工作需求。他更举例,就算是马达所需要的运算工作,因应不同的马达类型,TI也能给予不同的DSP架构来对应。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2562590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-06
下一篇 2022-08-06

发表评论

登录后才能评论

评论列表(0条)

保存