Arm cortex m4f. Архитектура ARM Cortex-M4: мощное ядро для встраиваемых систем

Что такое ARM Cortex-M4. Какие особенности делают его популярным для встраиваемых систем. Как устроена его архитектура. Чем отличается от других процессоров семейства Cortex-M.

Содержание

Что представляет собой микроконтроллер ARM Cortex-M4

ARM Cortex-M4 — это 32-битное процессорное ядро, разработанное компанией ARM Holdings для использования во встраиваемых системах. Оно относится к семейству микроконтроллеров Cortex-M и обладает следующими ключевыми характеристиками:

  • 32-битная архитектура RISC
  • Гарвардская архитектура с раздельными шинами для инструкций и данных
  • Поддержка набора инструкций Thumb-2
  • Встроенный контроллер вложенных векторных прерываний (NVIC)
  • Модуль цифровой обработки сигналов (DSP)
  • Опциональный модуль вычислений с плавающей запятой (FPU)

Cortex-M4 обеспечивает высокую производительность при низком энергопотреблении, что делает его популярным выбором для широкого спектра встраиваемых приложений.

Архитектура и основные компоненты Cortex-M4

Процессорное ядро Cortex-M4 имеет следующую базовую архитектуру:


  • Процессорное ядро с конвейерной обработкой инструкций
  • Банк из 16 32-битных регистров общего назначения
  • Арифметико-логическое устройство (ALU)
  • Контроллер прерываний NVIC
  • Системная шина и матрица шин
  • Контроллеры памяти и периферийных устройств

Рассмотрим подробнее некоторые ключевые компоненты архитектуры Cortex-M4.

Банк регистров

Cortex-M4 имеет 16 32-битных регистров общего назначения:

  • R0-R12 — регистры общего назначения
  • R13 (SP) — указатель стека
  • R14 (LR) — регистр связи
  • R15 (PC) — счетчик программы

Такой набор регистров обеспечивает быстрый доступ к данным и эффективное выполнение операций.

Контроллер прерываний NVIC

Встроенный контроллер вложенных векторных прерываний (NVIC) отвечает за обработку прерываний с минимальными задержками. Он поддерживает до 240 прерываний с настраиваемыми приоритетами.

Набор инструкций Thumb-2

Cortex-M4 использует набор инструкций Thumb-2, который сочетает 16- и 32-битные инструкции. Это позволяет достичь высокой плотности кода при сохранении 32-битной производительности. Основные особенности Thumb-2:


  • Смешанные 16- и 32-битные инструкции
  • Поддержка условного выполнения
  • Расширенные инструкции для обработки битовых полей
  • Инструкции умножения-накопления для DSP-алгоритмов

Такой гибкий набор инструкций обеспечивает эффективное использование памяти программ и высокую производительность вычислений.

Модуль цифровой обработки сигналов (DSP)

Одним из ключевых отличий Cortex-M4 от предшественников является встроенный модуль DSP. Он добавляет специализированные инструкции для эффективной обработки сигналов:

  • Однотактные операции умножения-накопления (MAC)
  • SIMD-инструкции для параллельной обработки данных
  • Насыщающая арифметика
  • Операции с фиксированной точкой

Это позволяет реализовывать сложные алгоритмы ЦОС с высокой производительностью и низким энергопотреблением.

Модуль вычислений с плавающей запятой (FPU)

Опциональный FPU-модуль добавляет аппаратную поддержку операций с плавающей запятой одинарной точности (32-бит). Преимущества использования FPU:

  • Ускорение вычислений с плавающей запятой в 10 и более раз
  • Снижение энергопотребления при работе с плавающей запятой
  • Упрощение разработки ПО за счет использования чисел с плавающей запятой

Версия процессора с FPU обозначается как Cortex-M4F.


Отличия Cortex-M4 от других процессоров семейства Cortex-M

Как Cortex-M4 соотносится с другими популярными микроконтроллерами ARM?

Cortex-M0 и M0+

Это самые простые ядра семейства, ориентированные на максимальную энергоэффективность:

  • Упрощенная архитектура фон Неймана
  • Ограниченный набор инструкций Thumb
  • Отсутствие DSP и FPU

Cortex-M4 значительно мощнее, но потребляет больше энергии.

Cortex-M3

Cortex-M3 очень близок к M4 по архитектуре, основные отличия:

  • Отсутствие DSP-инструкций в M3
  • Нет поддержки FPU в M3

По сути, Cortex-M4 — это Cortex-M3 с добавлением DSP и опционального FPU.

Cortex-M7

Это самое производительное ядро линейки Cortex-M:

  • Суперскалярный конвейер инструкций
  • Кэш инструкций и данных
  • Более мощный FPU (двойная точность)

Cortex-M7 обеспечивает максимальную производительность, но потребляет больше энергии и дороже Cortex-M4.

Применение микроконтроллеров на базе Cortex-M4

Благодаря сочетанию высокой производительности, энергоэффективности и расширенных возможностей, Cortex-M4 широко применяется в различных встраиваемых системах:


  • Промышленная автоматизация и управление
  • Медицинское оборудование
  • Автомобильная электроника
  • Потребительская электроника
  • Системы «умного дома»
  • Носимые устройства

Особенно эффективен Cortex-M4 в приложениях, требующих интенсивных вычислений и обработки сигналов, таких как цифровые фильтры, аудиообработка, управление двигателями.

Преимущества использования Cortex-M4

Какие ключевые преимущества дает применение микроконтроллеров на базе Cortex-M4?

  • Высокая производительность при низком энергопотреблении
  • Эффективная обработка сигналов благодаря DSP-инструкциям
  • Возможность аппаратных вычислений с плавающей запятой (в версии M4F)
  • Богатая программная экосистема и инструменты разработки
  • Широкий выбор микроконтроллеров от разных производителей

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

Программирование микроконтроллеров Cortex-M4

Разработка ПО для Cortex-M4 обычно ведется на языке C с использованием специализированных компиляторов и библиотек. Ключевые аспекты программирования:


  • Использование CMSIS (Cortex Microcontroller Software Interface Standard) для доступа к аппаратным возможностям
  • Оптимизация кода с учетом особенностей архитектуры и набора инструкций Thumb-2
  • Эффективное использование DSP-инструкций для обработки сигналов
  • Настройка и использование контроллера прерываний NVIC
  • Работа с FPU при необходимости вычислений с плавающей запятой

Для разработки обычно применяются интегрированные среды (IDE) с поддержкой отладки через JTAG/SWD интерфейсы.

Заключение

ARM Cortex-M4 представляет собой мощное и гибкое процессорное ядро для встраиваемых систем. Благодаря сочетанию высокой производительности, энергоэффективности и расширенных возможностей обработки сигналов, оно находит применение в широком спектре приложений — от промышленной автоматики до носимых устройств.

Ключевые особенности Cortex-M4, такие как DSP-инструкции и опциональный FPU, делают его оптимальным выбором для задач, требующих интенсивных вычислений при ограниченном энергопотреблении. Широкая экосистема разработки и поддержка со стороны множества производителей микроконтроллеров обеспечивают удобство применения Cortex-M4 в новых проектах.



Микроконтроллеры на ядре ARM Cortex M4/M4f

  1. Главная
  2. Продукция
  3. Интегральные микросхемы
  4. Микропроцессоры и микроконтроллеры
  5. 32-разрядные микроконтроллеры
  6. 32-разрядные микроконтроллеры Microchip
  7. Микроконтроллеры на ядре ARM Cortex M4/M4f

Компания Microchip предлагает следующие семейства микроконтроллеров на ядре Cortex M4/M4f:

  • ATSAMG55
  • ATSAME51/E54

SAMG55 – серия микроконтроллеров, построенных на вычислительном ядре Cortex M4. Микроконтроллеры SAMG55 адаптированы для применения в системах промышленной автоматики.

Вычислительные ресурсы
  • ядро Cortex M4 c  FPU (floating point unit) работающее на частоте 120 MHz
  • модуль защиты памяти MPU (Memory Protection Unit)
  • поддержка DSP-инструкций и набора инструкций Thumb®-2

 

Память
  • до 512 kB FLASH
  • до 176 kB SRAM
  • контроллер DMA с 30 каналами доступа к памяти
Аналоговые периферийные модули
  • АЦП 12-bit 500 Ksps до 8 каналов
Интерфейсы
  • Full-Speed USB 2. 0
  • до 8 универсальных последовательных интерфейсов SERCOM, поддерживающих I2C, SPI, RS485, LIN и PMBus
Периферийные модули
  • до 8 модулей таймера с функцией генерации PWM
  • 3 расширенных модуля таймера с функцией генерации PWM
  • часы реального времени с будильником
  • модуль обработки прерываний (до 16 каналов)

 

Микроконтроллеры SAMG55 выпускаются в корпусах 49/WLCSP, 64/LQFP и 64/VQFN.

 

Наличие на складе

 

SAME51/E54 – серия микроконтроллеров, построенных на вычислительном ядре Cortex M4f. Микроконтроллеры SAME51/E54 адаптированы для применения в системах домашней и промышленной автоматики.

Вычислительные ресурсы
  • ядро Cortex M4f c  FPU (floating point unit) работающее на частоте 120 MHz
  • 8-зонный модуль защиты памяти MPU (Memory Protection Unit)
  • поддержка DSP-инструкций и набора инструкций Thumb®-2
Память
  • до 1 MB FLASH
  • до 256 kB SRAM
  • 32-канальный контроллер DMAС
Аналоговые периферийные модули
  • АЦП 12-bit 1 Msps до 16 каналов
  • ЦАП 12-bit 1 Msps
  • 2 аналоговых компаратора
Интерфейсы
  • до 8 универсальных последовательных интерфейсов SERCOM, поддерживающих USART, I2C, SPI, RS485, LIN и PMBus
  • I2S
  • QSPI
  • SDHC
  • до 2 модулей CAN 2. 0 / CAN-FD 1.0
  • Full-Speed USB 2.0
  • Ethernet MAC (только для SAME54)

 

Периферийные модули
  • 4 модуля конфигурируемой логики
  • до 8-и 16-разрядных таймеров
  • 2 расширенных 24-разрядных таймера с функцией генерации PWM
  • 32-разрядные часы реального времени
  • модуль измерения частоты сигнала
  • 32-канальная система обрабокти прерываний
  • контроллер сенсорной клавиатуры (до 256 кнопок)

 

 

 

 

 

Микроконтроллеры SAME51/E54 выпускаются в корпусах от 48 до 128 выводов, которые различаются по размеру памяти.

 

Наличие на складе

 

Новости

ARM Cortex-M4F от Texas Instruments

14 декабря 2011

Компания Texas Instruments представила новое поколение микроконтроллеров Stellaris на базе ARM Cortex-M4F — LM4Fx. Представленные микроконтроллеры выполнены по 65 нм технологии, что позволяет достичь хорошего соотношения между такими параметрами, как высокая производительность, малое энергопотребление и цена.

Семейство Stellaris ARM Cortex- M4F, получившее название Stellaris LM4F, по сути является расширением популярного семейства ARM Cortex- M3, включающее дополнительные DSP-подобные инструкции, а также модуль операций с плавающей точкой. Процессор ARM Cortex-M4 поддерживает широкий набор одноцикловых команд умножения с накоплением (MAC), команды централизованного управления потоком данных (SIMD) и арифметические команды «с насыщением», а также имеет модуль обработки операций с плавающей запятой (FPU) .

Основными областями применения семейства LM4F являются микроконтроллеры общего назначения, USB контролеры, контролеры для промавтоматики и управления двигателями.

Для ускорения процесса разработки программного обеспечения Texas Instruments предоставляет бесплатное программное обеспечение StellarisWare®, поддерживающее все контроллеры семейства LM4F. StellarisWare представляет собой комплект API, который был специально разработан для контроллеров Stellaris, чтобы минимизировать стоимость разработки программного обеспечения и сократить время выхода на рынок. Большинство из API-интерфейсов встроено в ROM. Также стоит отметить, что все программное обеспечение написано на языке C, что облегчает процесс корректировки и написания собственного программного кода.

Основные характеристики LM4F:

Архитектура Stellaris M4F

  • ядро ARM Cortex-M4F c модулем обработки операций с плавающей точкой (FPU) с одинарной точностью;
  • до 256кБ встроенной Flash памяти и 32кБ ОЗУ;
  • 2кБ встроенного EEPROM;
  • до двух 12-бит АЦП с 24 входными каналами;
  • до двух CAN контроллеров;
  • три аналоговых компаратора;
  • опционально интерфейс USB 2.0 с поддержкой Device, Host, OTG режимов;
  • расширенные функции управления двигателями при помощи использования до 16 ШИМ котроллеров и двух интерфейсов квадратурного энкодера;
  • большой выбор последовательных интерфейсов:
    • до 8 модулей UART;
    • до 6 каналов I2C;
    • до 4 каналов SPI / SSI;
  • режимы пониженного энергопотребления в том числе «спящий режим»;
  • корпуса 64-LQFP, 100-LQFP и 144-LQFP.

Основные преимущества:

  • новый 12 бит АЦП с частотой выборки 1Msps позволяет достичь точности +/-1бит во всём диапазоне температур;
  • ядро ARM Cortex-M4F со встроенным FPU ускоряет выполнение математических операций и упрощает процесс обработки цифровых сигналов;
  • первый микроконтроллер ARM Cortex-M, выполненный в 65нм технологическом процессе,  обеспечивает  хорошее соотношение между высокой производительностью  и малым энергопотреблением, а также низкой ценой;
    • время просыпания меньше 500 мкс;
    • ток в рабочем режиме менее 370 мкA/МГц;
    • ток энергопотребления в ждущем режиме  1.6 мкA;
    • цена от 1,5 долларов;
  • минимальное количество циклов перезаписи Flash памяти более 100000 циклов;
  • широкий диапазон совместимой памяти и вариантов корпусов позволяют сделать оптимальный выбор устройства;
  • обширный выбор периферии на кристалле открывает возможности применения в различных приложениях включая 1-D сканеры, микропринтеры, цифровое питание, управление двигателями, управление светодиодным табло, устройства промавтоматики.

Быстрый старт:

Отладочный набор Stellaris LM4F232

Texas Instruments представляет линейку новых отладочных наборов для микроконтроллеров серии LM4F.

Отладочный набор Stellaris® LM4F232 USB+CAN — это компактный и универсальный набор для демонстрации возможностей микроконтроллера  Stellaris LM4F232,
основанного на ядре ARM® Cortex™-M4F.

Набор позволяет показать доступные в микроконтроллере LM4F232 функции, а именно:  контроллер USB 2.0 в режимах OTG/Host/Device, CAN контроллер, аналоговые функции и возможности низкого энергопотребления.

В комплект также входит множество примеров в исходном коде, для быстрого начала программирования в С коде.

Отладочный набор  включает в себя следующие компоненты:

  • микроконтроллер Stellaris LM4F232H5QD c 256 кБ внутренней Flash памятью  в корпусе 144-LQFP;
  • 99х64 цветной OLED  дисплей, обеспечивающий функции интерфейса;
  • разъём USB Micro-AB для макетирования USB применений;
  • слот для карт памяти microSD;
  • 5-мм винтовые клеммы для подключения внешних датчиков и других аналоговых входов;
  • прецизионное опорное напряжение для точного аналогово-цифрового преобразования;
  • датчик температуры для измерения температуры;
  • 3-осевой акселерометр для детектирования положения;
  • контрольные точки для всех линий ввода/вывода, что позволяет легко анализировать сигналы при отладке;
  • пять навигационных кнопок для ввода данных пользователем;
  • один пользовательский светодиод;
  • 10-pin JTAG обеспечивающий стандартный интерфейс для  отладки;
  • набор кабелей:
    • USB Mini-B кабель для отладки;
    • USB переходной кабель Micro-A-в-Std-A;
    • Кабель USB Micro-B-USB-A;
    • USB Flash накопитель;
  • литиевую батарею 3В — CR2032;
  • СD диск содержащий:
    • полную документацию;
    • пакет разработчика Stellaris Firmware с примерами исходных кодов;
    • приложения для быстрого старта с исходными кодами;
    • Windows приложения для быстрого старта;
    • ознакомительная версия среды разработки одна из следующего списка:
      • EKK-LM4F232 — Keil™ RealView® Microcontroller Development Kit;
      • EKI-LM4F232 — IAR Embedded Workbench® development tools;
      • EKC-LM4F232 — Sourcery CodeBench development tools;
      • EKT-LM4F232 — Code Red Technologies Red Suite;
      • EKS-LM4F232 — Texas Instruments Code Composer Studio™ IDE.

В данный момент на складе КОМПЭЛ можно приобрести отладочные наборы на базе CORTEX-M4F. Поставки контроллеров ожидаем в ближайшее время.

•••

Товары
org/Product» data-pid=»»>
Наименование
EKK-LM4F232-CD (TI)

 

EKI-LM4F232-DVD (TI)

 

EKS-LM4F232-DVD (TI)

 

Cortex-M4 – Arm®

Серия процессоров Cortex-M позволяет разработчикам создавать недорогие решения с ограниченным энергопотреблением для широкого спектра устройств. Cortex-M4 — это высокопроизводительный встроенный процессор, разработанный для рынков управления цифровыми сигналами, которым требуется эффективное и простое в использовании сочетание возможностей управления и обработки сигналов.

Возможности и преимущества

Достигните большего с помощью обработки операций с плавающей запятой

Уменьшите энергопотребление и продлите срок службы батареи благодаря 10-кратному ускорению операций с плавающей запятой одинарной точности с помощью встроенного модуля вычислений с плавающей запятой (FPU). В сочетании с библиотеками машинного обучения Arm CMSIS-NN Cortex-M4 обеспечивает расширенный интеллект встроенных устройств с батарейным питанием и устройств IoT.

Добавить функциональность DSP

Снижение стоимости системы микросхем за счет объединения управления и обработки сигналов в одном процессоре. Инструкции встроенной цифровой обработки сигналов (DSP), SIMD и MAC упрощают общий дизайн системы, разработку и отладку программного обеспечения. Программируется на C и поддерживается богатой библиотекой функций DSP, упрощает обработку сигналов, сокращает усилия по разработке и делает DSP массовым.

Быстрый выход на рынок, снижение проектных рисков

Уменьшите риск и добейтесь успеха с первого раза, используя один из наиболее широко используемых процессоров Cortex-M. Благодаря обширной экосистеме программного обеспечения, инструментов, кодеков и другого кода DSP можно легко использовать существующее программное обеспечение для создания передовых встраиваемых продуктов с меньшими усилиями и более быстрым выходом на рынок.

Технические характеристики

Процессор Cortex-M4 разработан для рынков цифрового управления сигналами, которым требуется эффективное и простое в использовании сочетание возможностей управления и обработки сигналов. Сочетание функций высокоэффективной обработки сигналов с низким энергопотреблением, низкой стоимостью и простотой использования процессоров семейства Cortex-M удовлетворяет потребности многих рынков. Эти отрасли включают в себя рынки управления двигателем, автомобилестроения, управления питанием, встроенного звука и промышленной автоматизации.

Дополнительные сведения см. в ресурсах для разработчиков.

Ключевая документация

Примеры использования

Где воплощаются в жизнь инновации и идеи

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

Подробнее

Поговорите с экспертом

Узнайте, как Cortex-M4 может улучшить обработку сигналов и управление ими в ваших приложениях.

Свяжитесь с нами

Как получить лицензию с помощью Arm

Чтобы получить неограниченный доступ к дизайну этого продукта и другой полезной интеллектуальной собственности Arm,
посетите сайт Arm Flexible Access, доступный для всех компаний по низкой цене, или
по нулевой цене для соответствующих стартапов и исследовательских институтов. Начните свой проект
с правильного пути с лучшим в мире портфолио дизайна SoC.

Узнать больше

Сопутствующие продукты и услуги

Ознакомьтесь с дополнительными опциями и функциями

Виртуальное оборудование Arm

Виртуальное оборудование Arm предоставляет модели процессоров, систем и оборудования сторонних производителей для разработчиков приложений и разработчиков SoC для создания и тестирования программного обеспечения без оборудования, ускорение разработки IoT и ML.

Узнать больше

Библиотеки для тестирования программного обеспечения

Библиотеки для тестирования программного обеспечения компании Arm обеспечивают диагностическое покрытие для выполнения требований функциональной безопасности для систем ISO 26262 и IEC 61508 с гибким планированием выполнения, сводящим к минимуму влияние времени выполнения на приложения.

Узнать больше

Corstone

Разработка защищенной системы на кристалле является сложной и трудоемкой задачей. Чтобы помочь разработчикам быстро выйти на рынок, Arm предоставляет IP-блоки, необходимые для построения системы. Corstone — это решение для проектирования системы, которое делает ее безопасной и способной управлять сложной инфраструктурой управления питанием, при этом балансируя между производительностью и мощностью.

Узнать больше

Архитектуры и технологии

Основа кремниевого успеха

Микросхемы, архитектуры устройств и технологии на базе Arm управляют производительностью всего, что делает возможной современную жизнь — от смартфонов до сельскохозяйственных датчиков и от медицинских инструментов до серверов.

Архитектура ARM Cortex-M4 — Программирование микроконтроллеров

Каждый микроконтроллер содержит процессор, который отвечает за выполнение всех действий на этом микроконтроллере. Каждый процессор разработан на основе определенной архитектуры набора команд. Эта архитектура может быть основана на любом типе, например, ARM. В качестве темы нашего сегодняшнего обсуждения давайте подробно рассмотрим архитектуру микроконтроллеров ARM Cortex-M4.

Микроконтроллер ARM Введение

Аббревиатура ARM позже была известна как Acorn RISC Machines , но со временем она была обновлена ​​до Advanced RISC Machines. Важным моментом для обсуждения здесь является то, что ARM не разрабатывает кремниевые чипы для микроконтроллеров, а только предоставляет IP-ядро для микропроцессора и другие строительные блоки микроконтроллера. Затем ARM предоставляет его различным производителям посредством лицензирования. Проекты, предоставляемые ARM, известны как интеллектуальная собственность (ИС), а бизнес, посредством которого он продает дизайн, известен как лицензирование ИС.

Архитектура микроконтроллеров ARM Cortex-M

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

ARMv7

Как и каждое производимое устройство, ARM также имеет различные версии, и эти версии со временем обновляются. Cortex-M относится к версии имен ARM, ARMv7. До этого это были версии ARM, называемые ARMv4, ARMv5, ARMv6, а затем ARMv7. Наряду с Cortex-M в этой архитектуре ARM присутствуют еще 2 ядра.

Cortex-M: Процессоры этих профилей используются для разработки встраиваемых систем на базе микроконтроллеров. Семейство Cortex-M состоит из Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4 и Cortex-M7.

Cortex-A: процессоры этого профиля используются в высокопроизводительных прикладных устройствах, таких как мобильные/сотовые телефоны.

Cortex-R: Основной рынок процессоров этого профиля приходится на приложения реального времени, где основной целью является меньшее время отклика.

ARM Cortex-M4 Введение

Процессоры ARM Cortex-M используются в микроконтроллерах семейства микроконтроллеров ARM. Он состоит из 32-битных процессорных ядер. Размер процессора в битах определяет максимальный адресуемый диапазон или максимальный диапазон адресов, который он может обрабатывать. Например, микроконтроллеры ARM Cortex-M4 могут обрабатывать 2 ^ 32 = 4 ГБ адресного пространства памяти.

Для получения дополнительной информации об адресе памяти Cortex-M4 и периферийных устройствах, отображаемых в память, прочитайте следующую статью:

  • Доступ к регистрам периферийных устройств, отображаемых в память, микроконтроллеров

32-разрядный также означает размер внутренних регистров процессора. Все внутренние регистры, такие как регистры общего назначения и специальные функции, являются 32-битными. Кроме того, пути данных, функциональные блоки (ALU), которые выполняют арифметические (сложение, вычитание, умножение и т. д.) и логические операции (И, ИЛИ, меньше, больше и т. д.) над данными, также имеют размер 32 бита. Шинные интерфейсы, такие как шины памяти/данных, также являются 32-битными. Следовательно, размер функционального блока, тракт данных, внутренние регистры, интерфейсные шины, диапазон адресов памяти являются основными факторами, определяющими 32-битный размер процессора ARM Cortex-M4.

Вы можете обратиться к этой статье для получения дополнительной информации:

  • Разница между 8-битными, 16-битными и 32-битными микроконтроллерами

Архитектура Cortex-M4 

Прежде чем обсуждать архитектуру Cortex-M, давайте сначала определим, что такое архитектура процессора. Архитектура любого процессора — это набор инструкций или набор правил, определяющих функциональность микропроцессора, таких как:

  • Загрузка инструкций
  • Декодирование инструкций
  • как он загружает и хранит данные/инструкции
  • Как процессор получает доступ к памяти

Существуют две широко используемые компьютерные архитектуры, т.е. Фон-Нуман и Гарвард. Микроконтроллеры Cortex-M основаны на гарвардской архитектуре, что означает, что они имеют отдельные инструкции и шины данных для доступа к памяти. Это означает, что процессор ARM Cortex-M может одновременно получать доступ как к данным, так и к инструкциям.

Банк регистров Cortex-M4

Микроконтроллеры Cortex-M основаны на процессоре ARMv7, и этот процессор имеет набор внутренних регистров, известный как банк регистров. Этот банк регистров состоит из 16 регистров в диапазоне от R0 до R16. Первые 13 регистров из R0-12 являются регистрами общего назначения, а последние три из R12-R15 являются регистрами специального назначения.

Регистры общего назначения (GPR)

Регистры общего назначения делятся на две группы, т.е. младшие регистры (R0-R7) и старшие регистры (R8-R12). GPR используются для хранения адресов и данных, которые в данный момент обрабатываются.

Регистры специальных функций

В регистрах специальных функций R13 (SP) является указателем стека и содержит адрес верхнего элемента стека. R14 — это регистр связи LR, который используется для хранения адреса возврата функций. R15 (ПК) — это программный счетчик, который содержит адрес следующей выполняемой инструкции. Значение счетчика программы автоматически увеличивается на 4 после выполнения каждой инструкции, чтобы оно указывало на адрес следующей инструкции.

Специальные регистры

Помимо банка регистров, процессор также имеет специальные регистры, которые содержат состояние программы, такое как рабочее состояние, системные прерывания. Эти регистры состояния:

  • PSR (регистр состояния программы)
  • PRIMASK
  • FAULTMASK
  • BASEPRI
  • CONTROL

Архитектура хранилища загрузки основана на архитектуре load store

Cortex-4 9000M. В архитектуре загрузочного хранилища всякий раз, когда процессор хочет выполнить операцию с данными, хранящимися в памяти, процессор сначала загружает эти данные из памяти в один из внутренних регистров процессора. После обработки данные будут записываться обратно в память только в случае необходимости.

Архитектура набора инструкций ARM Cortex-M4

Микроконтроллеры ARM Cortex-M4 основаны на архитектуре ARMv7. Следовательно, микроконтроллеры Cortex-M4 поддерживают архитектуру набора инструкций thumb-2. Инструкции Thumb-2 поддерживают сочетание 16-битных и 32-битных инструкций.

Исходная архитектура ARM представляет собой архитектуру набора инструкций ARM. ARM ISA имеет длину 32 бита и обеспечивает эффективную производительность. Но его главный недостаток — низкая плотность кода. Поэтому, чтобы повысить плотность кода, ARM предоставила набор инструкций thumb, такой как thumb-1 и thumb-2. Thumb-2 ISA содержит как 16-битные, так и 32-битные инструкции, чтобы получить производительность оригинальной ARM 32 ISA и лучшую плотность кода с 16-битными инструкциями.

Основные компоненты Cortex-M4

ARM Cortex-M4 состоит из следующих основных строительных блоков, как указано ниже:

  • Ядро процессора
  • NVIC (контроллер вложенных векторных прерываний)
  • Система отладки
  • Система шин и матрица шин
  • Память
  • Периферийные устройства

Контроллер вложенных векторных прерываний встроен в микросхему микроконтроллера. Основной обязанностью NVIC является обработка прерываний, приоритизация прерываний и минимизация задержки прерывания. Микроконтроллер ARM Cortex-M4 поддерживает 240 системных и периферийных прерываний, а NVIC осуществляет управление прерываниями с помощью таблицы векторов прерываний. Вы можете прочитать эту статью на NVIC:

  • Вложенный векторный контроллер прерываний (NVIC) Микроконтроллеры ARM Cortex-M

Процессоры, разработанные на основе профиля Cortex-M, обычно основаны на 32-разрядной архитектуре компьютера с сокращенным набором команд (RISC).

Разница между Cortex-M0, Cortex-M0, Cortex-M1, Cortex-M3 и Cortex-M4

Cortex-M также делится на дополнительные категории Cortex-M0, Cortex-M1, Cortex-M3 и Cortex-M4 . Где первые 2 относятся к семейству ARMv6, а Cortex-M3 и Cortex-M4 относятся к семейству ARMv7. Связь между Cortex-M3 и Cortex-M4 заключается в добавлении DSP (цифровой обработки сигналов) в Cortex-M4. Существует еще один профиль с именем Cortex-M4F, который отличается от Cortex-M4 только одним названием модуля — FPU (Floating Point Unit).

Архитектура Cortex-M3, Cortex-M4 и Cortex-M4F одинакова, и разница только в том, что описано выше. С другой стороны, мы можем сказать, что Cortex-M4 — это, по сути, профиль Cortex-M3 с интеграцией в него блока DSP. Архитектура набора инструкций, используемая в cortex-M4, представляет собой Thumb-2, который представляет собой смесь архитектуры набора инструкций 32-битного ARM и архитектуры набора инструкций 16-битного Thumb. Тем не менее, cortex-M4 добавляет ряд инструкций SIMD (одна инструкция, несколько данных) для оптимизации использования и функционирования цифровой обработки сигналов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *