单片机与ARM嵌入式,DSP,FPGA的联系与区别

MCU(Micro Controller Unit),又称单片微型计算机(Single Chip Microcomputer),简称单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机。 MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。

不要因为这些简称而忽视它的作用,CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。CPU的种类决定了你使用的操作系统和相应的软件。CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC(个人电脑)。 寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。

CPU和MCU之间的界限并不是很清晰,不过CPU主要用在电脑上,也算是控制器,MCU主要是工业控制领域,DSP用途也比较广。比如说DSP可以实现MP3解码,电机控制等。它的特点是处理速度比较快。

CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信 处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。

MPU (Microprocessor Unit)微处理器

微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信 对相应的部件进行控制,并执行相应的操作。

在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。

DSP(digital signal processor)是一种独特的微处理器,是以数字信 来处理大量信息的器件。其工作原理是接收模拟信 ,转换为0或1的数字信 。再对数字信 进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

1、数字信 处理器的内核结构进一步改善,多通道结构和单指令多重数据(SIMD)、特大指令字组(VLIM)将在新的高性能处理器中将占主导地位,如Analog Devices的 ADSP-2116x。

2、DSP 和微处理器的融合:

微处理器是低成本的,主要执行智能定向控制任务的通用处理器能很好执行智能控制任务,但是数字信 处理功能很差。而DSP的功能正好与之相反。在许多应用中均需要同时具有智能控制和数字信 处理两种功能,如数字蜂窝电话就需要监测和声音处理功能。因此,把DSP和微处理器结合起来,用单一芯片的处理器实现这两种功能,将加速个人通信机、智能电话、无线 络产品的开发,同时简化设计,减小PCB体积,降低功耗和整个系统的成本。例如,有多个处理器的Motorola公司的DSP5665x,有协处理器功能的Massan公司FILU-200,把MCU功能扩展成DSP和MCU功能的TI公司的TMS320C27xx以及Hitachi公司的SH-DSP,都是DSP和MCU融合在一起的产品。互联 和多媒体的应用需要将进一步加速这一融合过程。

CPU 包括运算逻辑部件、寄存器部件和控制部件等,其本质就是一个集成电路,实现的功能就是从一个地方读出一个指令,从另一个地方读出数据,然后根据指令的不同对数据做不同的处理,然后把结果存回某个地方,而不同架构的CPU会有不同的指令、不同的存取方式、不同的速度、不同的效率等差异。

从实现运算的角度,单片机、ARM、DSP都可以称之为CPU

1、单片机:微控制器MCU

目前,单片机已广泛称作微控制器(MCU),单片机是一块类似PC的芯片,只是没PC强大,但它可以嵌入到其它设备中从而对其进行操控。

单片机的多机应用系统可分为功能集散系统、并行多机处理及局部 络系统。

2、ARM:高效能RISC

ARM内核是一个嵌入式系统。RISC架构的指令,寄存器和流水线特征使它非常适合于并行计算。

3、DSP:通用数字信 处理器

DSP是一种独特的微处理器,是以数字信 来处理大量信息的器件。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。

这三个都是CPU,只不过是针对不同的应用,CPU最主要的是解决运算问题,计算机的CPU能够访问存储器的数据和指令进行运算,因此从实现运算这一点的角度上看,无论是单片机、ARM、DSP都可以称之为CPU。

同时作为CPU的单片机、ARM、DSP,三者的区别

虽然单片机、ARM、DSP都被称作CPU,但是它们之间还是有明显区别的。

1、单片机是一种有完整计算机体系的芯片,适用于简单的测控系统,功能相对简单。

单片机的工作ARM和DSP都能作,单片机对于数字计算方面的指令少得多,DSP为了进行快速的数字计算,提高常用的信 处理算法的效率,加入了很多指令,比如单周期乘加指令、逆序加减指令,块重复指令等等,甚至将很多常用的由几个操作组成的一个序列专门设计一个指令可以一周期完成,极大的提高了信 处理的速度。

由于数字处理的读数、回写量非常大,为了提高速度,采用指令、数据空间分开的方式,以两条总线来分别访问两个空间,同时,一般在DSP内部有高速RAM,数据和程序要先加载到高速片内ram中才能运行。

2、ARM是微处理器,具有强大的事务处理功能,可以配合嵌入式操作系统使用。

ARM最大的优势在于速度快、低功耗、芯片集成度高,多数ARM芯片都可以算作SOC,基本上外围加上电源和驱动接口就可以做成一个小系统了,基于ARM核心处理器的嵌入式系统以其自身资源丰富、功耗低、价格低廉、支持厂商众多的缘故,越来越多地应用在各种需要复杂控制和通信功能的嵌入式系统中。

目前,采用ARM核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、 络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

3、DSP适用于数字信 处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。

DSP实时运行速度可达每秒数以千万条复杂指令程序。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍,其采用的设计是数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠,其工作原理是接收模拟信 ,转换为0或1的数字信 ,再对数字信 进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

DSP芯片,由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。其主要应用是实时快速地实现各种数字信 处理算法。

现在的话,ARM不上系统和单片机没什么区别。
ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。

1、体积小、低功耗、低成本、高性能;

2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
  
3、大量使用寄存器,指令执行速度更快;

4、大多数数据操作都在寄存器中完成;

5、寻址方式灵活简单,执行效率高;

6、指令长度固定。

arm与单片机的区别
  1、软件方面

这应该是最大的区别了,引入了操作系统,为什么引入操作系统什么好处嘛/p>

1)方便:主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。

2)安全:这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。

2、硬件方面

现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。总的来说,单片机是个微控制器,ARM显然已经是个微处理器了。

总结一下,
除速度和字长外,DSP与单片机的区别:
单片机学名微控制器(MCU),有4位,8位,16位,32位等。而使用英国ARM公司推出的架构方案的32位微控制器就是你说的ARM芯片。
它和4、8、16位单片机的差别就是内部资源比较多,可内嵌的内存较大,总线带宽较宽等等……还有像楼上说的有高速缓存,可外接的资源接口较多,可以实时运行操作系统(内存管理是操作系统内的东西,不是ARM芯片的)。而JTAG不是ARM的专利,我用PIC和MSP430等8位16位MCU也可以使用这些。

最大的区别就是,单片机是MCU,即微型控制器;而ARM只不过是MPU,微处理单元,相当于单片机内部的运算单元(CPU或ALU)而已。它们很明显能看出来的是单片机内部自带RAM和FLASH,而ARM是没有的,需要外部拓展。这就像是电脑上的CPU一样,需要硬盘和内存。不过现在有不少公司将FLASH和RAM做进ARM芯片,但这也只不过是相当于外围电路的扩展而已

1、存储器结构不同

单片机使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。

大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。

2、 对密集的乘法运算的支持

单片机不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。

3、 零开销循环

DSP算法的一个共同的特点,即大多数处理时间都花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓的零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值,条件转移到循环大额顶部,将循环计数器减1。

单片机是Single-chip Microcomputer的较准确译法,但最能准确反映单片机设计思想、并且有长远技术眼光的词汇是Microcontroller(微控制器)。

扩展资料:

DSP主要针对一些计算能力要求较高的应用,如视频图像处理、智能机器人、数字无线、宽带访问、数字音频、高分辨率成像和数字电机控制等。

单片机应用最为广泛,主要利益于它的成本控制上,使它能在许多对计算能力要求不那么高的应用立足。相信在未来几年里,MCU市场关键增长驱动力将来自于绿色能源,智能电子设备,智能电 以及电子产品的升级换代比如汽车电子。

图中的ARM7,ARM9,ARM11是ARM公司未更名前的芯片命名规则,其中ARM7属于低端处理器,ARM9,ARM11为中高端处理器。

目前差用的STM32为Cortex-m3内核,属于微控制器类;

而Cortex-A系列,则属于高端处理器,属于微处理器类;

高端处理器和低端处理器最明显的区别就是能不能跑系统。

这里的系统并不是指Ucos这种实时系统,而是像Linux这种系统。

它们的区别在于,低端处理器没有CACHE和MMU:

Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(DynamicRandomAccessMemory)之间,规模较小,但速度很高的存储器,通常由SRAM(StaticRandomAccessMemory静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。

MMU:是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。

将线性地址映射为物理地址

现代的多用户多进程操作系统,需要MMU,才能达到每个用户进程都拥有自己独立的地址空间的目标。

主要参考:
http://www.elecfans.com/emb/danpianji/20170521517972.html

http://www.elecfans.com/app/api/focus/index/id/341

https://blog.csdn.net/godloveyuxu/article/details/80027501

https://blog.csdn.net/long_long666/article/details/81449346

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年3月10日
下一篇 2019年3月10日

相关推荐