Eso depende de lo que planeas hacer exactamente. Si planea hacer cosas simples, como reemplazar un circuito de temporización roto para la luz intermitente de su automóvil, hacer algo que cierre automáticamente la puerta cada vez que la cierre, o incluso algunas cosas moderadamente complejas, como un controlador PID para que un automóvil de control remoto se adhiera una velocidad particular independientemente de la pendiente o la resistencia, entonces puede salirse con la suya sin comprender realmente la arquitectura de su microcontrolador.
Pero a medida que avanza en la complejidad, como crear un DSP para interpretar señales de audio, crear un sistema de guía GPS que pueda reconocer cuando se está falsificando, cualquier cosa que tenga que hacer procesamiento de video o actuar como un módem, entonces es necesario comprender la arquitectura en Para permanecer en las limitaciones de recursos.
Su PC puede dibujar en algún lugar cercano a los 100 vatios y tiene una velocidad de reloj de entre 1 y 5 GHz, ejecuta simultáneamente de 2 a 8 subprocesos (dependiendo de su procesador), tiene entre 1 y 10 megabytes de caché (memoria de acceso extremadamente rápido) en varios niveles y en cualquier lugar entre 1 y 16 gigabytes de memoria de acceso aleatorio (acceso rápido, pero toma algunos ciclos de reloj antes de que pueda obtener la información) y si eso no es suficiente, entonces tiene un disco duro realmente enorme que puede usar temporalmente almacenar información para ser procesada.
Pero un microcontrolador puede no tener incluso kilobytes de caché disponibles, y mucho menos cualquier otra memoria para usar. Su programa tendrá que ajustarse por completo dentro de las restricciones de memoria, incluidas las instrucciones * y * el espacio necesario para almacenar los datos no procesados y procesados. Agregue además el hecho de que su microcontrolador solo puede estar funcionando a 50 MHz (dando incluso a la CPU de PC más lenta un aumento de 20 veces en la velocidad del reloj solo, y mucho menos la eficiencia de tener un conjunto de instrucciones más complejo y robusto como las últimas incorporaciones x86 / x64), y tratar de programarlo de la manera en que programa una computadora normal puede significar un desastre cuando intenta ejecutarlo en algo como su pequeño PIC.