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

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

答案


微处理器通常没有RAM,ROM和IO引脚。它通常使用其引脚作为总线来连接外设,如RAM,ROM,串行端口,数字和模拟IO。由于这个原因,它在董事会层面上是可扩展的。

微控制器是“全在一起”的,处理器,RAM,IO都在一个芯片上,因此你不能(比如说)增加可用RAM的数量或者IO端口的数量。控制总线是内部的,并且不能供电路板设计人员使用。

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

所有这些都是非常一般的陈述。有芯片可以模糊边界。


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

在最后一次Boston Barcamp(MIT 2009)上,我做了一个“微控制器简介”的演讲。讲义的副本在

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


微控制器:

  • 通常是8位,但可能是4,16或32位
  • 运行速度低于200 MHz
  • 使用很少的权力
  • 可以提供足够的电流来操作LED
  • 对于与传感器和电机的接口非常有用
  • 很容易被取代,价格便宜(0.10美元到10美元)
  • 真正受限于RAM和持久存储(闪存空间)
  • 对于电子爱好者来说真的很不错

微处理器:

  • 通常至少是16位,通常是32位或64位,尽管8位仍然占有很大的市场份额
  • 很多人都可以在硬件上做浮点数学
  • 以数百MHz的速度运行
  • 被设计成系统的大脑(并且需要整个系统来支持它们)
  • 需要特殊的硬件来连接传感器,电机,LED等。
  • 是昂贵的(32或64位认为是50美元到250美元)
  • 专为外部RAM和永久存储(硬盘驱动器)
  • 并不像业余爱好者那样容易工作

我觉得有趣的是,乐高头脑风暴NXT机组有一个微处理器[32位AT91SAM7S256(ARM7TDMI)主微处理器@ 48 MHz(256 KB闪存,64 KB RAM)],以及一个微控制器[8位ATmega48微控制器@ 4 MHz(4 KB闪存,512字节RAM)],用于连接传感器和电机。参见维基百科的技术规范


这种区别是最难做出的,因为各种设备在极端情况下都出现了,但如果有一个似乎能够工作的标识符,那就是查看引脚,看看设计师做了针脚。他们大多是单个I / O?或者巴士是主宰?

在我看来,微控制器一直以来都是单芯片解决方案; 把一个PCB放在一个有几个不可避免的分立元件的PCB上,一些连接器,写少量软件,然后你就有了一个系统。微控制器包含了系统需要的所有内存,而不是易失性的,为便利而付出的代价是手头上没有太多的内存。大多数引脚专用于I / O功能。

另一方面,微处理器则是为了支持芯片而尽可能减轻负载的那种野兽,以便专用芯片来最大化CPU内核的吞吐量。这类设备上的大多数引脚都是地址和数据线,这是连接内核和I / O设备所必需的,这是内核所缺乏的。

当设计师明确地遵循一种哲学或另一种哲学时,仍然可以调用微处理器和其他微控制器的东西。Intel Core i7显然是一款处理器,PIC和AVR显然是控制器。然而,在这个时间点上,由于可以将多个逻辑放在一个芯片中,因此您可以轻松地将整个1990年微处理器系统嵌入到单个芯片中。在一个芯片上,你称之为带有中断控制器,SDRAM控制器,以太网支持和其他外设的400MHz PPC604是什么?


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


我建议微控制器是一个包含足够内部存储器和电路的器件,至少在某些变体中,它可以在没有外部存储器的情况下执行一些有用的功能。通过这样的定义,8051将有足够的电路本身有用,而8031不会; 然而,8031仅仅是一个8051,其中内部ROM的内容是未指定的(尽管一些“无ROM”8031芯片和变体完全有可能使ROM空间离开芯片,但我预计还会有其他一些芯片,为了与包括ROM的版本一致的裸片布局,包括无用的空白ROM阵列)。


微控制器与微处理器


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

  1. 微处理器= cpu; 微控制器= cpu +外设+内存外设=端口+时钟+定时器+飞镖+ adc转换器+液晶显示器驱动器+ dac +其他东西; 内存= eeprom + sram + eprom + flash
  2. 在微处理器更多的操作码,少量处理指令。但是在微控制器中:更少的操作码,更多的位处理指令。
  3. 微处理器也可能不能被编程来处理实时任务,而诸如在需要控制水的温度或者可能测量房间的温度的设备中的微控制器需要实时监控并且因此微控制器工作的其内置指令集在其自己的。

添加评论

友情链接:蝴蝶教程