Respuestas:
Un microprocesador generalmente no tiene pines RAM, ROM e IO. Por lo general, utiliza sus pines como un bus para conectarse a periféricos como RAM, ROM, puertos serie, E / S digitales y analógicas. Es expandible a nivel del tablero debido a esto.
Un microcontrolador es 'todo en uno', el procesador, el ram, IO, todo en un chip, por lo que no puede (por ejemplo) aumentar la cantidad de RAM disponible o la cantidad de puertos IO. El bus de control es interno y no está disponible para el diseñador de la placa.
Esto significa que un microprocesador generalmente puede integrarse en aplicaciones de uso general más grandes que un microcontrolador. El microcontrolador se usa generalmente para aplicaciones más dedicadas.
Todas estas son declaraciones muy generales. Hay chips disponibles que difuminan los límites.
Como se mencionó, los microcontroladores son esencialmente sistemas en un chip. A excepción de algunos periféricos especializados, todo está en un paquete. La interfaz con periféricos externos casi siempre se realiza mediante conexiones en serie. Esto mantiene los tamaños de paquete pequeños (menos pines) y el tamaño de PCB pequeño (menos pines para conectar entre paquetes).
En el último Boston Barcamp (MIT 2009) hice una charla de "Introducción a los microcontroladores". Una copia del folleto está en
Microcontroladores:
Microprocesadores:
Me parece interesante que el set LEGO Mindstorms NXT tenga un microprocesador [microprocesador principal AT91SAM7S256 (ARM7TDMI) de 32 bits @ 48 MHz (memoria flash de 256 KB, 64 KB de RAM)] para pensar, y un microcontrolador [ATmega48 de 8 bits microcontrolador a 4 MHz (memoria flash de 4 KB, 512 bytes de RAM)] para interactuar con los sensores y motores. Ver especificaciones técnicas en Wikipedia .
Esta distinción es mucho más difícil de hacer en estos días, ya que ha surgido un espectro completo de dispositivos entre los extremos, pero si hay un identificador que parece funcionar, es mirar el pin-out y ver lo que los diseñadores Lo hice con los alfileres . ¿Son principalmente E / S individuales? ¿O dominan los autobuses?
En mi opinión, un microcontrolador ha sido tradicionalmente algo que funciona como una solución de 1 chip; coloque uno en una PCB con algunos discretos inevitables y algunos conectores, escriba una pequeña cantidad de software y tendrá un sistema. El microcontrolador contiene toda la memoria, volátil y no, que el sistema necesita, el precio pagado por esta conveniencia es que no habría mucho a mano. La mayoría de los pines están dedicados a las funciones de E / S.
Mientras que, en el otro extremo, el microprocesador es el tipo de bestia para descargar tanto como sea posible para soportar chips, con el fin de dedicar el silicio a maximizar el rendimiento del núcleo de la CPU. La mayoría de los pines en este tipo de dispositivo son líneas de dirección y datos, necesarias para conectarse a la memoria y dispositivos de E / S que el núcleo carece.
Todavía es posible llamar a algunas cosas microprocesadores, y otras cosas a microcontroladores, cuando los diseñadores se adhirieron claramente a una filosofía u otra. Un Intel Core i7 es claramente un procesador, los PIC y los AVR son claramente controladores. Sin embargo, en este momento, con la cantidad de lógica que se puede poner en un solo chip, puede integrar fácilmente todo un sistema de microprocesador de 1990 en un solo chip. ¿Cómo se llama un PPC604 de 400MHz con un controlador de interrupción, un controlador SDRAM, soporte de ethernet y una gran cantidad de otros periféricos, todo en un solo chip ?
Principalmente marketing.
Hay otros términos extraños; Analog Devices tiene (o tenía) algo que llamaron "microconvertidores", que eran como ADC / DAC con un microprocesador incorporado. TI ahora está llamando a algunos de sus controladores digitales de señal DSP (la serie C2000).
De lo contrario, lo que dijo JohnC.
Sugeriría que un microcontrolador es un dispositivo que contiene suficiente memoria interna y circuitos que, al menos en algunas variantes, podría realizar alguna función útil sin memoria externa. Según tal definición, el 8051 tendría suficientes circuitos para ser útil por sí mismo y el 8031 no lo haría; el 8031, sin embargo, es simplemente un 8051 en el que los contenidos de la ROM interna no están especificados (aunque es completamente posible que algunos chips y variantes 8031 "sin ROM" dejen el espacio de ROM fuera del dado, esperaría que haya otros que, para mantener la coherencia del diseño del troquel con versiones que incluyen ROM, incluya una matriz de ROM en blanco inútil).
Solo para agregar todas las respuestas excelentemente escritas arriba, Analogía: El microprocesador es un cerebro. mientras que el microcontrolador es todo el cuerpo.
Brain es capaz de ejecutar todas las instrucciones, pero necesitamos unir los ojos, las manos (es decir, los periféricos) externamente.
Mientras que el cuerpo tiene cerebro y otros periféricos, es decir, microcontrolador :)
La línea es algo borrosa, pero generalmente es así:
Los microprocesadores contienen el núcleo del procesador (unidad de captación / decodificación, ALU, registros, etc.) y quizás un par de bloques más básicos, pero generalmente no mucho más.
los microcontroladores agregan RAM (SRAM), generalmente algo de ROM (puede ser rom de máscara o Flash / EEPROM) para el almacenamiento de código (pero también pueden ser sin ROM) y un conjunto de periféricos básicos (SPI / I2C, UART, GPIO, tal vez incluso USB o Ethernet y así sucesivamente). A veces esto se llama System-on-Chip (SoC), o a veces SoC es algo aún más integrado. Algunas empresas japonesas también adoran el término " microordenador ".
Sin embargo, como mencioné, la línea se vuelve borrosa. Por ejemplo, los procesadores Intel / AMD recientes agregan un controlador de memoria en el chip (anteriormente estaba en el conjunto de chips).
Por cierto, en realidad llamaría al 8086 un microprocesador (los microcontroladores de Intel incluyen, por ejemplo, 8051 u 80186).
Microprocesador = CPU; Microcontrolador = cpu + periféricos + memoria Periféricos = puertos + reloj + temporizadores + uarts + convertidores adc + controladores lcd + dac + otras cosas; Memoria = eeprom + sram + eprom + flash
En el microprocesador hay más códigos de operación, pocas instrucciones de manejo de bits. Pero en Microcontrolador: menos códigos de operación, más instrucciones de manejo de bits.
Un microprocesador también puede no estar programado para manejar tareas en tiempo real, mientras que un microcontrolador, como en dispositivos que necesitan controlar la temperatura del agua o tal vez medir la temperatura de una habitación, requiere monitoreo en tiempo real y, por lo tanto, con su conjunto de instrucciones incorporado, el microcontrolador funciona por sí mismo.
El microprocesador es una unidad de procesamiento central (CPU) simple en un solo chip (recuerde la palabra 'Single Chip'). Incluye unidad de lógica aritmética (ALU), unidad de control (CU), registros, decodificadores de instrucciones, circuito de control de bus, etc. pero todo debe estar en un solo chip.
Microcontrolador: Un microcontrolador es la asociación del microprocesador y los dispositivos periféricos de E / S, los circuitos de soporte y la memoria (tanto de datos como de programa). No es necesario estar en un solo chip (recuerde este punto, no en un solo chip).
Todas las respuestas son correctas, ya que esta diferencia más de bloques que tienen en mC y mP, ver la tabla a continuación,
Respuesta larga corta:
Microprocesador : el "pensamiento" es básicamente un chip que maneja las matemáticas.
Microcontrolador : un sistema con un microprocesador incluido, fácilmente capaz de interactuar con componentes electrónicos para desarrollar sistemas integrados.