¿Cuál es la diferencia entre un microcontrolador y un microprocesador?

178

¿Cuál es la diferencia entre un microcontrolador y un microprocesador?

    
pregunta endolith

13 respuestas

184

Un microprocesador generalmente no tiene pines de RAM, ROM ni IO. Por lo general, utiliza sus pines como un bus para conectarse a periféricos como RAM, ROM, puertos serie, IO analógica y digital. Es expandible a nivel de placa debido a esto.

Un microcontrolador es 'todo en uno', el procesador, RAM, IO todo en un chip, como tal, no puede (digamos) aumentar la cantidad de RAM disponible o el número 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 es capaz de integrarse en aplicaciones de propósito general más grandes que un microcontrolador. El microcontrolador se usa generalmente para aplicaciones más dedicadas.

Todas estas son declaraciones muy generales. Hay fichas disponibles que borran los límites.

    
respondido por el JohnC
29

Como se mencionó, los microcontroladores son esencialmente sistemas en un chip. Excepto algunos periféricos especializados, todo está en uno. paquete. La interfaz a los periféricos externos es casi siempre hecho usando conexiones seriales. Esto mantiene los tamaños de paquete pequeño (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 "Introducción a los microcontroladores" hablar. Una copia del folleto está en

enlace

    
respondido por el jluciani
24

Microcontroladores:

  • normalmente son de 8 bits, pero pueden ser de 4, 16 o 32 bits
  • correr a velocidades inferiores a 200 MHz
  • usa muy poco poder
  • puede proporcionar suficiente corriente para operar un LED
  • son útiles para interactuar con sensores y motores
  • se reemplazan fácilmente, son económicos ($ 0,10 a $ 10)
  • están realmente restringidos para RAM y almacenamiento persistente (espacio flash)
  • son realmente agradables para los aficionados a la electrónica

Microprocesadores:

  • a menudo son al menos de 16 bits, y generalmente de 32 o 64 bits, aunque 8 bits todavía tienen una gran cuota de mercado
  • muchos podrán hacer cálculos de punto flotante en hardware
  • correr a velocidades medidas en cientos de MHz
  • están diseñados para ser los cerebros de un sistema (y necesitan un sistema completo para admitirlos)
  • necesita hardware especial para interactuar con sensores, motores, LED, etc.
  • son caros (piense en $ 50 - $ 250 para 32 o 64 bits)
  • están diseñados para RAM externa y almacenamiento persistente (discos duros)
  • no es tan fácil trabajar con un aficionado

Me parece interesante que el conjunto LEGO Mindstorms NXT tenga un microprocesador [32 bits AT91SAM7S256 (ARM7TDMI) microprocesador principal a 48 MHz (256 KB de memoria flash, 64 KB de RAM)] para pensar, y un microcontrolador [8 Microcontrolador ATmega48 de 4 bits a 4 MHz (memoria flash de 4 KB, 512 bytes de RAM)] para interactuar con los sensores y motores. Consulte las especificaciones técnicas en Wikipedia .

    
respondido por el Clinton Blackmore
13

Esta distinción es mucho más difícil de hacer en estos días, ya que todo un espectro de dispositivos ha surgido entre los extremos, pero si hay un identificador que parece funcionar, es para ver el pin-out, y Mira lo que hicieron los diseñadores con los pines . ¿Son en su mayoría 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 que se paga por esta conveniencia es que no habrá mucho a mano. 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 debe descargarse 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 direcciones y líneas de datos, necesarias para conectarse a la memoria y los dispositivos de E / S que carecen del núcleo.

Todavía es posible llamar microprocesadores a otras cosas y microcontroladores a otras cosas cuando los diseñadores se adhieren 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 colocar en un solo chip, puede integrar fácilmente un microprocesador completo en un solo chip. ¿Cómo se llama un PPC604 de 400MHz con un controlador de interrupción, un controlador SDRAM, compatibilidad con Ethernet y un montón de otros periféricos, todo en un chip ?

    
respondido por el JustJeff
5

Principalmente marketing.

Hay algunos 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 DSP (la serie C2000) Controladores digitales de señal.

De lo contrario, lo que dijo JohnC.

    
respondido por el Jason S
5

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 (aunque es completamente posible que algunos chips y variantes 8031 "ROMless" dejen el espacio de la ROM fuera del dado, espero que haya otros que, para la consistencia del diseño del troquel con versiones que incluyen ROM, incluye una matriz de ROM en blanco inútil).

    
respondido por el supercat
4

Solo para agregar todas las respuestas escritas de manera excelente, 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 adjuntar ojos, manos (es decir, periféricos) externamente.

Mientras que el cuerpo tiene cerebro y otros periféricos, es decir, un microcontrolador :)

    
respondido por el Swanand
3

La línea es algo borrosa, pero generalmente es así:

  • los microprocesadores contienen el núcleo del procesador (unidad de captura / decodificación, ALU, registros, etc.) y tal vez un par de bloques más básicos, pero generalmente no mucho más.

  • los microcontroladores agregan RAM (SRAM), generalmente algunos ROM (pueden ser rom enmascarados o Flash / EEPROM) para el almacenamiento de código (pero también pueden estar sin ROM), y un conjunto de periféricos básicos (SPI / I2C, UART, GPIOs, tal vez incluso USB o Ethernet y así sucesivamente). A veces, esto se denomina Sistema en chip (SoC) o, a veces, SoC es algo aún más integrado. Algunas compañías japonesas también aman el término " microcomputador ".

    Sin embargo, como mencioné, la línea se vuelve borrosa. Por ejemplo, los procesadores Intel / AMD recientes agregan un controlador de memoria al chip (anteriormente estaba en el chipset).

    Por cierto, llamaría a 8086 un microprocesador (los microcontroladores de Intel incluyen, por ejemplo, 8051 o 80186).

respondido por el Igor Skochinsky
2

Diferencia entre microcontrolador y microprocesador

  1. 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

  2. En el microprocesador más códigos de operación, manejo de pocos bits instrucciones. Pero en Microcontrolador: menos códigos de operación, más Instrucciones de manejo de bits.

  3. Un microprocesador no puede 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 incorporado conjunto de instrucciones que el microcontrolador funciona por sí solo.

respondido por el neelam singh
1

El microprocesador es una unidad central de procesamiento simple (CPU) 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 del microprocesador y los dispositivos periféricos de E / S, circuitos de soporte y memoria (datos y programa). No es necesario estar en un solo chip (recuerde este punto, no en un solo chip).

  1. El microprocesador es un componente del microordenador.
  2. El microcontrolador es una computadora completa similar a cualquier otra computadora.
respondido por el Bibek
1

Todas las respuestas son correctas, ya que esta diferencia es mayor en los bloques que tienen en mC y mP, consulte la tabla a continuación,

    
respondido por el Prakash Darji
0

Respuesta corta corta:
MicroProcessor : el "pensamiento" es básicamente un chip que maneja las matemáticas.
Microcontrolador : un sistema con un microprocesador incluido, capaz de interactuar con componentes electrónicos para desarrollar sistemas integrados.

    
respondido por el GigaJoules

Lea otras preguntas en las etiquetas