1) Всё зависит от решаемой задачи Все ультрабыстрые действия (например, защита от перегрузки выходных транзисторов мостового формирователя) всегда делаем на аппаратном уровне. Ибо нет смысла эти действия возлагать на процессор.
2) Задачи распределяем при помощи возможностей FreeRTOS.
3) Не могу представить задачу для ПЛК, с которой бы не справилось одно ядро процессора, который собирается применять ТС