202
\ \ begingroup \美元

微控制器和微处理器的区别是什么?

\$\endgroup\$
3.
  • 3.
    \ \ begingroup \美元 也看到这文章爱特梅尔公司。 \$\endgroup\$微软Linux TM 1月2日15日20:36
  • \ \ begingroup \美元 主要价格:-) \$\endgroup\$Hilmar 2018年2月9日14:02
  • 1.
    \ \ begingroup \美元 @Hilmar,你“主要是价格”——错了。 \$\endgroup\$cp.engr 2018年5月16日19:41

13个答案13

205
\ \ begingroup \美元

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

一个微控制器是“全部在一个芯片上”,处理器,ram, IO都在一个芯片上,因此你不能(说)增加可用ram的数量或IO端口的数量。控制总线是内部的,对板设计者来说是不可用的。

这意味着微处理器通常比微控制器能够被构建到更大的通用应用程序中。微控制器通常用于更专用的应用。

所有这些都是非常笼统的陈述。有些芯片可以模糊这种界限。

\$\endgroup\$
4.
  • 5.
    \ \ begingroup \美元 许多微控制器为外部代码和数据提供内存总线;如果外部内存没有被使用,那些引脚可能或可能不能用于其他目的。在我看来,定义的区别在于设备是否会()能够在没有外部内存总线的情况下运行。()8051当然是有能力的,所以它显然是“微控制器”。8031与8051是同一个芯片,但ROM内容未指定。缺少有用的ROM会使它成为微处理器,但由于它与8051是同一个芯片,因此可以称为微控制器。 \$\endgroup\$supercat 三月二十一日17:31分
  • 2.
    \ \ begingroup \美元 “控制总线是内部的,对板设计者来说是不可用的。”这并不一定是真的。有微控制器与外部地址/数据,以允许额外的内存。 \$\endgroup\$stevenvh 2011年6月8日16:07
  • \ \ begingroup \美元 那么,我们可以说微控制器本质上是一台计算机,而微处理器仅仅是CPU的单芯片实现吗? \$\endgroup\$doubleOrt 2018年11月19日19:37
  • \ \ begingroup \美元 @doubleOrt:你可以这么说,但界限是模糊的。现在,有相当多的芯片包括易失性数据存储器(SRAM),但没有非易失性代码存储器(Flash)。它们通常也被称为MPU(微处理器)。因此,这种区别似乎主要与目前的片上Flash有关。恩智浦销售一种他们称之为“交叉”处理器的内存,但没有Flash。这与将Flash与更小的晶体管集成到芯片中的难度增加有关。电流极限似乎在28纳米左右。 \$\endgroup\$嘘- 19年4月11日14:24
31
\ \ begingroup \美元

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

在上次的波士顿Barcamp(麻省理工学院2009年)上,我做了一个“微控制器介绍”的演讲。讲义的副本在

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

\$\endgroup\$
0
    27
    \ \ begingroup \美元

    微控制器:

    • 通常是8位,但也可能是4位、16位或32位
    • 以低于200mhz的速度运行
    • 耗电少
    • 可以提供足够的电流来操作LED
    • 用于与传感器和电机连接
    • 易于替换,价格便宜(0.10美元到10美元)
    • 对RAM和持久存储(闪存空间)的限制
    • 对电子爱好者来说真的很好吗

    微处理器:

    • 通常至少是16位,通常是32位或64位,尽管8位仍然有很大的市场份额
    • 许多人将能够在硬件上进行浮点运算
    • 以数百MHz的速度运行
    • 被设计成一个系统的大脑(并且需要一个完整的系统来支持它们)
    • 需要特殊的硬件与传感器,电机,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)]用于与传感器和电机接口。请参阅维基百科上的技术规范

    \$\endgroup\$
    6.
    • 2.
      \ \ begingroup \美元 8位是占主导地位的微处理器,但它远不是最常见的,我想我今年早些时候读到的,它们不再占据超过50%的市场份额。 \$\endgroup\$Kortuk 2009年12月18日1:39
    • 3.
      \ \ begingroup \美元 其实,我想说的是,我不同意大量的微控制器列表。他们在系统中安装的大多数廉价电池不需要一美元,许多,取决于品牌,不能提供电流来驱动LED。也有一个非常大的组打破20MHz,但一般都满足这个规格。我认为他们也伟大的业余爱好者。 \$\endgroup\$Kortuk 2009年12月18日2:34
    • \ \ begingroup \美元 我已经做了一些修改,并把我的答案放到了社区wiki上——请帮助我改正! \$\endgroup\$克林顿布莱克摩尔 09年12月18日15:49
    • 4.
      \ \ begingroup \美元 AT91SAM7S256绝对是一个微控制器,也不是微处理器。 \$\endgroup\$少年警讯 5月1日10点11分22分
    • 4.
      \ \ begingroup \美元 我开始编辑,张贴,但我不认为它真的是可挽回的。对于这个问题公认的答案具有本质的区别,基本上是“集成记忆”或“不集成记忆”。恐怕这大部分都是概括,其中有一些是完全错误的。 \$\endgroup\$user1844 11月23日10日18:32
    15
    \ \ begingroup \美元

    现在很难区分这两个极端,因为在这两个极端之间出现了各种各样的设备,但如果有一个标识符似乎是可行的,那就是pin-out看看设计师们是怎么用大头针的.它们大多是独立的I/O吗?还是公交车占主导地位?

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

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

    当设计者明确地坚持一种或另一种理念时,仍有可能称一些东西为微处理器,而另一些东西为微控制器。英特尔酷睿i7显然是一个处理器,pic和avr显然是控制器。然而,在这个时候,有了可以放入单个芯片的逻辑量,你可以很容易地嵌入整个1990年的微处理器系统变成了一个芯片。一个400MHz的PPC604有一个中断控制器,一个SDRAM控制器,以太网支持,和许多其他外围设备,全在一个芯片上?

    \$\endgroup\$
    3.
    • \ \ begingroup \美元 >一个400MHz的PPC604带有一个中断控制器,一个SDRAM控制器,以太网支持,和许多其他外围设备,都在一个芯片上,你叫它什么?我要叫它“胖微处理器”。没有ROM和RAM,所以绝对不是微控制器。 \$\endgroup\$沃特·范奥金 11年8月27日8:16
    • 2.
      \ \ begingroup \美元 @Wouter van Ooijen——我想我应该提一下,我将其称为“芯片上的系统”。 \$\endgroup\$JustJeff 2011年8月27日12:01
    • \ \ begingroup \美元 µ处理器借用集成技术来减少尺寸、集成成本和功耗。µ控制器因硅的成本效率和对更智能设备的需求而获得处理能力。如果我们基于意图而不是架构或计算能力进行区分,那么答案经得起时间的考验。在“微型”计算机时代到来后的50年里,我们现在拥有比运行全球银行系统的大型机更具处理能力和RAM的灯泡。然而,飞利浦色调不会用于银行业。 \$\endgroup\$科林 3月18日10:27
    6.
    \ \ begingroup \美元

    我认为微控制器是一种包含足够的内部存储器和电路的设备,至少在某些变体中,它可以在没有外部存储器的情况下执行一些有用的功能。根据这样的定义,8051将有足够的电路本身有用,而8031不会;然而,8031只是一个8051,其中内部ROM的内容未指定(虽然完全可能有一些“无ROM”8031芯片和变体将ROM空间留在芯片上,但我希望还有一些其他芯片,为了芯片布局与包含ROM的版本的一致性,包括无用的空白ROM阵列)。

    \$\endgroup\$
    0
      5.
      \ \ begingroup \美元

      主要是营销。

      还有其他一些奇怪的术语;模拟设备有(或有)他们称之为“微转换器”的东西,类似于内置微处理器的ADC/DAC。TI现在正在调用他们的一些DSP(C2000系列)数字信号控制器。

      否则约翰会说什么。

      \$\endgroup\$
      4.
      • \ \ begingroup \美元 我在哪里可以找到更多关于这些“微转换器”的信息?我找到的最接近的东西是TAS3202。 \$\endgroup\$endolith 09年12月18日2点59分
      • \ \ begingroup \美元 他们可能已经不再这么叫他们了。analog.com/en/模拟微控制器/模拟微控制器/…我从未对ADI的微处理器印象深刻,它们的模拟功能很好,它们的dsp也应该很好,但我没有使用它们的经验。 \$\endgroup\$杰森年代 09年12月18日4点45分
      • \ \ begingroup \美元 最大采样率为8 kHz,因此不适用于音频:/ \$\endgroup\$endolith 09年12月19日22:16
      • 2.
        \ \ begingroup \美元 我不同意主要是营销。我同意约翰的答案。 \$\endgroup\$丹尼尔里 7月10日13:23分
      5.
      \ \ begingroup \美元

      微控制器和微处理器

      在这里输入图像描述

      \$\endgroup\$
      1.
      • 3.
        \ \ begingroup \美元 这张图表的大部分内容完全是一派胡言。 \$\endgroup\$男性Elliot艾德森 19年11月15日20:12
      4.
      \ \ begingroup \美元

      以上都是精彩的回答,打个比方:微处理器就是大脑。微控制器为whole Body。

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

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

      \$\endgroup\$
      1.
      • \ \ begingroup \美元 很抱歉,8年后我又碰上了这个问题,但我觉得这个类比有点不够。微控制器通常也仅用作大脑,例如,当必须将外部传感器/执行器连接到它时。类似于实际的处理器。传感器的连接方式可能有所不同(比如PCIe与I2C),但即使是这条线也会被现代SOC(仍常被称为微处理器)弄得模糊不清。微控制器很少在整个身体中使用。主要的区别仍然是处理器核心的复杂性/对外部RAM的需求。然而,我更喜欢这个比喻——软件成为灵魂:) \$\endgroup\$太空猫理查德 6月3日20日17:35
      3.
      \ \ begingroup \美元

      这条线有点模糊,但一般是这样的:

      • 微处理器包含处理器核心(取/解码单元,ALU,寄存器等)和一些更多的基本块,但通常不会更多。

      • 微控制器添加RAM(SRAM),通常一些ROM(可以是掩模ROM或Flash/EEPROM)用于代码存储(也可以是无ROM的),以及一组基本外围设备(SPI/I2C、UART、GPIOs,甚至可能是USB或以太网等)。有时这被称为片上系统(SoC),有时SoC甚至更为集成。一些日本公司也喜欢这个词微机".

        然而,正如我提到的,界限变得模糊了。例如,最近的英特尔/AMD处理器在芯片上添加了内存控制器(以前是在芯片组中)。

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

      \$\endgroup\$
        2.
        \ \ begingroup \美元

        微控制器与微处理器的区别

        1. 微处理器= cpu;微控制器= cpu +外设+内存外设=端口+时钟+定时器+ uarts + adc转换器+lcd驱动器+ dac +其他东西;内存= eeprom + sram + eprom + flash

        2. 在微处理器中更多的操作代码,很少的位处理指令。但在微控制器中:更少的操作代码,更多的位处理指令。

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

        \$\endgroup\$
        3.
        • 3.
          \ \ begingroup \美元 对于一个有这么多答案的问题,这些信息有点随机,也不是很明确。举个例子:谁说一个微控制器必须有ADC, DAC和LCD驱动?很多人都有,但这不是规则。比特处理和实时操作也是如此。 \$\endgroup\$clabacchio 2012年2月16日7:13
        • \ \ begingroup \美元 @neelamSingh,欢迎来到这个网站,你的帖子格式不太好,似乎中途被打断了,它需要一些工作! \$\endgroup\$Kortuk 2012年2月16日7:14
        • 2.
          \ \ begingroup \美元 你的第三点是错误的。实时能力取决于操作系统,而不是处理器类型。没有理由不让实时操作系统在微处理器上运行。微控制器也不一定有更多的位处理指令。 \$\endgroup\$stevenvh 12月21日16:14
        2.
        \ \ begingroup \美元

        所有答案都是正确的,因为mC和mP中有更多块的差异,见下表,

        在这里输入图像描述

        \$\endgroup\$
          1.
          \ \ begingroup \美元

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

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

          1. 微处理器是微型计算机的一个组成部分。
          2. 微控制器是一种类似于任何其他计算机的完整计算机。
          \$\endgroup\$
            -1
            \ \ begingroup \美元

            长答案短:
            微处理器-做“思考”,基本上是芯片本身处理数学。
            微控制器-包含微处理器的系统,易于与开发嵌入式系统的电子元件连接。(arduino, PI, PSOC4等。

            \$\endgroup\$
            1.
            • 2.
              \ \ begingroup \美元 这是对这个问题最糟糕的回答之一。称微处理器为“计算芯片”,就像称汽车为“有座位的装置”一样。两者都“很容易实现接口”,否则它们将没有实际价值。 \$\endgroup\$男性Elliot艾德森 19年11月15日20:15

            不是你想要的答案?浏览已标记的其他问题问你自己的问题