¿Cuál es la diferencia entre un microcontrolador y un microprocesador?
Un microprocesador generalmente no tiene pines RAM, ROM y IO. Por lo general, utiliza sus pines como bus para conectarse a periféricos como RAM, ROM, puertos serie, E/S digitales y analógicas. Es ampliable a nivel de tablero debido a esto.
Un microcontrolador es 'todo en uno', el procesador, ram, IO, todo en un solo chip, como tal, no puede (digamos) 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, por lo general, un microprocesador es capaz de integrarse en aplicaciones de propósito general más grandes que un microcontrolador. El microcontrolador generalmente se usa para aplicaciones más dedicadas.
Todas estas son declaraciones muy generales. Hay fichas disponibles que desdibujan los límites.
Como se mencionó, los microcontroladores son esencialmente sistemas en un chip. Excepto por algunos periféricos especializados, todo está en un solo paquete. La interfaz con los 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 Barcamp de Boston (MIT 2009) di una charla de "Introducción a los Microcontroladores". Una copia del folleto está en
http://www.lucianifamily.org/not-quite-ready/doc/intro-to-uC.pdf
Microcontroladores:
Microprocesadores:
Me parece interesante que el conjunto LEGO Mindstorms NXT tenga un microprocesador [microprocesador principal AT91SAM7S256 (ARM7TDMI) de 32 bits a 48 MHz (memoria flash de 256 KB, RAM de 64 KB)] para pensar, y un microcontrolador [ATmega48 de 8 bits microcontrolador a 4 MHz (memoria flash de 4 KB, RAM de 512 bytes)] 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 todo un espectro 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 hizo con los alfileres . ¿Son en su mayoría E/S individuales? ¿O dominan los autobuses?
Desde mi punto de vista, un microcontrolador ha sido tradicionalmente algo que funciona como una solución de 1 chip; coloque uno en una PCB con algunos elementos 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, siendo el precio pagado por esta conveniencia que no habría mucha disponible. La mayoría de los pines están dedicados a funciones de E/S.
Mientras que, en el otro extremo, el microprocesador es el tipo de bestia que descarga tanto como sea posible para admitir chips, con el fin de dedicar 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 de los que carece el núcleo.
Todavía es posible llamar a algunas cosas microprocesadores y a otras 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. En este momento, sin embargo, con la cantidad de lógica que se puede poner en un solo chip, puede integrar fácilmente un sistema completo de microprocesador de 1990 en un solo chip. ¿Cómo se llama un PPC604 de 400 MHz con un controlador de interrupción, un controlador SDRAM, compatibilidad con Ethernet y una gran cantidad de otros periféricos, todo en un solo chip ?
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; el 8031, sin embargo, es simplemente un 8051 en el que los contenidos de la ROM interna no están especificados (si bien es muy posible que algunos chips y variantes 8031 "sin ROM" dejen el espacio de la ROM fuera del dado, esperaría que haya algunos otros que, para mantener la consistencia del diseño del troquel con las versiones que incluyen ROM, incluya una matriz de ROM en blanco inútil).
Sobre todo marketing.
Hay algunos otros términos raros; Analog Devices tiene (o tenía) algo que llamaron "microconvertidores", que eran como ADC/DAC con un microprocesador incorporado. TI ahora llama a algunos de sus DSP (la serie C2000) controladores de señal digital.
De lo contrario, lo que dijo JohnC.
Solo para agregar todas las respuestas excelentemente escritas anteriores, Analogía: el microprocesador es un cerebro. mientras que el microcontrolador es todo el cuerpo.
El cerebro es capaz de ejecutar todas las instrucciones, pero necesitamos conectar 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 búsqueda/descodificación, ALU, registros, etc.) y tal vez un par de bloques básicos más, pero normalmente no mucho más.
Los microcontroladores agregan RAM (SRAM), generalmente algo de ROM (puede ser una ROM de máscara o Flash/EEPROM) para el almacenamiento de código (pero también puede ser sin ROM) y un conjunto de periféricos básicos (SPI/I2C, UART, GPIO, tal vez incluso USB o Ethernet, etc.). A veces esto se llama System-on-Chip (SoC) o, a veces, SoC es algo aún más integrado. A algunas empresas japonesas también les encanta 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 a 8086 un microprocesador (los microcontroladores de Intel incluyen, por ejemplo, 8051 o 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 microprocesador, 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.
Es posible que un microprocesador tampoco esté programado para manejar tareas en tiempo real, mientras que un microcontrolador, como en los dispositivos que necesitan controlar la temperatura del agua o tal vez medir la temperatura de una habitación, requieren 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 central de procesamiento (CPU) simple en un solo chip (recuerde la palabra 'Single Chip'). Incluye unidad 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 de un microprocesador y los dispositivos periféricos de E/S, circuitos de soporte y memoria (tanto de datos como de programa). No es necesario estar en un solo chip (recuerda este punto, no en un solo chip).
Respuesta larga corta:
Microprocesador : hace el 'pensamiento', básicamente es el chip en sí mismo que maneja las matemáticas.
Microcontrolador : un sistema con un microprocesador incluido, fácilmente capaz de interactuar con componentes electrónicos para desarrollar un sistema integrado. (Piense en arduino, PI, PSOC4, etc.
Microsoft LinuxTM
Hilmar
cp.engr