Микроконтроллеры
Микроконтроллеры Cortex-M
Первые 8-ми разрядные микроконтроллеры появились немного позже, чем микропроцессоры. Разработка 32-х разрядных микроконтроллеров затянулась на долгие годы. Ситуация стала меняться с бурным развитием микропроцессорной архитектуры ARM. Простая и дешевая в изготовлении, она стала широко использоваться во встроенных устройствах. Развитие ARM привело к появлению в классе микроконтроллеров, первых серийных 32-разрядных устройств. Еще большее распространение они получили с появлением одного из вариантов ARM архитектуры, под названием Cortex-M.
Одной из особенностей архитектуры ARM является вычислительное ядро процессора, без каких-либо дополнительных элементов. Каждый разработчик должен сам дооснастить это ядро необходимыми элементами под свои конкретные задачи. Такой подход хорошо себя зарекомендовал для крупных производителей микросхем, но был больше ориентирован на классические процессорные решения.
Технология Cortex реализована на несколько ином принципе. Фактически Cortex это готовое микроконтроллерное ядро, оснащенное всеми необходимыми для работы устройствами. В его состав кроме ядра ARM входят блок управления прерываниями, шинная матрица, модули работы с памятью и периферийными устройствами. Тем не менее Cortex является стандартизированным процессорным ядром, которое по мере необходимости оснащается только необходимыми периферийными устройствами.
В семействе Cortex имеется несколько направлений. Существуют варианты классических процессоров Cortex-A, процессоров для систем реального времени Cortex-R, и микропроцессорные ядра Cortex-M. Последние и стали основой для разработки большого класса 32-х разрядных микроконтроллеров. От других вариантов архитектуры Cortex, они отличаются, прежде всего, использованием только 16-разрядного набора инструкций Thumb-2. Этот набор совмещает в себе производительность и компактность классических инструкций ARM и Thumb. Thumb-2 изначально разрабатывался для работы с языками С/С++, что существенно повышает качество готового машинного кода.
Кроме обозначения направления применения ядра, разработчики указывают производительность этого ядра по десятибалльной шкале. Пока самый используемый вариант, это Cortex-M3, хотя уже внедряются модели Cortex-M4.
Большим достоинством микроконтроллеров, построенных на ядре Cortex-M, является их программная совместимость. Отличаются они, в первую очередь, используемыми периферийными устройствами. Это существенно упрощает изучение разных моделей и теоретически позволяет использовать программный код на языке высокого уровня в моделях разных производителей.
Благодаря оптимизированной архитектуре стоимость микроконтроллеров на ядре Cortex-M, в некоторых случаях ниже, чем у многих 8-ми разрядных моделей. Это дает основание полагать, о скором закате последних.