¿Cuál es la relación o el uso de procesadores multinúcleo en sistemas embebidos?

Para que la computación paralela sea verdaderamente paralela, solo es posible en un procesador de múltiples núcleos y no en un solo núcleo. El subprocesamiento múltiple en un procesador de núcleo único es esencialmente el tiempo compartido del procesador.

Cuando tiene 2 tareas diferentes en un robot basado en el sistema Embebido, digamos que una tarea es seguir la línea y otra tarea de registrar los datos en una tarjeta SD.

En un procesador de núcleo único, las tareas sucederán esencialmente una tras otra. Por lo tanto, la cantidad de error y el número de correcciones serán mayores. Dado que el error (desviación de la línea) aumentará durante el tiempo que el núcleo del procesador está ocupado ejecutando la función de registro. Esto supone que el error aumentará con el tiempo si no se corrige, lo cual es cierto en la mayoría de los sistemas de control prácticos.

En un procesador multinúcleo junto con un compilador / sistema operativo compatible, cuando se programa correctamente, ambas tareas se ejecutan en paralelo. Por lo tanto, el error será menor y el número de correcciones será menor, ya que el núcleo en el que se ejecuta la tarea no pierde tiempo en la función de registro.

Los procesadores multinúcleo no son específicos de los sistemas embebidos, ni hay un solo uso de procesadores multinúcleo en los sistemas embebidos. El propósito habitual de mejorar el rendimiento es sin duda uno. Dedicar un procesador a IO u otro propósito especial sería otro. Hay un buen ejemplo de esto listo para rodar en las placas BeagleBone con la familia de procesadores TI AM355x y sus dos procesadores de PRU incorporados. Hay bastante literatura en línea sobre cómo usarlos. Sus roles tienden a estar centrados en IO de alta velocidad.

La razón principal para los procesadores multinúcleo es que cuanto más rápido empujas el chip (la velocidad del reloj), más calor generas, y eventualmente estás tratando de empujar electrones a través de caminos que son más pequeños que los electrones. Un procesador octocore no es exactamente 8 veces más rápido que un solo núcleo, pero aún usa solo una pequeña cantidad más de energía. Entonces, en lugar de aumentar el reloj 8 veces y terminar con un charco de silicio, agrega núcleos y tiene un procesador que funciona, eso es rápido.

Sistema integrado, computadora portátil, computadora de escritorio, teléfono celular: es lo mismo en todos los casos.