Answers:
微处理器通常没有RAM,ROM和IO引脚。它通常使用其引脚作为总线来连接外设,例如RAM,ROM,串行端口,数字和模拟IO。因此,它可以在板级扩展。
微控制器是“一体的”,处理器,内存,IO都在一个芯片上,因此,您不能(说)增加可用的RAM数量或IO端口的数量。控制总线是内部的,电路板设计人员不可用。
这意味着,与微控制器相比,微处理器通常能够内置到更大的通用应用程序中。微控制器通常用于更专用的应用。
所有这些都是非常笼统的陈述。有一些模糊边界的芯片。
如前所述,微控制器本质上是芯片上的系统。除了某些专用外设,所有内容都在一个封装中。与外部外围设备的接口几乎总是使用串行连接完成的。这样可以使封装尺寸较小(引脚较少),而PCB尺寸较小(用于连接封装之间的引脚较少)。
在上一届波士顿Barcamp(MIT 2009)上,我做了一个“微控制器简介”演讲。讲义的副本位于
微控制器:
微处理器:
我发现有趣的是,乐高Mindstorms NXT套件具有用于进行思考的微处理器[32位AT91SAM7S256(ARM7TDMI)主微处理器@ 48 MHz(256 KB闪存,64 KB RAM)]和微控制器[8位ATmega48微控制器@ 4 MHz(4 KB闪存,512字节RAM)],用于与传感器和电机连接。请参阅Wikipedia上的技术规范。
由于在极端情况之间已经出现了各种各样的设备,所以这种区分现在变得更加困难,但是如果有一个似乎有效的标识符,那就是看一下引脚排列,看看设计者是什么。用别针做的。它们主要是单个I / O吗?还是公共汽车占主导地位?
在我看来,微控制器一直以来都是一种单芯片解决方案。将一个带有一些不可避免的离散点和一些连接器的PCB放在PCB上,编写少量的软件,便有了一个系统。微控制器包含系统需要的所有存储器(易失性存储器和非易失性存储器),为此便利而付出的代价是手头上没有太多存储器。大多数引脚专用于I / O功能。
而在另一个极端,微处理器是一种野兽,它要尽可能多地卸载以支持芯片,以专用于硅以最大化CPU内核的吞吐量。这种设备上的大多数引脚是地址和数据线,它们是连接到内核所缺少的内存和I / O设备所必需的。
当设计师明确遵循一种或另一种哲学时,仍然可以称某些事物为微处理器,而另一些事物为微控制器。英特尔酷睿i7显然是处理器,而PIC和AVR显然是控制器。但是,此时,由于可以在单个芯片中放置大量逻辑,因此您可以轻松地将整个1990年的微处理器系统嵌入单个芯片中。您如何将一个带有一个中断控制器,一个SDRAM控制器,以太网支持以及许多其他外设的全部 400MHz PPC604 集成在一个芯片上?
主要是营销。
还有其他一些奇怪的名词;ADI公司拥有(或拥有)他们所谓的“微转换器”,就像内置微处理器的ADC / DAC一样。TI现在正在称呼他们的一些DSP(C2000系列)数字信号控制器。
否则,JohnC所说的话。
该行有些模糊,但通常如下所示:
微处理器包含处理器核心(获取/解码单元,ALU,寄存器等),可能还包含几个其他基本块,但通常不多。
微控制器添加RAM(SRAM),通常添加一些ROM(可以是mask rom或Flash / EEPROM)用于代码存储(但也可以是无ROM),以及一组基本外围设备(SPI / I2C,UART,GPIO,甚至USB或USB)。以太网等)。有时将其称为片上系统(SoC),有时甚至将SoC集成在一起。一些日本公司也喜欢“ 微型计算机 ”一词。
但是,正如我提到的,线条变得模糊。例如,最近的Intel / AMD处理器在芯片上添加了一个内存控制器(以前是在芯片组中)。
顺便说一句,我实际上将8086称为微处理器(英特尔的微控制器包括8051或80186)。
微处理器= cpu; 微控制器= CPU +外设+内存外设=端口+时钟+计时器+ uarts + ADC转换器+ LCD驱动器+ DAC +其他东西; 内存= eeprom + sram + eprom +闪存
在微处理器中,更多的操作码,少量的位处理指令。但是在单片机中:更少的操作码,更多的位处理指令。
微处理器也可能不被编程为处理实时任务,而诸如在需要控制水温或可能测量房间温度的设备中的微控制器需要实时监控,因此,通过其内置的指令集,微控制器可以工作在其自己的。