Diferencias entre un microprocesador y un microcontrolador

Aunque similares, los microprocesadores no son iguales a los microcontroladres. Hay cierta confusión entre que es un microprocesador y que es un microcontrolador. En este post trataremos de despejar esas dudas y establecer claramente que es uno y que es lo otro.

Características de un microprocesador

Un microprocesador es un elemento que realiza operaciones lógico aritméticas. No dispone de entradas y salidas como un microcontrolador. Requiere de más periféricos adicionales para funcionar, como memorias o controladores de bus. Sin embargo, son más veloces al realizar estas operaciones que un microcontrolador.

Características de un microcontrolador

Los microcontroladores son circuitos integrados compuestos de entradas salidas, memoria y unidades lógico aritméticas. Son en sí, un elemento completo y funcional para realizar operaciones digitales. En contraste, comparados con un microprocesador, son más «lentos» dado que realizan menos instrucciones por segundo.

Para seguir leyendo…

Diferencias

La gran diferencia radica en la aplicación que se le da a cada uno. Por un lado los microprocesadores se encargan de tareas que requieran una gran capacidad de computo, como parte de un sistema que controla otros periféricos. Por ejemplo, para un sistema operativo computacional, gestionando todos los dispositivos externos, creando una interfaz gráfica y demás tareas.

En comparación, un microcontrolador busca cumplir tareas puntuales, como manejar entradas y salidas, sensar cambios de estado en el entorno y gestionar interrupciones. Se puede encontrar en las interfaces que van conectadas a la computadora, como en controles remotos, cámaras, equipos de audio, etc.

Tabla comparativa

Para sintetizar la comparación, aquí hay una tabla comparativa con distintos aspectos de los «micros».

MicrocontroladoresMicroprocesadores
CPUEs una las partes principales, se encarga de direccioonar las instrucciones del programaEl microprocesador tiene mucha más potencia de cálculo, por lo cual solamente realiza sus funciones con lo que tiene (datos) y su algoritmo o programa establecido.
Velocidad de operaciónLenta, comparada con el microprocesador. (Velocidad de operación en el orden de kHz a Mhz)Rápida (En el orden de los GHz)
Memoria RAM y ROMLas incluye en un mismo circuito integrado (de capacidades menores que en el microprocesador)Son dispositivos externos que complementan el funcionamiento del microprocesador (de mayor capacidad)
CostosEl costo para un sistema basado en microcontrolador es mucho menor.Para el microprocesador, el costo es muy alto en la actualidad.
TamañoEl Microcontrolador incluye todo estos elementos en un solo circuito integrado por lo que implica una gran ventaja en varios factores, como por ejemplo, la disminución en el tamaño del circuito impreso por la reducción de los circuitos externos.El microprocesador es pequeño en si, pero añadiendo los demás periféricos el tamaño aumenta.
Tiempo de desarrolloCrear un código para microcontrolador es más rápido con el tiempo, con la aparición de más librerias y lenguaje de alto nivel. Sin embargo, sigue siendo un proceso más complejo de desarrollar.El desarrollo de aplicaciones para un microprocesador es más «rápido» debido que a las multiples plataformas de desarrollo que existen y a las restricciones de hardware (32 bits o 64 bits)
InterferenciasEl alto nivel de integración reduce los niveles de interferencia electromagnéticaSon más susceptibles a la interferencia electromagnética debido a su tamaño y a su cableado externo que lo hace más propenso al ruido.

Un sistema completo integra adecuadamente los microprocesadores y microcontroladores.

Algunos ejemplos

Microcontroladores: Algunos ejemplos claros de microcontroladores son los ATMEGA de Atmel, en los sistemas Arduino. Los sistemas basados en PIC de microchip. La familia ESP de Espressif como el ESP32 y el ESP8266 también son sistemas basados microcontroladores, como la NodeMCU.

Microprocesadores: Todas las computadoras basadas en microprocesadores Intel o AMD son un buen ejemplo de sistemas basados en microprocesadores. Pueden tener muchas variantes en memoria y periféricos, pero el núcleo del sistema es el mismo.

Sobre ARM…

ARM es una arquitectura de procesadores, más que un microprocesador o un microcontrolador en sí. Un fabricante puede decidir incluir una versión de ARM en un chip y poner la memoria RAM y ROM externas, como en una Raspberry Pi, y considerarlo un microprocesador. Por otro lado, si se fabrica un chip con RAM y ROM internas con el microprocesador, como en un micro:bit, podemos llamarlo microcontrolador, y las capacidades de memoria serán reducidas.

Referencias:

Microcontrolador vs Microprocesador

¿Qué son los microprocesadores y los microcontroladores?

Is ARM a microprocessor or a microcontroller?

Via: @aploopve