CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx

上传人:b****8 文档编号:10361665 上传时间:2023-02-10 格式:DOCX 页数:13 大小:23.62KB
下载 相关 举报
CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx_第1页
第1页 / 共13页
CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx_第2页
第2页 / 共13页
CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx_第3页
第3页 / 共13页
CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx_第4页
第4页 / 共13页
CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx

《CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx》由会员分享,可在线阅读,更多相关《CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx(13页珍藏版)》请在冰豆网上搜索。

CPUMPUMCU三者以及ARMDSPFPGA三者的区别.docx

CPUMPUMCU三者以及ARMDSPFPGA三者的区别

CPU?

MPU?

MCU

1CPU(CentralProcessingUnit,中央处理器)

中央处理器(CPU)是电子计算机的主要器件之一,其功能主要是解释计算机指令及处理计算机软件中的数据。

1.1CPU的组成

CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。

运算器:

进行算术运算和逻辑运算(部件:

算数逻辑单元、累加器、寄存器组、路径转换器、数据总线)。

控制器:

控制程序的执行,包括对指令进行译码、寄存,并按指令要求完成所规定的操作,即指令控制、时序控制和操作控制。

复位、使能(部件:

计数器、指令暂存器、指令解码器、状态暂存器、时序产生器、微操作信号发生器)。

寄存器:

用来存放操作数、中间数据及结果数据。

1.2CPU的工作原理

CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,将指令分解成一系列的微操作,然后发出各种控制命令,执行微操作,从而完成一条指令的执行。

可分为四个阶段:

提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。

注:

指令是计算机规定执行操作的类型和操作数的基本命令。

指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。

有的指令中也直接包含操作数本身。

第一阶段:

提取

从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。

由程序计数器(ProgramCounter)指定存储器的位置,程序计数器保存供识别目前程序位置的数值。

换言之,程序计数器记录了CPU在目前程序里的踪迹。

提取指令之后,程序计数器根据指令长度增加存储器单元。

指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入。

这个问题主要被论及在现代处理器的快取和管线化架构。

第二阶段:

解码

CPU根据存储器提取到的指令来决定其执行行为。

在解码阶段,指令被拆解为有意义的片断。

根据CPU的指令集架构(InstructionSetArchitecture,ISA)定义将数值解译为指令。

一部分指令数值为运算码(Opcode),其指示要进行哪些运算。

其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。

这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:

暂存器或存储器位址,以定址模式决定。

在旧的设计中,CPU里的指令解码部分是无法改变的硬件设备。

不过在众多抽象且复杂的CPU和指令集架构中,一个微程序时常用来帮助转换指令为各种形态的讯号。

这些微程序在已成品的CPU中往往可以重写,方便变更解码指令。

第三阶段:

执行

在提取和解码阶段之后,接着进入执行阶段。

该阶段中,连接到各种能够进行所需运算的CPU部件。

例如,要求一个加法运算,算数逻辑单元(ALU,ArithmeticLogicUnit)将会连接到一组输入和一组输出。

输入提供了要相加的数值,而输出将含有总和的结果。

ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。

如果加法运算产生一个对该CPU的处理而言过大的结果,在标志暂存器里,运算溢出(ArithmeticOverflow)标志可能会被设置。

第四阶段:

写回

以一定格式将执行阶段的结果简单的写回。

运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。

在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体中。

某些类型的指令会操作程序计数器,而不直接产生结果。

这些一般称作“跳转”(Jumps),并在程式中带来循环行为、条件性执行(透过条件跳转)和函式。

许多指令也会改变标志暂存器的状态位元。

这些标志可用来影响程式行为,缘由于它们时常显出各种运算结果。

例如,以一个“比较”指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。

这个标志可由随后的跳转指令来决定程式动向。

在执行指令并写回结果之后,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。

如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行。

许多复杂的CPU可以一次提取多个指令、解码,并且同时执行。

这个部分一般涉及“经典RISC管线”,那些实际上是在众多使用简单CPU的电子装置中快速普及(常称为微控制器Microcontroller)。

2MPU(MicroprocessorUnit,微处理器)

就物理性来说,MPU就是一块集成了数量庞大的微型晶体管与其他电子组件的半导体集成电路(IntegratedCircuit,IC)芯片。

微处理器(MPU)通常代表一个功能强大的CPU,但不是为任何已有的特定计算目的而设计的芯片。

MPU与传统的CPU相比,具有体积小、重量轻和容易模块化等优点。

2.1MPU的组成

MPU的组成部分有:

算术逻辑单元(ALU,ArithmeticLogicalUnit);累加器和通用寄存器组;程序计数器;运算器;时序和逻辑控制电路;数据和地址总线。

其中运算器和控制器是其主要组成部分。

MPU能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。

它可与存储器和外围电路芯片组成微型计算机。

常见的MPU有Motorola的68K系列和Intel的X86系列。

2.2MPU的分类

根据处理对象的不同分类:

用作处理通用数据时,叫作中央处理器(CentralProcessingUnit,CPU)这也是最为人所知的应用(如:

IntelPentiumCPU);

专用于作图像数据处理的,叫作图形处理器(GraphicsProcessingUnit,GPU)(如NvidiaGeForce6150GPU);

用于音频数据处理的,叫作音频处理器(AudioProcessingUnit,APU)(如Creativeemu10k1APU)等等。

2.3MPU的体系结构:

冯·诺伊曼结构和哈佛结构

冯·诺伊曼结构

冯·诺伊曼结构(或普林斯顿结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。

程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。

除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。

哈佛结构

哈佛结构是一种将程序指令存储器和数据存储器分开的存储器结构。

中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。

程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。

哈佛结构的微处理器通常具有较高的执行效率。

其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。

目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和AdvancedRISCMachines(安谋)公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构。

2.4MPU的典型代表:

DSP(DigitalSignalProcessor,数字信号处理器)

DSP(Digitalsignalprocessor)是一种特殊结构的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,和其它接口封装而组成的。

3MCU(MicrocontrollerUnit,微控制器/单片机)

3.1MCU的概念

MCU是将微型计算机的主要部分(包括CPU,存储器,定时/计数器(Timer/Counter),各种I/O接口)集成在一个芯片上的单芯片微型计算机,实现嵌入式应用,故也称单片机(SingleChipMicrocomputer,单片微型计算机)。

随后为了满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元,目前单片机已广泛称为微控制器(MCU)。

也有由微处理器发展的微控制器,比如Intel的386EX就是很成功的80386微处理器的微控制器版本,它与嵌入式应用的微处理器一样,也称为嵌入式微处理器。

嵌入式处理器的高端产品有:

AdvancedRISCMachines公司的ARM、SiliconGraphics公司的MIPS、IBM和Motorola的PowerPC、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SHRISC芯片。

3.2MCU的概述

绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:

一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计时器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口,所有这些都被集成在单个集成电路芯片上。

说单片机与通用型中央处理单元芯片不同,是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机,这样就可以很容易的把单片机系统植入装置内部来控制装置了。

近年来为了在指令和数据上使用不同的字宽,并提高处理器流水线速度,哈佛结构在微控制器(Microcontroller)和数字信号处理器(DigitalSignalProcessor,DSP)也逐渐得到了广泛的应用。

传统的微处理器是不允许这么做的。

它要完成单片机的工作,就必须连接一些其他芯片。

比如说,因为芯片上没有数据存储器,就必须要添加一些RAM的存储芯片,虽然所添加存储器的容量很灵活,但是至少还是要添加。

另外还需要添加很多连线来传递芯片之间的数据。

与以上的情况相比,单片机的工作则相对独立,一个典型的微控制器只需要一个时钟发生器和很少的RAM和ROM(或者EPROM,E2PROM)就可以在软件和晶振下工作了。

同时,微控制器具有丰富的输入输出设备,例如模拟数字转换器(Analog-to-DigitalConverter,ADC),定时器,串口,以及其他串行通讯接口,比如I2C,SPI(串行周边接口),CAN(控制器局域网)等。

通常,这些集成在内部的设备可以通过特殊的指令来操作。

单片机时钟频率通常较同时代的计算机芯片低,但它价格低廉,能够提供充足的程序存储器、丰富的片上接口。

某些架构的单片机生产厂商众多,例如8051系列、Z80系列。

一些现代的微控制器支持一些内建的高级编程语言,比如BASIC语言、C语言、C++等。

3.3MCU的分类

根据数据总线宽度可分为8位、16位和32位机;

根据存储器结构可分为哈佛(Harvard)结构和冯·诺伊曼(VonNeumann)结构;

根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和Flash的MCU;

根据指令结构又可分为CISC(ComplexInstructionSetComputer,复杂指令集计算机)和RISC(ReducedInstructionSetComputer,精简指令集计算机)微控制器。

3.4MCU的架构:

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系列以低功耗闻名,常用于医疗电子产品及仪器仪表中;瑞萨单片机在日本使用广泛。

(1)ARM公司:

ARM系列MCU

(2)Atmel公司:

AVR系列MCU

AtmelAT91series(ARM处理器等)

AT90series–AVR(Atmel的高性能RISC8位单片机,老产品)

ATmegaseries–AVR(Atmel的高性能RISC8位单片机,新产品)

ATXmegaseries–AVR(Atmel的高性能RISC32位单片机,新产品)

AtmelAT89series(Intel8051/MCS51架构8位单片机)

MARC4

(3)CypressMicroSystems(赛普拉斯微系统公司)

CY8C2xxxx(PSoC)

(4)FreescaleSemiconductor(飞思卡尔半导体)

8-bit:

68HC05(CPU05),68HC08(CPU08),68HC11(CPU11)。

16-bit:

68HC12(CPU12),68HC16(CPU16),FreescaleDSP56800(DSPcontroller)。

32-bit

Freescale683XX(CPU32)

MPC500

MPC860(PowerQUICC)

MPC8240/8250(PowerQUICCII)

MPC8540/8555/8560(PowerQUICCIII)

(5)Holtek(盛群半导体)

HT48FXXFlashI/Otype

HT48RXXI/Otype

HT46RXXA/Dtype

HT49RXXLCDtype

(6)Intel(英特尔)MCU

8-bit:

8XC42

MCS48

MCS51:

Intel8051系列MCU历史悠久,相容产品众多,使用广泛。

8xC251

16-bit:

MCS96系列

MXS296

32-bit:

i960

(7)Microchip(微芯公司)的PIC系列MCU

8-bit:

PIC10,PIC12,PIC16,PIC18。

16-bit:

PIC24F,PIC24H,dsPIC30,dsPIC33。

32bit:

PIC32(采用MIPSM4K核心架构)

(8)NationalSemiconductor(美国国家半导体)

COP8

CR16

(9)NEC

78K

(10)NXPSemiconductors(恩智浦半导体,由飞利浦以PhilipsSemiconductors为班底新成立)

LPC2000

LPC900

LPC700

(11)Parallax,Inc.

BASICStamp

(12)Renesas瑞萨科技系列单片机

Renesas16-bits

RenesasM16CSeries

RenesasM32CSeries

RenesasR8CSeries

RenesasM16C/TinySeries

RenesasR8C/TinySeries

RenesasH8/TinySeries

(13)STMicroelectronics(意法半导体)

STM32series(ARMCortex-M3系列,32位)

STM8series(自主RISC指令集,8位)

(14)SyncMOS新茂国际科技全系列单片机

SM59RXXA28-bits1T(RISC)

SM59DXXG28-bits6T(ISP)

SM59XX8-bits12T(ISP)

SM89XX8-bits12T(Traditional8051)

SM79XX8-bits12T(Customization)

(15)PADAUK应广科技全系列单片机(多核心单片机)

P201CS/CD8-bits

P211CS/CD8-bits

p232CS/CD8-bits

P234CS/CD8-bits

(16)ZiLOG

Z8

Z86E02

(17)STC宏晶系列MCU

STC89Cseries6T/12T增强性单片机(Intel8051架构,有外部总线)

STC11F/11Lseries2T增强性单片机(Intel8051增强架构,无外部总线程序支持)

STC12C/12LEseries2T增强性单片机(Intel8051增强架构,无外部总线程序支持)

STC15C/15LEseries2T增强性单片机(Intel8051增强架构,无外部总线程序支持,正在开发中)

(18)Kernel-IC华芯LS系列MCU

LSx051series12T双核单片机(Intel8051架构,无外部总线)

LSx151series12T三核单片机(Intel8051架构,无外部总线)

LS052Aseries6T三核单片机(Intel8051架构,无外部总线)

其他系列的单片机

Msp430系列单片机

8098、80196系列单片机

AT8P5X系列单片机

CZG8000系列单片机

3.6MCU的典型代表:

ARM

ARM(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。

ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。

由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。

目前ARM在手持设备市场占有90%以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。

4CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)

5FPGA(FieldProgrammableGateArray,现场可编程门阵列)

FPGA是英文FieldProgrammableGateArray(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(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系列等。

6DSP,ARM,FPGA的区别

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面。

DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。

FPGA可以用VHDL或VerilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。

当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1