浅谈单片机、ARM和DSP的异同——非常透彻

犹记得当年读书的时候,老师说单片机、arm、dsp有互通之处,都是cpu,但听老师讲都听不懂。
我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法:
icer,从事arm cpu的soc设计
按我的理解说几句吧,希望能说薄一点。
首先,说cpu,中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如ram)。不同架构的cpu会有不同的指令,不同的存取方式,不同的速度,不同的效率,等等的差异。
然后,说单片机(通常意义所说的微控制器mcu),arm(通常意义所说的高效能risc),dsp(通常意义所说的通用数字信号处理器),这三个cpu分别是针对不同的应用而产生的cpu。当然这也不是绝对的,因为arm现在出的cpu囊括了mcu(如m0),risc(如a8),dsp(如m4)。
微控制器的目的主要是用作控制,他不需要多快的速度,如电饭锅的控制器,只需要控制发热元件的通断,信号等的开关等,但是对成本要求很严格,所以一般做得比较简单,4位,8位的很多。
高效能的risc,常用于一些数据处理比较多的地方,最常见的莫过于现在的消费性电子产品了,手机,pad,mp4等等,目前arm的商业模式主要是卖内核,集成到各家的soc中间。他其实就是个通用的cpu,能干各种各样的活,和intel的cpu一样。但是通用就有效能问题,在某些特殊场合,效能就显得没那么高了,如大量运算(譬如做fft)的时候。这样就有dsp的用武之地了。
dsp,数字信号处理器,只要是做数字信号处理的模块都可以叫做一个dsp,如视频解码的ip核。但你老师所说的应该是指通用的数字信号处理器,如ti的tms320c55x dsp。该cpu的长处就是在于运算,大量循环的计算,如连续1024个乘加。他的指令针对这种应用有特殊的处理,相比risc可以更快速高效地完成这类运算。
总的来说,学习cpu,首先就是要了解其指令集,然后了解去指令执行的方式,然后针对具体的芯片了解其外围电路,程序都是用c写的,基本使用就没啥问题了。
入门教材就不知道了,学好微机原理先吧。
qccc
一种设备能称之为cpu,是因为它能够融入到计算机的冯诺依曼体系中。冯诺依曼的计算机模型规定了计算机“运算器、存储器、控制器、外存储器、输入和输出设备”,而cpu的重要地位在于解决了运算问题,计算机的cpu能够访问存储器的数据和指令进行运算,从实现运算这一点的角度上看,无论是单片机、arm、dsp都可以称之为cpu。
单片机集成完整的冯诺依曼体系所规定的结构,是一个完整的计算机体系。实现特定的运算功能,应用领域集中在工业自动化控制等专门化需求的运算领域。
arm出品的芯片精髓在“r”,是risc精简指令集的意思,和传统大型机以及pc微处理器采用的指令系统相比,risc指令集根据80%的时候只用到了20%的处理器指令的状况,使用了经过精简设计的指令系统,使得整个处理器的设计可以更加简洁,功耗、体积大大缩小,所以arm在目前的手机、平板等职能移动设备上得到了广泛应用。随着arm处理能力的不断增强,加上其功耗小的特点,也不断在扩展其企业级服务器集群应用的可能性,为企业降低能耗成本。
dsp是数字信号处理器,相较于普通计算机实现通用计算的特点,dsp只负责数字信号(视频、音频或者其他传感器获得数字信号)处理。在日常生活中,常见的dvd、蓝光播放机、数字电视机顶盒、mp3、mp4等都广泛使用了dsp,由于设计的专门化,所以可以在较低的成本下,使dsp执行异常复杂的编码、解码等信号处理工作,而无需使用价格昂贵的通用处理器。
所以从广义上讲,单片机、arm和dsp都可以算做cpu,但是这种说法并不严格,因为如今cpu往往指代的是兼容x86架构的通用处理器,例如你电脑里的intel和amd出品的cpu。如果把单片机、arm和dsp都称作cpu,会在理解上产生偏差。
谢文洋,嵌入式爱好者
这些的确都能算cpu,前面大家已经说过共同点了,我主要说说区别吧。主要区别在于用途不同造成了功能侧重的区别。
比如单片机和低端arm(如m3),更严谨的说法应该称作microcontroller 或 mcu(micro control unit),中文一般叫“微控制器”。而cpu叫做“中央处理器”。一个control 和 process 还是有很大区别的。 微控制器不需要一般也不具备强大的计算能力,重点在于实现各种逻辑和非逻辑控制。
而dsp的(digital signal processor), process表明它相比于通用单片机具有更为强大的处理,运算能力。可以实现对数字信号的各种算法的处理。
举一个简单的例子。一个mp3可能由一块普通mcu+一块专用dsp 芯片组成。 其中普通mcu叫主控芯片,负责全局控制。诸如通过处理按键来响应用户的操作,控制屏幕输出相关播放信息给用户等等。而dsp只负责音频文件的解码。可见,全局的控制工作,逻辑比较繁琐,比如显示中各级菜单的实现,这是mcu适合的工作。而音频解码需要强大的运算能力,普通mcu难以胜任,就需要dsp来进行。
而arm和单片机,我个人认为没有特别严格意义的界限,主要看功能和需求的划分。arm本身已经给我们划分的很好了:”armv7架构定义了三大分工明确的系列:‘a’系列面向尖端的基于虚拟内存的操作系统和用户应用;‘r’系列针对实时系统;‘m’系列对微控制器。“ 所以诸如stm32之类的cortex-m3芯片其实也可以理解做高端单片机的范畴。侧重于控制,片内集成,低功耗等指标。相比传统51,avr。 contrex-m系列的微控制器集成了更多的资源(如更高位的ad,更多的串口,以及i2c,spi之类的外设总线)。而且32位相比传统8位和16位的单片机也更有优势。
而消费类电子产品中的arm显然需要更为强大的运算功能。 这一块我不太熟悉,就不多说了。
额,发现楼主还问了如何学习。其实很简单,就是实践。买一块开发板实际动手做比什么都强,有机会参与一些项目更好,自学现在网络资源也非常丰富,不用担心。可以从8位单片机学起,作为入门。虽然近些年大家都说51落伍了,但是作为单片机入门还是很好的,相对简单,网上资源到处都是。你去买任何一个模块几乎都会给你提供51的例程。。。我现在就经常拿51测试模块,测试好了再改一下代码用到stm32上。
总之,只看书是没有用的。还是要多动手。写写代码,烧烧程序,焊焊简单的电路。你会收获很多。
anning865
我也来说一下自己的理解。
首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较pc机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。
然后,mcu、dsp、fpga这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。
mcu经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为mcu必须顺序执行程序,所以适于做控制,较多地应用于工业。而arm本是一家专门设计mcu的公司,由于技术先进加上策略得当,这两年独霸单片机市场。arm的单片机有很多种类,从低端m0(小家电)到高端a8、a9(手机、平板电脑)都很吃香,所以也不是arm的单片机一定要上系统,关键看应用场合。
dsp叫做数字信号处理器,它的结构与mcu不同,加快了运算速度,突出了运算能力。可以把它看成一个超级快的mcu。低端的dsp,如c2000系列,主要是用在电机控制上,不过ti公司好像称其为dsc(数字信号控制器)一个介于mcu和dsp之间的东西。高端的dsp,如c5000/c6000系列,一般都是做视频图像处理和通信设备这些需要大量运算的地方。
fpga叫做现场可编程逻辑阵列,本身没有什么功能,就像一张白纸,想要它有什么功能完全靠编程人员设计。如果你够nb,你可以把它变成mcu,也可以变成dsp。由于mcu和dsp的内部结构都是设计好的,所以只能通过软件编程来进行顺序处理,而fpga则可以并行处理和顺序处理,所以比较而言速度最快。
那么为什么mcu、dsp和fpga会同时存在呢?那是因为mcu、dsp的内部结构都是由ic设计人员精心设计的,在完成相同功能时功耗和价钱都比fpga要低的多。而且fpga的开发本身就比较复杂,完成相同功能耗费的人力财力也要多。所以三者之间各有各的长处,各有各的用武之地。但是目前三者之间已经有融合的态势,arm的m4系列里多加了一个精简的dsp核,ti的达芬奇系列本身就是arm+dsp结构,altera和xinlix新推出的fpga都包含了arm的核在里面。所以三者之间的关系是越来越像三基色的三个圆了。
一句话以蔽之“你中有我,我中有你”。

移动物联网卡实名的原因是什么
阿联酋航空一架客机被隔离,航班上有上百人染病,却尚不清楚原因
解读高通商业模式 华为的专利生意如何?
PONY谱尼测试经CNAS及CMA资质认证,提供专业检测服务
新品发布|Melexis推出多功能双锁存器和开关芯片
浅谈单片机、ARM和DSP的异同——非常透彻
浅析无线传感器网络的八大应用
二次回路配线导线或电缆的选择原则
瓦尔塔AGM蓄电池:电能强劲 澎湃迎新春
如何拆卸HP扫描仪的顶部
威马新车型将搭载黑莓实时操作系统
贸泽电子与Phoenix Contact宣布推出专门介绍储能设备的 全新解决方案微网站
2017年及以前年度新能源汽车推广应用补贴资金清算申报的通知概述
诺基亚PureView技术将被移植到WP8系统
计算机网络知识科普
物联网的下一个重大创新将会在哪里
荣耀V9、荣耀9哪个好?华为荣耀V9、华为荣耀9配置、外观、价格区别对比评测
柔性轻质的LED墨水或将成太空用光源
单身经济霸气崛起 萤石智能家居让独居生活安全体面
如果华为倒下将是对中国高科技产业毁灭性的打击所以华为不能倒下