医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > 单片机、ARM、DSP居然都是CPU?

单片机、ARM、DSP居然都是CPU?

听说单片机、ARM、DSP都是CPU!工科小白的我听了也是一脸懵逼。what?!why?!how?!你一定是蒙我的对不对?然而那么忠厚老实的小编是绝对不会骗你的,单片机、ARM、DSP确实都是CPU,这道理怎么掰?且容小编跟你一一道来。

首先,CPU,即中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如ROM)读出一个指令,从一个地方(如RAM)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如RAM)。不同架构的CPU会有不同的指令,不同的存取方式,不同的速度,不同的效率,等等的差异。单片机(通常意义所说的微控制器MCU),ARM(通常意义所说的高效能RISC),DSP(通常意义所说的通用数字信号处理器),这三个CPU分别是针对不同的应用而产生的。当然这也不是绝对的,因为ARM现在出的CPU囊括了MCU(如M0),RISC(如A8),DSP(如M4)。

从实现运算的角度,单片机、ARM、DSP都可以称之为CPU
一种设备能称之为CPU,是因为它能够融入到计算机的冯诺依曼体系中。冯诺依曼的计算机模型规定了计算机“运算器、存储器、控制器、外存储器、输入和输出设备”,而CPU的重要地位在于解决了运算问题,计算机的CPU能够访问存储器的数据和指令进行运算,从实现运算这一点的角度上看,无论是单片机、ARM、DSP都可以称之为CPU。

单片机集成完整的冯诺依曼体系所规定的结构,是一个完整的计算机体系。实现特定的运算功能,应用领域集中在工业自动化控制等专门化需求的运算领域。它的目的主要是用作控制,它不需要多快的速度,如电饭锅的控制器,只需要控制发热元件的通断,信号等的开关等,但是对成本要求很严格,所以一般做得比较简单,4位,8位的很多。

ARM出品的芯片精髓在“R”,是RISC精简指令集的意思,和传统大型机以及PC微处理器采用的指令系统相比,RISC指令集根据80%的时候只用到了20%的处理器指令的状况,使用了经过精简设计的指令系统,使得整个处理器的设计可以更加简洁,功耗、体积大大缩小,所以ARM在目前的手机、平板等职能移动设备上得到了广泛应用。随着ARM处理能力的不断增强,加上其功耗小的特点,也不断在扩展其企业级服务器集群应用的可能性,为企业降低能耗成本。目前ARM的商业模式主要是卖内核,集成到各家的SOC中间。它其实就是个通用的CPU,能干各种各样的活,和Intel的CPU一样。但是通用就有效能问题,在某些特殊场合,效能就显得没那么高了,如大量运算(譬如做FFT)的时候。这样就有DSP的用武之地了。
 
DSP是数字信号处理器,相较于普通计算机实现通用计算的特点,DSP只负责数字信号(视频、音频或者其他传感器获得数字信号)处理。在日常生活中,常见的DVD、蓝光播放机、数字电视机顶盒、MP3、MP4等都广泛使用了DSP,由于设计的专门化,所以可以在较低的成本下,使DSP执行异常复杂的编码、解码等信号处理工作,而无需使用价格昂贵的通用处理器。

所以从广义上讲,单片机、ARM和DSP都可以算做CPU,说白了,其实他们都是芯片,在核心的基本上是他们都有一套指令集,都能完成各种各样的计算,这些指令集往下有着不同的硬件实现,网上又能支持不同的编译器和操作系统。所以基本上,你只要学一个能给学通了,其他基本上是大同小异的东西。区别无非是这个芯片指令多一些,那个芯片IO种类多一些。

肯定有人说,好好好,你长得漂亮说什么都有理!其实,小编我不仅说的很有理,长得其实也不赖~~哈哈。回归正题,单片机、ARM、DSP都能勉强算作CPU,但是它们肯定是有不同的地方的,那么,它们之间的区别是什么?

单片机是一种有完整计算机体系的芯片。相比于平时用的电脑,你可以理解成各个子部分都相应的缩小,减弱,比如内存。但是体系是完整的。其原因是MCU多数用在控制等需要弱计算的场合,这样成本功耗就凸显出来了。

再说DSP,因为只要是芯片相关的东西,都要涉及到计算的部分,DSP的存在意义就是说它将一些高阶或者复杂的计算集成在芯片上,比如乘方,如果是普通的MCU或者是普通的CUP,你需要在计算部分重复很多工作,比如不断的加法。但是因为DSP的某些功能集成在芯片上,所以以前10条指令达到的结果,现在一条就够了。DSP用在更为专业的部分,比如视频处理,比如各种奇怪的计算,相应的DSP的成本提高,但是其在相应的运算场景中又是合适的。

ARM是一个英国的公司,这个公司主要开发的是以简易指令集RISC相关的IC开发。RISC是一种体系,与之相应的是咱们现在用的大部分的CPU,比如intel AMD。他们用的是另外一套体系,叫做复杂指令集。这两个体系的区别你可以理解成,英国开车坐右,中国开车坐左边。然后这家牛叉的公司,其盈利模式是卖授权。大概意思就是他自己设计出一个核然后把这个核的版权卖给其他的公司,比如Apple 华为啥的,然后他们可以用,也可以再设计然后用。因为ARM作为RISC最著名的厂牌,所以大家说起RISC一般都说是ARM,并且由于最近移动设备兴起,ARM因为一些先天的优势,变得势不可挡,所以最近说的比较多。CPU是一类东西,只要有计算能力,都可以叫做CPU,当然常说的CPU更多的是计算机 PC里面的CPU,这个是一种只管计算的芯片,也是目前计算能力最强的芯片。

举一个简单的例子。一个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显然需要更为强大的运算功能。

了解到这里,单片机、ARM、DSP这三者你傻傻分得清了么?


按以下识别二维码关注!


电子路上,一起走!