CPU;MPU;MCU三者以及ARMDSPFPGA三者的区别完整版
- 格式:docx
- 大小:62.48 KB
- 文档页数:13
简谈ARM、DSP、单片机的异同与应用场景单片机、ARM、DSP这三者的可以说是CPU,那这三者有什么区别吗? 首先,说CPU,中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如ram)。
不同架构的cpu会有不同的指令,不同的存取方式,不同的速度,不同的效率,等等的差异。
然后,说单片机(通常意义所说的微控制器MCU),ARM(通常意义所说的高效能RISC),DSP(通常意义所说的通用数字信号处理器),这三个CPU分别是针对不同的应用而产生的CPU。
当然这也不是绝对的,因为ARM现在出的CPU囊括了MCU(如M0),RISC(如A8),DSP(如M4)。
也就是说单片机实际上是微控制器MCU、ARM是高效能RISC、DSP就是数字信号处理器喽,那您能具体的从这三者的功能谈谈它们的控制原理吗?微控制器MCU的目的主要是用作控制,他不需要多快的速度,如电饭锅的控制器,只需要控制发热元件的通断,信号等的开关等,但是对成本要求很严格,所以一般做得比较简单,4位、8位的很多。
高效能的RISC,常用于一些数据处理比较多的地方,最常见的莫过于现在的消费性电子产品了,手机,pad,MP4等等,目前ARM的商业模式主要是卖内核,集成到各家的SOC中间。
他其实就是个通用的CPU,能干各种各样的活,和Intel的CPU一样。
但是通用就有效能问题,在某些特殊场合,效能就显得没那么高了,如大量运算(譬如做FFT)的时候。
这样就有DSP的用武之地了。
DSP数字信号处理器,只要是做数字信号处理的模块都可以叫做一个DSP,如视频解码的IP 核。
通用的数字信号处理器,如TI 的TMS320C55x DSP。
该CPU 的长处就是在于运算,大量循环的计算,如连续1024 个乘加。
他的指令针对这种应用有特殊的处理,相比RISC 可以更快速高效地完成这类运算。
一文说清CPU、MCU、MPU、SOC的异同半导体行业相关从业者会经常遇到CPU、MPU、MCU和SOC这些名词,但是容易混淆,而且网上各个版本的解释都差强人意。
下面我按照自己的理解,解释一下他们之间的异同。
概念:1,CPU -- Central Processing UnitCPU中央处理器,它是的运算核心和控制核心,差不多所有CPU的执行原理可以分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
CPU更强调“核心”位置,专注于运算和程序执行。
2,MCU -- Micro Control UnitMCU微控制器,即将CPU、RAM、ROM和定时器、WDT、I/O接口等集成在一片芯片上,形成芯片级的最小系统,可以加一些简单的外围器件(电阻、电容等)即可运行代码。
我们平常所说的单片机就是属于这一类。
3,MPU -- Micro Processor UnitMPU微处理器,通常可以看做一个功能强大的cpu,通常主频较高、算力强。
结构上看,一般会有MMU(存储管理单元)、FPU(浮点处理单元)、二级Cache等高级处理模块。
因此有条件执行复杂多样的大型程序或系统。
至于有无RAM/ROM片上存储器,并非区别MPU/MCU的关键点,MPU同样也可以有片上RAM/ROM,但是由于其强大的处理能力,出于成本考虑,片上存储空间显然不会满足需求,那么外挂存储就是一种必然,而且通常是DDR3,DDR4这种速度比较快的、适用于运算比较复杂的存储器。
4,SOC -- System on ChipSOC片上系统,可以认为是将mcu集成化和mpu强处理能力优点二合一形成的系统级芯片。
因此,它的结构更复杂,外设更多样,可能集成特定功能模块IP、模拟或数模混合IP。
区别:1,CPU与MCU/MPU/SOC的区别CPU只包含运算处理核心,而MCU/MPU/SOC不仅有处理核心(CPU/DSP等),还包含外围RAM/ROM/IO等外设。
DSP,MPU,MCU,CPU的区别CPU(Centeral Process Unit)这里所说的CPU其实是一个狭义的概念,特别是近些年PC的普及,所以一般就是指Intel的X86兼容芯片,内部结构大家也应该很清楚了,新的只不过是加了些指令集,超流水线,cache罢了,总的来说是采用封.诺一慢结构,是复杂指令集。
功能吗就是整数浮点都很一般,控制也不能达到MCU的水平。
3.MPU(Micro Process Unit)其实和CPU差不多,多半是都是CISC的,也有部分是RISC的,同CPU一样,只不过好象更泛泛些。
MPU相比,MPU适宜于相同管理这样的应用中,以条件判断为主的应用,以软件管理的操作系统为核心的 产品,MPU的设计侧重于不妨碍程序的流程,以保证操作系统支持功能及转移预测功能等.而DSP侧重于保证数据的顺利通行,结构尽量简单。
4.DSP都是RISC(Reduce Instruction Set Computer),结构上采用了增强Harvard,或超级Harvard结构,对于Pipeline的进程要求严格,并行指令应用等。
DSP侧重于保证数据的顺利通行,结构尽量简单。
特别是尽量少打断Pipeline。
下面介绍一下DSP的结构:DSP应用不同于主流的嵌入式系统应用,在那些应用中,你可以依赖一个通用的多优先级核心(Kernel)的服务。
而在DSP领域,该核心与DSP模块可能是两回事,尽管核心都 应该提供CPU资源、中断处理、通信机制等。
所以,一个有丰富细节的核心和操作系统通常 是不加以考虑的,因为它加在紧凑的DSP上实在勉强。
开发者常常自已设计系统软件框架,作为目标代码的一部分一起运行。
开发者甚至没有意识到自已编写了一个小型操作系统。
可见,这样的核心/操作系统随着应用的不同是多种多样的。
也需要有各种核心,支 持从简单到复杂的应用。
至于是自已写核心或者从别的专业公司获得帮助,那是需要在效率、紧凑、灵活、扩展性、安全等因素进行折衷考虑的。
ARM、MCU、DSP、FPGA、SOC的区别ARMARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。
更早称作Acorn RISC Machine。
ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
20世纪90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
ARM公司既不生产芯片也不销售芯片,它只出售芯片技术授权。
MCUMCU本质为一片单片机,指将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成的芯片级的计算机。
DSPDSP(DigitalSignalProcessing),数字信号处理,简称DSP。
DSP是用数值计算的方式对信号进行加工的理论和技术。
另外DSP也是Digital Signal Processor的简称,即数字信号处理器,它是集成专用计算机的一种芯片,只有一枚硬币那么大。
FPGAFPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
SOCSoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。
一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。
同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
ARM、MCU、DSP、FPGA、SOC的比较采用架构ARM:架构采用32位精简指令集(RISC)处理器架构,从ARM9开始ARM都采用了哈佛体系结构,这是一种将指令与数据分开存放在各自独立的存储器结构,独立的程序存储器与数据存储器使处理器的处理能力得到较大的提高。
一文讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。
但是主要思想是一样的,就是相比较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叫做现场可编程逻辑阵列,本身没有什么功能,就像一张白纸,想要它有什么功能完全靠编程人员设计(它的所有过程都是硬件,包括VHDL和Verilog HDL程序设计也是硬件范畴,一般称之为编写“逻辑”。
)。
如果你够NB,你可以把它变成MCU,也可以变成DSP。
由于MCU和DSP的内部结构都是设计好的,所以只能通过软件编程来进行顺序处理,而FPGA则可以并行处理和顺序处理,所以比较而言速度最快。
那么为什么MCU、DSP和FPGA会同时存在呢?那是因为MCU、DSP的内部结构都是由IC设计人员精心设计的,在完成相同功能时功耗和价钱都比FPGA要低的多。
深入了解DSP与ARM的区别与联系这些天正准备找工作的事,对于一些理论上的,或者说表面上的知识需要梳理下,所以有空整理了这篇简陋的比较,权当从另一个侧面理解下这两款主流处理器的特点了吧!DSP:DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。
一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。
DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。
也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。
另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。
其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。
其主要应用是实时快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
【详解】单片机、ARM、DSP、模块、CPU之间的区别对比单片机01什么是单片机单片机已广泛称作微控制器(MCU),单片机是一块类似PC的芯片,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上;只是没PC强大,但它可以嵌入到其它设备中从而对其进行操控。
概括的讲:一块芯片就成了一台计算机单片机的多机应用系统可分为功能集散系统、并行多机处理及局部网络系统。
体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
03应用单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等;ARM01什么是ARMARM是微处理器行业中一家知名企业,研发了RISC处理器、有关技能及软件。
ARM既能够认为是一个公司的名称,也能够认为是对一类微处理器的通称,本文主要指ARM架构面向低核算商场规划的第一款RISC微处理器。
ARM内核是一个嵌入式系统。
RISC架构的指令,寄存器和流水线特征使它非常适合于并02优点耗电少节能、高功能、16位/32位双指令集、价格低、协作伙伴多;嵌入式片上资源丰富;03应用应用领域大多为小家电,终端设备;DSP01什么是DSPDSP是一种独特的微处理器,是以数字信号来处理大量信息的器件,它不仅具有可编程性,而且运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
02优点强大数据处理能力和高运行速度03应用目前DSP应用主要应用图形与图像仪器仪表自动控制医疗家用电器信号处理通信语音等无线模块01什么是无线模块物联网中涉及到的模块大多数是无线通信模块,简称无线模块。
无线通信模块的原理是将电磁波信号发送或者接收且转换成我们能理解的信息。
无线通信模块的作用是将物于物之间联系起来,让各类物联网终端设备实现信息传输能力,也让各种智能设备有一个物联网的信息接口。
CPU ⇒MPU ⇒MCU1 CPU(Central Processing Unit,中央处理器) (1)1.1 CPU的组成 (1)1.2 CPU的工作原理 (1)2 MPU(Microprocessor Unit,微处理器) (3)2.1 MPU的组成 (3)2.2 MPU的分类 (3)2.3 MPU的体系结构:冯.诺伊曼结构和哈佛结构 (3)2.4 MPU的典型代表:DSP(Digital Signal Processor,数字信号处理器) (4)3 MCU(Microcontroller Unit,微控制器/单片机) (5)3.1 MCU的概念 (5)3.2 MCU的概述 (5)3.3 MCU的分类 (6)3.4 MCU的架构:CISC架构和RISC架构 (6)3.5 常见的MCU (6)3.6 MCU的典型代表:ARM (9)4 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件) (10)5 FPGA(Field Programmable Gate Array,现场可编程门阵列) (10)6 DSP,ARM,FPGA的区别 (10)1 CPU(Central Processing Unit,中央处理器)中央处理器(CPU)是电子计算机的主要器件之一,其功能主要是解释计算机指令及处理计算机软件中的数据。
1.1 CPU的组成CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
运算器:进行算术运算和逻辑运算(部件:算数逻辑单元、累加器、寄存器组、路径转换器、数据总线)。
控制器:控制程序的执行,包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。
复位、使能(部件:计数器、指令暂存器、指令解码器、状态暂存器、时序产生器、微操作信号发生器)。
寄存器:用来存放操作数、中间数据及结果数据。
1.2 CPU的工作原理CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作,从而完成一条指令的执行。
处理器分类(CPU MCU DSP ARM FPGA)本文主要从CPU MCU DSP ARM FPGA等对处理器进行分类讲解。
处理器英文缩写list:FPGA 是现场可编程门阵列:Field-Programmable Gate ArraySOC 是片上系统集成:system on chipsetDSP 是数字处理器:Digital Signal ProcessingMCU 是微处理器:micro control uniteCPU 中央处理器:Central Processing UnitGPU 图形处理器:Graphics Processing UnitNPU 嵌入式神经网络处理器MPU 微处理器和内存保护单元处理器主要有:CPU、MPU、MCU、SOC等。
一、CPU(Central Processing Unit)中央处理器1.CPU概念讲解是一台计算机的运算核心和控制核心。
CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。
所谓的计算机的可编程性主要是指对CPU的编程。
CPU按照处理信息的字长,可以分为:8位微处理器、16位微处理器、32位微处理器、64位微处理器等等。
2.CPU性能指标1)主频即CPU内部核心工作的时钟频率,单位是兆赫兹(MHz)。
对于同类CPU,主频越高,CPU的速度就越快,正基的性能就越高。
外频:即CPU的外部时钟频率。
外频是由电脑主板提供的,CPU的主频与外频关系是:CPU主频=外频x倍频数2)内部缓存采用速度极快的SRAM制作,用于暂时存储CPU运算时的最近的部分指令和数据,存取速度与CPU主频相同,内部缓存的容量一般是以KB为单位。
DSP、MCU、CPLD、ARM、FPGA芯片的区别DSP、MCU、CPLD、ARM、FPGA芯片的区别1,单片机小型电脑处理器,最小可以到8个脚,价格便宜,最便宜2块钱2,PLC可变逻辑控制器,主要用在工业控制,里面是类似一个加强的单片机。
对输入输出均有做处理(抗干扰能力、带负载能力都增强)。
例如抗干扰,增加带负载驱动能力3,DSP 数字信号处理芯片,这个用途可做信号处理,例如图像处理,数据采集处理,它比单片要快很多,比单片机功能要强大4,FPGA、CPLD可变逻辑控制,这个做逻辑处理控制,小型的CPLD是没有中央处理器的,大型可以嵌入系统,功能在单片机之上,适合做大型的数据处理,逻辑控制。
其价格不便宜。
但是他和单片机有本质的区别。
例如单片机有内嵌外设AD,DA转换等,CPLD则需要通过控制其他外设IC。
要想诠释清楚,也非三言两语能道明,还是多看看书本吧学习可以以单片机为先,其次是FPGA,CPLD,DSP。
PLC比较简单,学会前面后面只要了解一周一般都会了一家之言,欢迎指证:DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。
MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP 低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。
至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。
CPLD:复杂可编程逻辑器件FPGA:现场可编程门阵列后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。
同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多。
DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。
MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。
DSP、MCU、CPLD、ARM、FPGA芯片的区别1,单片机小型电脑处理器,最小可以到8个脚,价格便宜,最便宜2块钱2,PLC可变逻辑控制器,主要用在工业控制,里面是类似一个加强的单片机。
对输入输出均有做处理(抗干扰能力、带负载能力都增强)。
例如抗干扰,增加带负载驱动能力3,DSP 数字信号处理芯片,这个用途可做信号处理,例如图像处理,数据采集处理,它比单片要快很多,比单片机功能要强大4,FPGA、CPLD可变逻辑控制,这个做逻辑处理控制,小型的CPLD是没有中央处理器的,大型可以嵌入系统,功能在单片机之上,适合做大型的数据处理,逻辑控制。
其价格不便宜。
但是他和单片机有本质的区别。
例如单片机有内嵌外设AD,DA转换等,CPLD则需要通过控制其他外设IC。
要想诠释清楚,也非三言两语能道明,还是多看看书本吧学习可以以单片机为先,其次是FPGA,CPLD,DSP。
PLC比较简单,学会前面后面只要了解一周一般都会了一家之言,欢迎指证:DSP:数字信号处理器,处理器采用哈弗结构,工作频率较高,能大幅度提高数字信号处理算法的执行效率。
MCU:微控制器,主要用于控制系统,工作频率一般来说比DSP低,硬件上具有多个IO 端口,同时也集成了多个外设,主要是便于在控制系统中的应用。
至于ARM处理器,个人认为是MCU的高级版本,ARM本身只是一个内核,目前已经有多个版本。
CPLD:复杂可编程逻辑器件FPGA:现场可编程门阵列后两者都是可编程器件,CPLD目前一半采用FLASH技术,而FPGA采用SRAM技术,这就决定了FPGA需要采用特定的配置技术。
同时FPGA的规模要比CPLD大得多,但CPLD应用起来相对要简单的多。
DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。
MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。
ARM控制能力较强,但运算能力相对较弱。
选什么选嘛?任一个做好了都很不错,有能力的可以去做DSP,当然要入道深的话应该把数字信号处理的理论弄熟了,否则就是一辈子的Coding!说白了,ARM只是个平台(DSP 也是),关键还要看应用,产品规划出来了,依需求而选择是用DSP、ARM还是51。
顺便延伸一下,DSP/MCU/MPU是平台,计算机语言也是平台,太执拗与某一类平台实在不是技术精进的正途。
学武的初学者经常落入该学刀还是学剑还是学棍等等的迷惘中,殊不知对常人来说人一样学好了其实都是足以笑傲同侪的,如果一个学剑的天才误学了刀或棍,那是武林的不幸,也是学武者本身的不幸,不过这种事例实在少而又少。
作DSP就要做算法,不做算法的话和ARM差不多。
做DSP别做硬件,因为确实没什么好做得作DSP推荐你做高端的,低端的还不如51让你学到的知识多(算法除外)呵呵俺作了几年的DSP,有此体会,本人能力有限,现在专攻linux去了。
无所谓的。
你什么学好了都行。
这不搪塞你。
arm是操作系统难。
dsp是算法难。
至于前途什么都可以都可以,ARM广一些,以ARM为重点,有时间则看一下DSP其实大家在接触一个新事物的时候都是陌生的,但是接触大的时间长了,自然就成为习惯了,所以我感觉搞那个都是可以的,关键是自己需要全身心的投入才行。
在当前的主流开发语言中,c/c++一般用在底层和桌面程序;java开发的桌面应用和RIA应用可以说少之又少;php,python等一般只是用在web开发上;而只有C#,它可以用来开发桌面应用程序、Web应用程序、RIA应用程序(Silverlight),和智能手机应用程序(当然,将来肯定也会包括windows平板电脑应用)。
可以说是当前应用领域最广,最全面的高级开发语言。
--1.桌面应用程序这个就不用多说了,当前Win桌面应用程序的首选。
在WinXP以前,由于需要单独安装.NET Framework,用C#开发的桌面应用程序比较少。
现在,随着Win7的普及(Win7自带.NET Framework3.0),C#桌面应用一定会越来越多。
CPU、MPU、MCU、SoC的联系与区别1、CPUCPU(Central Processing Unit),是一台计算机的运算核心和控制核心。
CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
主要功能是解释计算机指令以及处理计算机软件中的数据。
计算机的可编程性主要是指对中央处理器的编程。
1970年代以前,中央处理器由多个独立单元构成,后来发展出由集成电路制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,其中分出的中央处理器最为复杂的电路可以做成单一微小功能强大的单元,也就是所谓的核心。
差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。
所谓的计算机的可编程性主要是指对CPU的编程。
2、MPUMPU(Micro Processor Unit),叫微处理器**,是可编程特殊集成电路。
MPU只是一个处理器,需要搭配内存等非常多的其他外设才可以构成一个系统。
MCU内部有处理器、内存、Flash及其他模块,仅仅需要搭配少量外设就可以构成一个系统。
在上世纪80年代非常流行,那时的微型计算机、游戏机都是使用MPU。
比如Motorola公司的68000芯片就是一款主流的微处理器(MPU)。
下图是一款AlphaMicroAM-1000系列的微型计算机电路板,电路板右侧中间最大的芯片就是MPU68000。
后来MPU逐渐式微,可以认为MPU发现到现在只剩下了intel、AMD公司x86系列CPU。
这类CPU也越来越复杂,称之为“微处理器”似乎不恰当了。
在个人电脑领域,可以看到类似下图的主板。
主板上插上CPU、内存条、声卡等等就构成了一台计算机。
整个主板体积庞大、制造复杂。
3、MCUMCU(Micro Control Unit),叫微控制器,是指随着大规模集成电路的出现及其发展,把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机,形成芯片级的芯片。
CPU MPU MCU1 CPUCentral Processing Unit,中央处理器中央处理器CPU是电子计算机的主要器件之一,其功能主要是解释计算机指令及处理计算机软件中的数据;1.1 CPU的组成CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成;运算器:进行算术运算和逻辑运算部件:算数逻辑单元、累加器、寄存器组、路径转换器、数据总线;控制器:控制程序的执行,包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制;复位、使能部件:计数器、指令暂存器、指令解码器、状态暂存器、时序产生器、微操作信号发生器;寄存器:用来存放操作数、中间数据及结果数据;1.2 CPU的工作原理CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作,从而完成一条指令的执行;可分为四个阶段:提取Fetch、解码Decode、执行Execute和写回Writeback;注:指令是计算机规定执行操作的类型和操作数的基本命令;指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码;有的指令中也直接包含操作数本身;第一阶段:提取从存储器或高速缓冲存储器中检索指令为数值或一系列数值;由程序计数器Program Counter指定存储器的位置,程序计数器保存供识别目前程序位置的数值;换言之,程序计数器记录了CPU在目前程序里的踪迹;提取指令之后,程序计数器根据指令长度增加存储器单元;指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入;这个问题主要被论及在现代处理器的快取和管线化架构;第二阶段:解码CPU根据存储器提取到的指令来决定其执行行为;在解码阶段,指令被拆解为有意义的片断;根据CPU的指令集架构Instruction Set Architecture, ISA定义将数值解译为指令;一部分指令数值为运算码Opcode,其指示要进行哪些运算;其它的数值通常供给指令必要的信息,诸如一个加法Addition运算的运算目标;这样的运算目标也许提供一个常数值即立即值,或是一个空间的定址值:暂存器或存储器位址,以定址模式决定;在旧的设计中,CPU里的指令解码部分是无法改变的硬件设备;不过在众多抽象且复杂的CPU和指令集架构中,一个微程序时常用来帮助转换指令为各种形态的讯号;这些微程序在已成品的CPU中往往可以重写,方便变更解码指令;第三阶段:执行在提取和解码阶段之后,接着进入执行阶段;该阶段中,连接到各种能够进行所需运算的CPU部件;例如,要求一个加法运算,算数逻辑单元ALU,Arithmetic Logic Unit将会连接到一组输入和一组输出;输入提供了要相加的数值,而输出将含有总和的结果;ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算比如加法和位元运算;如果加法运算产生一个对该CPU的处理而言过大的结果,在标志暂存器里,运算溢出Arithmetic Overflow标志可能会被设置;第四阶段:写回以一定格式将执行阶段的结果简单的写回;运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取;在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中;某些类型的指令会操作程序计数器,而不直接产生结果;这些一般称作“跳转”Jumps,并在程式中带来循环行为、条件性执行透过条件跳转和函式;许多指令也会改变标志暂存器的状态位元;这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果;例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值;这个标志可由随后的跳转指令来决定程式动向;在执行指令并写回结果之后,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令;如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行;许多复杂的CPU可以一次提取多个指令、解码,并且同时执行;这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及常称为微控制器Microcontroller;2 MPUMicroprocessor Unit,微处理器就物理性来说,MPU就是一块集成了数量庞大的微型晶体管与其他电子组件的半导体集成电路Integrated Circuit, IC芯片;微处理器MPU通常代表一个功能强大的CPU,但不是为任何已有的特定计算目的而设计的芯片;MPU与传统的CPU相比,具有体积小、重量轻和容易模块化等优点;2.1 MPU的组成MPU的组成部分有:算术逻辑单元ALU,Arithmetic Logical Unit;累加器和通用寄存器组;程序计数器;运算器;时序和逻辑控制电路;数据和地址总线;其中运算器和控制器是其主要组成部分;MPU能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分;它可与存储器和外围电路芯片组成微型计算机;常见的MPU有Motorola的68K系列和Intel的X86系列;2.2 MPU的分类根据处理对象的不同分类:用作处理通用数据时,叫作中央处理器Central Processing Unit, CPU这也是最为人所知的应用如:Intel Pentium CPU;专用于作图像数据处理的,叫作图形处理器Graphics Processing Unit, GPU如Nvidia GeForce 6150 GPU;用于音频数据处理的,叫作音频处理器Audio Processing Unit, APU如Creative emu10k1 APU等等;2.3 MPU的体系结构:冯·诺伊曼结构和哈佛结构冯·诺伊曼结构冯·诺伊曼结构或普林斯顿结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构;程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽;目前使用冯·诺伊曼结构的中央处理器和微控制器有很多;除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构;哈佛结构哈佛结构是一种将程序指令存储器和数据存储器分开的存储器结构;中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作通常是执行;程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度;哈佛结构的微处理器通常具有较高的执行效率;其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令;目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog 公司的Z8系列、ATMEL公司的AVR系列和Advanced RISC Machines安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构;2.4 MPU的典型代表:DSPDigital Signal Processor,数字信号处理器DSPDigital signal processor是一种特殊结构的CPU,有自己的完整指令系统;它专门用于处理数字信号的各种功能,如FFT、数字滤波算法、加密算法和复杂控制算法等;其工作原理是,接受模拟信号并转换成‘0’和‘1’的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式;它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色;DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,包括控制单元、运算单元、各种寄存器以及一定数量的存储单元等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机;其主要应用是实时快速地实现各种数字信号处理算法;根据数字信号处理的要求,DSP芯片一般具有如下主要特点:1在一个指令周期内可完成一次乘法和一次加法;2程序和数据空间分开哈佛结构,可以同时访问指令和数据;3片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;4具有低开销或无开销循环及跳转的硬件支持;5快速的中断处理和硬件I/O支持;6具有在单周期内操作的多个硬件地址产生器;7可以并行执行多个操作;8支持流水线操作,使取指、译码和执行等操作可以重叠执行;目前有许多微处理器MPU逐渐演化为微控制器MCU比如arm,因此这些概念开始融合,所以处理器包括CPU,MCU,DSP;ARM目前是嵌入式处理器的代名词:由CPU,少量的RAM,FLASH,和其它接口封装而组成的;3 MCUMicrocontroller Unit,微控制器/单片机3.1 MCU的概念MCU是将微型计算机的主要部分包括CPU,存储器,定时/计数器Timer/Counter,各种I/O接口集成在一个芯片上的单芯片微型计算机,实现嵌入式应用,故也称单片机Single Chip Microcomputer,单片微型计算机;随后为了满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元,目前单片机已广泛称为微控制器MCU;也有由微处理器发展的微控制器,比如Intel的386EX就是很成功的80386微处理器的微控制器版本,它与嵌入式应用的微处理器一样,也称为嵌入式微处理器;嵌入式处理器的高端产品有:Advanced RISC Machines公司的ARM、Silicon Graphics公司的MIPS、IBM 和Motorola的Power PC 、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SH RISC 芯片;3.2 MCU的概述绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器只读存储器或者闪存、数据存储器随机存储器、一个或者更多的定时/计时器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口,所有这些都被集成在单个集成电路芯片上;说单片机与通用型中央处理单元芯片不同,是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机,这样就可以很容易的把单片机系统植入装置内部来控制装置了;近年来为了在指令和数据上使用不同的字宽,并提高处理器流水线速度,哈佛结构在微控制器Microcontroller和数字信号处理器Digital Signal Processor, DSP也逐渐得到了广泛的应用;传统的微处理器是不允许这么做的;它要完成单片机的工作,就必须连接一些其他芯片;比如说,因为芯片上没有数据存储器,就必须要添加一些RAM的存储芯片,虽然所添加存储器的容量很灵活,但是至少还是要添加;另外还需要添加很多连线来传递芯片之间的数据;与以上的情况相比,单片机的工作则相对独立,一个典型的微控制器只需要一个时钟发生器和很少的RAM和ROM或者EPROM, E2PROM就可以在软件和晶振下工作了;同时,微控制器具有丰富的输入输出设备,例如模拟数字转换器Analog-to-Digital Converter, ADC,定时器,串口,以及其他串行通讯接口,比如I2C,SPI串行周边接口,CAN控制器局域网等;通常,这些集成在内部的设备可以通过特殊的指令来操作;单片机时钟频率通常较同时代的计算机芯片低,但它价格低廉,能够提供充足的程序存储器、丰富的片上接口;某些架构的单片机生产厂商众多,例如8051系列、Z80系列;一些现代的微控制器支持一些内建的高级编程语言,比如BASIC语言、C语言、C++等;3.3 MCU的分类根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为哈佛Harvard结构和冯·诺伊曼Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和Flash的MCU;根据指令结构又可分为CISCComplex Instruction Set Computer,复杂指令集计算机和RISCReduced Instruction Set Computer,精简指令集计算机微控制器;3.4 MCU的架构:CISC架构和RISC架构基于CISC架构的微控制器除了80C51外,还包括Motorola提供的68HC系列微控制器,这也是大量应用的微控制器系列;基于RISC架构的微控制器则包括Microchip的PIC系列8位微控制器等;在16位RISC架构的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代码执行效率,成为许多需要高精度混合信号处理以及便携式系统和电池供电系统的理想选择;MAXQ2000微控制器是Maxim/Dallas公司推出的一款基于RISC架构的16位微控制器,其指令读取和执行操作在一个周期内完成,而没有流水线操作,这是因为指令既包含了操作码也包括了数据;字母Q表示这款微控制器的一个重要特点便是“安静”,MAXQ架构通过智能化的时钟管理来降低噪声.这意味着MAXQ只向那些需要使用时钟的电路提供时钟,这样既降低了功耗,又为模拟电路的整合提供了一个最安静的环境;它包含液晶显示LCD接口,最多可以驱动100或132段两种版本;3.5 常见的MCU微芯公司的PIC系列出货量居于业界领导者地位;Atmel的51系列及AVR系列种类众多,受支持面广;德州仪器的MSP430系列以低功耗闻名,常用于医疗电子产品及仪器仪表中;瑞萨单片机在日本使用广泛;1ARM公司:ARM 系列MCU2Atmel公司:AVR系列MCUAtmel AT91 series ARM 处理器等AT90 series – AVR Atmel 的高性能RISC 8位单片机,老产品ATmega series – AVR Atmel 的高性能RISC 8 位单片机,新产品ATXmega series – AVR Atmel 的高性能RISC 32 位单片机,新产品Atmel AT89 series Intel 8051/MCS51 架构8位单片机MARC43Cypress MicroSystems赛普拉斯微系统公司CY8C2xxxx PSoC4Freescale Semiconductor飞思卡尔半导体8-bit:68HC05 CPU05,68HC08 CPU08,68HC11 CPU11;16-bit:68HC12 CPU12,68HC16 CPU16,Freescale DSP56800 DSPcontroller; 32-bitFreescale 683XX CPU32MPC500MPC 860 PowerQUICCMPC 8240/8250 PowerQUICC IIMPC 8540/8555/8560 PowerQUICC III5Holtek盛群半导体HT48FXX Flash I/O typeHT48RXX I/O typeHT46RXX A/D typeHT49RXX LCD type6Intel英特尔MCU8-bit:8XC42MCS48MCS51 : Intel 8051系列MCU历史悠久,相容产品众多,使用广泛; 8xC25116-bit:MCS96系列MXS29632-bit:i9607Microchip微芯公司的PIC系列MCU8-bit : PIC10,PIC12,PIC16,PIC18;16-bit : PIC24F,PIC24H,dsPIC30,dsPIC33;32bit : PIC32 采用MIPS M4K 核心架构8National Semiconductor美国国家半导体COP8CR169NEC78K10NXP Semiconductors恩智浦半导体,由飞利浦以 Philips Semiconductors 为班底新成立LPC2000LPC900LPC70011Parallax, Inc.BASIC Stamp12Renesas 瑞萨科技系列单片机Renesas 16-bitsRenesas M16C SeriesRenesas M32C SeriesRenesas R8C SeriesRenesas M16C/Tiny SeriesRenesas R8C/Tiny SeriesRenesas H8/Tiny Series13ST Microelectronics意法半导体STM32 series ARM Cortex-M3 系列,32位STM8 series 自主RISC指令集,8 位14SyncMOS 新茂国际科技全系列单片机SM59RXXA2 8-bits 1TRISCSM59DXXG2 8-bits 6TISPSM59XX 8-bits 12TISPSM89XX 8-bits 12TTraditional 8051SM79XX 8-bits 12TCustomization15PADAUK应广科技全系列单片机多核心单片机P201CS/CD 8-bitsP211CS/CD 8-bitsp232CS/CD 8-bitsP234CS/CD 8-bits16ZiLOGZ8Z86E0217STC 宏晶系列MCUSTC89C series 6T/12T增强性单片机 Intel 8051架构,有外部总线STC11F/11L series 2T 增强性单片机 Intel 8051增强架构,无外部总线程序支持STC12C/12LE series 2T 增强性单片机 Intel 8051增强架构,无外部总线程序支持STC15C/15LE series 2T 增强性单片机 Intel 8051增强架构,无外部总线程序支持,正在开发中18Kernel-IC 华芯 LS系列MCULSx051 series 12T 双核单片机Intel 8051架构,无外部总线LSx151 series 12T 三核单片机Intel 8051架构,无外部总线LS052A series 6T 三核单片机Intel 8051架构,无外部总线其他系列的单片机Msp430系列单片机8098、80196系列单片机AT8P5X系列单片机CZG8000系列单片机3.6 MCU的典型代表:ARMARMAdvanced RISC Machines是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件;ARM架构是面向低预算市场设计的第一款RISC 微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产;由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行;目前ARM在手持设备市场占有90%以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用;4 CPLDComplex Programmable Logic Device,复杂可编程逻辑器件5 FPGAField Programmable Gate Array,现场可编程门阵列FPGA是英文Field Programmable Gate Array现场可编程门阵列的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路ASIC中集成度最高的一种;FPGA采用了逻辑单元阵列LCALogic Cell Array这样一个新概念,内部包括可配置逻辑模块CLBConfigurable Logic Block、输出输入模块IOBInput Output Block和内部连线Interconnect三个部分;用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑;它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改;作为专用集成电路ASIC领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点;可以毫不夸张的讲,FPGA 能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现;FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统;通过软件仿真,我们可以事先验证设计的正确性;在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路;使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性;FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程;用户可以根据不同的配置模式,采用不同的编程方式;加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态;掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用;FPGA的编程无须专用的FPGA 编程器,只须用通用的EPROM、PROM 编程器即可;当需要修改FPGA功能时,只需换一片EPROM即可;这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能;因此,FPGA的使用非常灵活;可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一;目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等;6 DSP,ARM,FPGA的区别ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度;FPGA可以用VHDL或Verilog HDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证;当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错;。
MCU和CPU的区别,CPU、MCU、DSP三者之间的联系区别MCU(Micro Controller Unit),又称单片微型计算机(Single Chip Microcomputer),简称单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O 接口集成在一片芯片上,形成芯片级的计算机。
MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。
对于无片内ROM型的芯片,必须外接EPROM才能应用(典型芯片为8031)。
带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内FLASH型(典型芯片为89C51)等类型CPU是中央处理单元(Central Processing Unit)的缩写,它可以被简称做微处理器(Microprocessor),不过经常被人们直接称为处理器(processor)。
不要因为这些简称而忽视它的作用,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,微处理器单元)。
DSP、MCU、FPGA、RAM的应用区别和联系DSP、MCU、FPGA、RAM的应用区别和联系一.DSPDSP(Digital Signal Process)数字信号处理器是为独立快速的实现各种数字信号处理运算而专门设计的一种处理器件,它广泛运用于电气控制、通信、信号处理、仪器仪表、航天航空、生物医学和消费电子等领域。
DSP的特点:(1)在一个指令周期内可完成一次乘法和一次加法。
(2)程序和数据空间分开,可以同时访问指令和数据。
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
(4)具有低开销或无开销循环及跳转的硬件支持。
(5)快速的中断处理和硬件I/O支持。
(6)具有在单周期内操作的多个硬件地址产生器。
(7)可以并行执行多个操作。
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
二.MCUMCU也称微控制器或嵌入式控制器,它是为中、低成本控制领域而设计和开发的。
单片机的位控能力强,I/O接口种类繁多,片内外设和控制功能丰富、价格低、使用方便,但与DSP相比,处理速度慢。
DSP具有的高速并行结构及指令、多总线、单片机却没有。
DSP处理算法的复杂度和大的数据处理流量更是单片机不可企及的。
三.FPGAFPGA是英文Filed—Programmable Gate Array的缩写,即现场可编程阵列,作为专用集成电路(ASIC)领域的一种半制定电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
内部包括可配置逻辑模块、输出输入模块和内部连线三个部分。
内部具有丰富的触发器和I/O引脚,是ASCI电路中设计周期最短、开发费用最低、风险最小的器件之一。
是小批量系统提高集成度、可靠性的最佳选择之一。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
C P U;M P U;M C U三者以及A R MD S P F P G A三者的区别集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]CPU MPU MCU1 CPU(Central Processing Unit,中央处理器)中央处理器(CPU)是电子计算机的主要器件之一,其功能主要是解释计算机指令及处理计算机软件中的数据。
CPU的组成CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
运算器:进行算术运算和逻辑运算(部件:算数逻辑单元、累加器、寄存器组、路径转换器、数据总线)。
控制器:控制程序的执行,包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。
复位、使能(部件:计数器、指令暂存器、指令解码器、状态暂存器、时序产生器、微操作信号发生器)。
寄存器:用来存放操作数、中间数据及结果数据。
CPU的工作原理CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作,从而完成一条指令的执行。
可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
注:指令是计算机规定执行操作的类型和操作数的基本命令。
指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。
有的指令中也直接包含操作数本身。
第一阶段:提取从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。
由程序计数器(Program Counter)指定存储器的位置,程序计数器保存供识别目前程序位置的数值。
换言之,程序计数器记录了CPU在目前程序里的踪迹。
提取指令之后,程序计数器根据指令长度增加存储器单元。
指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入。
这个问题主要被论及在现代处理器的快取和管线化架构。
第二阶段:解码CPU根据存储器提取到的指令来决定其执行行为。
在解码阶段,指令被拆解为有意义的片断。
根据CPU的指令集架构(Instruction Set Architecture, ISA)定义将数值解译为指令。
一部分指令数值为运算码(Opcode),其指示要进行哪些运算。
其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。
这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或存储器位址,以定址模式决定。
在旧的设计中,CPU里的指令解码部分是无法改变的硬件设备。
不过在众多抽象且复杂的CPU和指令集架构中,一个微程序时常用来帮助转换指令为各种形态的讯号。
这些微程序在已成品的CPU中往往可以重写,方便变更解码指令。
第三阶段:执行在提取和解码阶段之后,接着进入执行阶段。
该阶段中,连接到各种能够进行所需运算的CPU部件。
例如,要求一个加法运算,算数逻辑单元(ALU,Arithmetic Logic Unit)将会连接到一组输入和一组输出。
输入提供了要相加的数值,而输出将含有总和的结果。
ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。
如果加法运算产生一个对该CPU的处理而言过大的结果,在标志暂存器里,运算溢出(Arithmetic Overflow)标志可能会被设置。
第四阶段:写回以一定格式将执行阶段的结果简单的写回。
运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。
在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。
某些类型的指令会操作程序计数器,而不直接产生结果。
这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。
许多指令也会改变标志暂存器的状态位元。
这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。
例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。
这个标志可由随后的跳转指令来决定程式动向。
在执行指令并写回结果之后,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。
如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行。
许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。
这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制器Microcontroller)。
2 MPU(Microprocessor Unit,微处理器)就物理性来说,MPU就是一块集成了数量庞大的微型晶体管与其他电子组件的半导体集成电路(Integrated Circuit, IC)芯片。
微处理器(MPU)通常代表一个功能强大的CPU,但不是为任何已有的特定计算目的而设计的芯片。
MPU与传统的CPU相比,具有体积小、重量轻和容易模块化等优点。
MPU的组成MPU的组成部分有:算术逻辑单元(ALU,Arithmetic Logical Unit);累加器和通用寄存器组;程序计数器;运算器;时序和逻辑控制电路;数据和地址总线。
其中运算器和控制器是其主要组成部分。
MPU能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。
它可与存储器和外围电路芯片组成微型计算机。
常见的MPU有Motorola的68K系列和Intel的X86系列。
MPU的分类根据处理对象的不同分类:用作处理通用数据时,叫作中央处理器(Central Processing Unit, CPU)这也是最为人所知的应用(如:Intel Pentium CPU);专用于作图像数据处理的,叫作图形处理器(Graphics Processing Unit, GPU)(如Nvidia GeForce 6150 GPU);用于音频数据处理的,叫作音频处理器(Audio Processing Unit, APU)(如Creative emu10k1 APU)等等。
MPU的体系结构:冯·诺伊曼结构和哈佛结构冯·诺伊曼结构冯·诺伊曼结构(或普林斯顿结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。
除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。
哈佛结构哈佛结构是一种将程序指令存储器和数据存储器分开的存储器结构。
中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。
程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
哈佛结构的微处理器通常具有较高的执行效率。
其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和Advanced RISC Machines(安谋)公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构。
MPU的典型代表:DSP(Digital Signal Processor,数字信号处理器)DSP(Digital signal processor)是一种特殊结构的CPU,有自己的完整指令系统;它专门用于处理数字信号的各种功能,如FFT、数字滤波算法、加密算法和复杂控制算法等。
其工作原理是,接受模拟信号并转换成‘0’和‘1’的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,包括控制单元、运算单元、各种寄存器以及一定数量的存储单元等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。
其主要应用是实时快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成一次乘法和一次加法;(2)程序和数据空间分开(哈佛结构),可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
目前有许多微处理器(MPU)逐渐演化为微控制器(MCU)比如arm,因此这些概念开始融合,所以处理器包括CPU,MCU,DSP。
ARM目前是嵌入式处理器的代名词:由CPU,少量的RAM,FLASH,和其它接口封装而组成的。
3 MCU(Microcontroller Unit,微控制器/单片机)MCU的概念MCU是将微型计算机的主要部分(包括CPU,存储器,定时/计数器(Timer/Counter),各种I/O接口)集成在一个芯片上的单芯片微型计算机,实现嵌入式应用,故也称单片机(Single Chip Microcomputer,单片微型计算机)。
随后为了满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元,目前单片机已广泛称为微控制器(MCU)。
也有由微处理器发展的微控制器,比如Intel的386EX就是很成功的80386微处理器的微控制器版本,它与嵌入式应用的微处理器一样,也称为嵌入式微处理器。
嵌入式处理器的高端产品有:Advanced RISC Machines公司的ARM、Silicon Graphics公司的MIPS、IBM和Motorola的Power PC 、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SH RISC芯片。
MCU的概述绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计时器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口,所有这些都被集成在单个集成电路芯片上。