Каково значение «микроконтроллера на основе микропроцессора»?

Я знаю об основных теоретических различиях между ними. Например, у микроконтроллеров есть ПЗУ, ОЗУ и т. Д., А у микропроцессора их нет. Но я все еще в замешательстве.

  • Почему сказано "Микроконтроллер на базе микропроцессора" ( самая первая строчка ).

  • Если ARM — это микропроцессор, то почему STM используют его и называют микроконтроллером? Какая разница?

  • Плата eval, такая как «панель запуска TI c-series», имеет микроконтроллер, микропроцессор или и то, и другое.

Пожалуйста, поправьте меня, если я где-то ошибаюсь.

Оценочная плата, такая как серия TI C, имеет микроконтроллер. Такие доски, как Raspberry pi, Beagle Bone или Toradex, имеют микропроцессор. Под этой строкой они подразумевают, что микроконтроллер основан на ядре ARM, подобно тому, как микроконтроллеры PIC основаны на ядре MIPS.
@pjc: Название создает впечатление, что это дубликат, но на самом деле вопрос совсем другой. Хорошо, я просто исправил заголовок, чтобы он соответствовал этому фактическому вопросу.
@CHendrix: вы изменили заголовок, чтобы вопрос выглядел как дубликат вопроса, на который ссылается pjc50. Это только закроет вопрос как дубликат, поскольку многие не будут смотреть дальше заголовка. Ваше редактирование тела вопроса также было очень тяжелым. Я серьезно рассматриваю возможность отмены вашего редактирования, но собираюсь дать ему немного времени, чтобы посмотреть, что думают другие или как они могут отредактировать вопрос.
@OlinLathrop Упс. Я думаю, что мне удалось затоптать редактирование, которое произошло, пока я редактировал. Дай мне положить это обратно ...

Ответы (3)

ARM — это ядро ​​ЦП, которое можно использовать для реализации микропроцессора или микроконтроллера.

Полное предложение, на которое вы ссылаетесь, это:

Семейство 32-разрядных флэш-микроконтроллеров STM32 на базе процессора ARM® Cortex®‑M предлагает пользователям MCU новые степени свободы.

Ясно, что это в значительной степени бессодержательная маркетинговая болтовня. Не обращайте на это особого внимания. На самом деле никогда не говорится «микропроцессор». Он называет ядро ​​ARM «процессором», что тоже не совсем правильно. Это всего лишь ядро, которое можно использовать для реализации разного рода процессоров.

Ядро больше похоже на двигатель автомобиля. Вы лицензируете дизайн у ARM, но можете сильно настроить его в соответствии со своими потребностями, и установка шасси и колес — это ваша работа. Вы можете сделать в результате спортивный автомобиль, пикап или различные другие типы транспортных средств. Маркетинговая болтовня выше похожа на фразу: «Мы создали этот пикап на базе спортивного автомобиля» . Нет, нет. Они создали пикап на основе той же базовой технологии двигателя, которую другие использовали для создания спортивных автомобилей.

Однако, опять же, важным моментом является то, что все это маркетинговая болтовня. Ничего полезного здесь не видно. Двигайтесь вместе со всеми.

И в этом случае cortex-m — это ядро, предназначенное непосредственно для микроконтроллеров, а не для микропроцессоров, более старые микроконтроллеры использовали то же ядро, что и микропроцессоры (ARM7TDMI). У ARM теперь есть разные линейки продуктов для своих ядер.

Микропроцессор фактически представляет собой компьютер без каких-либо периферийных устройств (ввода-вывода, АЦП, таймеров и т. д.). Микроконтроллер — это процессор с подключенными периферийными устройствами, объединенными в один корпус. Следовательно, микроконтроллер основан на микропроцессоре и добавляет к нему периферийные устройства.

Микроконтроллер — это больше, чем микропроцессор со встроенными периферийными устройствами и памятью. Периферийные устройства обычно более тесно связаны с ядром процессора. Например, вы не получаете к ним доступ с помощью специальных инструкций ввода-вывода. Поскольку все они на одном чипе, они могут быть более интегрированы. Контроллер прерываний, например, изначально знает обо всех источниках прерываний и в некоторых случаях предназначен для учета специфических особенностей конкретных периферийных устройств. Это невозможно сделать, когда контроллер прерываний является универсальным и разработан независимо от периферийных устройств.
Это правда, я не имел в виду, что периферийные устройства полностью независимы от базового процессора и к ним можно получить доступ только через инструкции ввода-вывода. Просто микроконтроллер является эквивалентом процессора и периферийных устройств в одном корпусе.

Говорят, что микроконтроллеры — это «полные» системы (тело человека), а микропроцессор — это просто «мозг». Когда вы задумываетесь о покупке микроконтроллера, вы обычно исходите из того, что он обладает многими функциями, необходимыми для вашей конструкции, и главное — это достижение поставленной задачи, а не быстродействие. Когда вы подумываете о покупке микропроцессора, вы знаете, что он хорош с точки зрения скорости, но вам придется приложить дополнительные усилия для его интеграции в вашу систему. Итак, в вашем конкретном примере, говоря, что микроконтроллер, основанный на определенном микропроцессоре, будет означать, что вычислительная мощность этого микроконтроллера выше, чем у других микроконтроллеров. Итак, представьте, что кто-то использовал этот микропроцессор и построил для вас систему, так что вам не нужно выполнять дополнительную работу. Это мое понимание, поправьте меня, если я ошибаюсь.