微控制器和微处理器之间有什么区别?


Answers:


191

微处理器通常没有RAM,ROM和IO引脚。它通常使用其引脚作为总线来连接外设,例如RAM,ROM,串行端口,数字和模拟IO。因此,它可以在板级扩展。

微控制器是“一体的”,处理器,内存,IO都在一个芯片上,因此,您不能(说)增加可用的RAM数量或IO端口的数量。控制总线是内部的,电路板设计人员不可用。

这意味着,与微控制器相比,微处理器通常能够内置到更大的通用应用程序中。微控制器通常用于更专用的应用。

所有这些都是非常笼统的陈述。有一些模糊边界的芯片。


4
许多微控制器使存储器总线可用于外部代码和数据。如果不使用外部存储器,则这些引脚可能会或可能不会用于其他目的。在我看来,最主要的区别是设备是否通常能够在没有外部存储器总线的情况下至少在某种程度上有用地运行。()8051当然是有能力的,因此它显然是“微控制器”。8031与8051是同一芯片,但ROM内容未指定。缺少有用的ROM会使它成为微处理器,但是由于它与8051是同一芯片,因此可以称为微控制器。
超级猫

2
“控制总线是内部的,电路板设计人员不可用。” 不一定是真的。存在具有外部地址/数据总线的微控制器,以允许额外的存储器。
stevenvh 2011年

那么,我们可以说微控制器本质上是一台计算机,而微处理器仅仅是CPU的单芯片实现吗?
doubleOrt

@doubleOrt:可以这样说,但是边界是模糊的。如今,有相当多的芯片包括易失性数据存储器(SRAM),但没有非易失性代码存储器(Flash)。它们通常也称为MPU(微处理器)。因此,这些区别似乎主要与片上Flash有关。恩智浦销售的产品被称为“交叉”处理器,带有RAM,但没有闪存。这与将Flash集成到具有越来越小的晶体管的芯片中越来越难。电流限制似乎在28 nm左右。
sh-

29

如前所述,微控制器本质上是芯片上的系统。除了某些专用外设,所有内容都在一个封装中。与外部外围设备的接口几乎总是使用串行连接完成的。这样可以使封装尺寸较小(引脚较少),而PCB尺寸较小(用于连接封装之间的引脚较少)。

在上一届波士顿Barcamp(MIT 2009)上,我做了一个“微控制器简介”演讲。讲义的副本位于

http://www.luciani.org/not-quite-ready/doc/intro-to-uC.pdf


25

微控制器:

  • 通常是8位,但可以是4位,16位或32位
  • 以低于200 MHz的速度运行
  • 用很少的功率
  • 可能提供足够的电流来操作LED
  • 与传感器和电机接口非常有用
  • 容易更换,价格便宜($ 0.10至$ 10)
  • 确实受制于RAM和持久性存储(闪存空间)
  • 对于电子爱好者来说真的很好

微处理器:

  • 通常至少为16位,通常为32位或64位,尽管8位仍然占有很大的市场份额
  • 许多人将能够在硬件中进行浮点数学运算
  • 以几百兆赫兹的速度运行
  • 被设计为系统的大脑(需要整个系统来支持它们)
  • 需要特殊的硬件来与传感器,电机,LED等接口。
  • 价格昂贵(32位或64位$ 50-$ 250)
  • 专为外部RAM和永久存储(硬盘驱动器)设计
  • 业余爱好者不那么容易与他们合作

我发现有趣的是,乐高Mindstorms NXT套件具有用于进行思考的微处理器[32位AT91SAM7S256(ARM7TDMI)主微处理器@ 48 MHz(256 KB闪存,64 KB RAM)]和微控制器[8位ATmega48微控制器@ 4 MHz(4 KB闪存,512字节RAM)],用于与传感器和电机连接。请参阅Wikipedia上的技术规范


2
8位微处理器是占主导地位的微处理器,但它与最常见的微处理器相去甚远,我想我今年早些时候读到它们不再占市场份额的50%以上。
Kortuk

3
实际上,我想说我不同意大量的微控制器列表。他们安装在系统中的大多数廉价产品都不需要花费1美元,许多产品(取决于品牌)无法提供电流来为LED供电。也有一个很大的组,其频率突破20MHz,但总体上确实符合该规格。我认为它们对于业余爱好者也很棒。
Kortuk

我已经合并了一些修订,并将答案作为社区Wiki-帮助我正确设置!
克林顿·布莱克莫尔

3
AT91SAM7S256绝对是微控制器,也不是微处理器。
jpc 2010年

4
我开始对此进行编辑和发布,但我认为它确实不可兑换。这个问题的公认答案具有本质上的区别,即基本上是“集成内存”或“没有集成内存”。恐怕这很大程度上是概括的列表,其中许多只是明显的错误。

13

由于在极端情况之间已经出现了各种各样的设备,所以这种区分现在变得更加困难,但是如果有一个似乎有效的标识符,那就是看一下引脚排列,看看设计者是什么。用别针做的。它们主要是单个I / O吗?还是公共汽车占主导地位?

在我看来,微控制器一直以来都是一种单芯片解决方案。将一个带有一些不可避免的离散点和一些连接器的PCB放在PCB上,编写少量的软件,便有了一个系统。微控制器包含系统需要的所有存储器(易失性存储器和非易失性存储器),为此便利而付出的代价是手头上没有太多存储器。大多数引脚专用于I / O功能。

而在另一个极端,微处理器是一种野兽,它要尽可能多地卸载以支持芯片,以专用于硅以最大化CPU内核的吞吐量。这种设备上的大多数引脚是地址和数据线,它们是连接到内核所缺少的内存和I / O设备所必需的。

当设计师明确遵循一种或另一种哲学时,仍然可以称某些事物为微处理器,而另一些事物为微控制器。英特尔酷睿i7显然是处理器,而PIC和AVR显然是控制器。但是,此时,由于可以在单个芯片中放置大量逻辑,因此您可以轻松地将整个1990年的微处理器系统嵌入单个芯片中。您如何将一个带有一个中断控制器,一个SDRAM控制器,以太网支持以及许多其他外设的全部 400MHz PPC604 集成在一个芯片上


>什么叫400MHz PPC604,它具有一个中断控制器,一个SDRAM控制器,以太网支持以及许多其他外设,都在一个芯片上?=>我将其称为“胖微处理器”。没有ROM和RAM,因此绝对不是微控制器。
Wouter van Ooijen 2011年

2
@Wouter van Ooijen-我想我应该提到,我将其称为“片上系统”。
JustJeff 2011年


5

主要是营销。

还有其他一些奇怪的名词;ADI公司拥有(或拥有)他们所谓的“微转换器”,就像内置微处理器的ADC / DAC一样。TI现在正在称呼他们的一些DSP(C2000系列)数字信号控制器。

否则,JohnC所说的话。


在哪里可以找到有关这些“微转换器”的更多信息?我找到的最接近的是TAS3202。
endolith

他们可能已经不再打电话给他们了。Analog.com/en/analog-microcontrollers/analog-microcontrollers/…ADI的微处理器从未给我留下深刻的印象,它们的模拟性能很好,DSP的性能也不错,但是我没有经验。
杰森S

最大采样率为8 kHz,因此对音频无用。:/
endolith

2
我不同意这主要是市场营销。我同意JohnC的回答。
Daniel Grillo 2010年

5

我建议微控制器是一种包含足够的内部存储器和电路的设备,至少在某些变体中,它可以在没有外部存储器的情况下执行某些有用的功能。按照这样的定义,8051将具有足够的电路来单独使用,而8031则不会。但是8031只是一个8051,其中未指定内部ROM的内容(虽然完全有可能某些“无ROM”的8031芯片和变体使ROM空间脱离了裸片,但我希望还有其他一些东西,为了使芯片布局与包括ROM的版本保持一致,请使用无用的空白ROM阵列)。


4

只需添加以上所有出色的书面答案,类比:微处理器就是大脑。而微控制器是整个机身。

大脑能够执行所有指令,但是我们需要在外部连接眼睛,手(即外围设备)。

而身体有大脑和其他外围设备,即微控制器:)


3

该行有些模糊,但通常如下所示:

  • 微处理器包含处理器核心(获取/解码单元,ALU,寄存器等),可能还包含几个其他基本块,但通常不多。

  • 微控制器添加RAM(SRAM),通常添加一些ROM(可以是mask rom或Flash / EEPROM)用于代码存储(但也可以是无ROM),以及一组基本外围设备(SPI / I2C,UART,GPIO,甚至USB或USB)。以太网等)。有时将其称为片上系统(SoC),有时甚至将SoC集成在一起。一些日本公司也喜欢“ 微型计算机 ”一词。

    但是,正如我提到的,线条变得模糊。例如,最近的Intel / AMD处理器在芯片上添加了一个内存控制器(以前是在芯片组中)。

    顺便说一句,我实际上将8086称为微处理器(英特尔的微控制器包括8051或80186)。


2

微控制器和微处理器之间的区别

  1. 微处理器= cpu; 微控制器= CPU +外设+内存外设=端口+时钟+计时器+ uarts + ADC转换器+ LCD驱动器+ DAC +其他东西; 内存= eeprom + sram + eprom +闪存

  2. 在微处理器中,更多的操作码,少量的位处理指令。但是在单片机中:更少的操作码,更多的位处理指令。

  3. 微处理器也可能不被编程为处理实时任务,而诸如在需要控制水温或可能测量房间温度的设备中的微控制器需要实时监控,因此,通过其内置的指令集,微控制器可以工作在其自己的。


3
对于有这么多答案的问题,这些信息有些随机,而且措辞也不是很好。举个例子:谁说微控制器必须具有ADC,DAC和LCD驱动器?许多人都有它们,但这不是规则。位处理和实时操作相同。
clabacchio

@neelamSingh,欢迎您访问该网站,您的帖子格式不好,似乎已经中断了,它可能需要一些工作!
Kortuk

2
您的第三点无效。实时能力由操作系统决定,而不是处理器类型。没有理由不能在微处理器上运行RTOS。而且,微控制器也不一定具有更多的位处理指令。
stevenvh 2012年

1

微处理器是单个芯片上的简单中央处理器(CPU)(记住单词“ Single Chip”)。它包括算术逻辑单元(ALU),控制单元(CU),寄存器,指令解码器,总线控制电路等,但所有内容都应在单个芯片上。

微控制器:微控制器是微处理器与外围I / O设备,支持电路和存储器(数据和程序)的结合。不必在单个芯片上(请记住这一点,而不是在单个芯片上)。

  1. 微处理器是微处理器的组成部分。
  2. 微控制器是一台完整的计算机,与任何其他计算机相似。


0

长话短说:
MicroProcessor-做“思考”,基本上是处理数学的芯片。
微控制器 -包括微处理器的系统,能够轻松与电子组件接口以开发嵌入式系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.