微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > MCU市场战局诡异多变,各大厂商又有什么花样?

MCU市场战局诡异多变,各大厂商又有什么花样?

时间:04-19 来源:CTIMES 点击:

自从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的世界中,截断误差一直存在着,若要考量到高精度,如何减少截断误差的现象,就成了大家努力的方向之一。

陈俊宏谈到,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的版本,但若要让客户能发挥更多的创意,那么就架构上就一次到位,也能省去不少不必要的麻烦。

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

呼应杨正廉的说法,ARM台湾应用工程经理徐达勇指出,从应用面来说,杨正廉的看法并没有问题。当然,FPU与DSP各自也有其定位。徐达勇举例:0.8+0.5=1.3,这种运算工作就是由FPU来负责,但是如果要同时计算:"0.8+0.5=?与1.3+0.9=?"的话,就必须借重DSP的运算功能,所以FPU与DSP的密不可分,的确有

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top