Небольшое знакомство с ARM-процессорами

image

Привет, Хабр! Сегодня хочется рассказать немного о семействе процессоров ARM Cortex. Почему? Потому не каждый знает, что вся линейка STM-контроллеров построена на базе данных процессоров, а имеено на процессорах Cortex-M, но помимо них есть и другие типы, поэтому перейдем к делу!

Итак, семейство ARM Cortex — это широко популярное поколение процессоров, выполненных по RISC-архитектуре (RISC — Reduced Instruction Set Computer — архитектура с набором простых инструкций, благодаря данной архитектуре увеличивается быстодействие выполнения команд). Семейство ARM Cortex подразделется на три вида:

  1. ARM Cortex-A — это процессоры, предназначенные для высокопроизводительных применений. Данный тип процессоров используется в смартфонах, планшетах, а также игровых приставках. Линейка процессоров Cortex-A поддерживает следующие наборы инструкций: ARM, Thumb и Thumb-2. Рассмотрим где же все-таки применяются некоторые типы ядер данного семейства процессоров:

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

  2. ARM Cortex-R — это процессоры, предназначенные для реально-временных применений. Данный тип процессоров используется в автомобилях и жестких дисках т.к имеет высокую надежность, отказоустойчивость и детерменированные ответы в режиме real-time. В Cortex-R поддерживаются все те же инструкции, что и в Cortex-A. Пару примеров данной серии процессоров:

    • ARM Cortex-R5 и ARM Cortex-R7 — процессоры выполненные по 28-нанометровой технологии, в которые добавлена поддержка стандартов LTE и LTE-Advanced. Также данные процессоры выполняются в одно- и двухядерных вариантах.

  3. ARM Cortex-M — это процессоры, предназначенные для микроконтроллерных применений. Данная линейка процессоров применяется не только в STM-контроллерах, но и в разработках таких фирм как: Texas Instruments, Analog Devices, Atmel и т.д. По сравнению с предыдущими линейками Cortex-процессоров, ARM Cortex-M является более дешевым и поэтому содержит в себе всего один набор инструкций — Thumb-2.

Приведу несколько плюсов использования Cortex-процессоров:

  • Гарвардская архитектура. Стоит помнить о том, что каждая команда проходит через трехступечнатый конвейер (выборка, дешифрация и выполнение команды), но благодаря Гарвардской архитектуре операции выполняются параллельно, т.е выглядит это так: первая инструкция — выполняется, вторая — дешифрируется, третья — считывается с определенной ячейки памяти;
  • Метод bit banding. Благодаря данному методу осуществляется эффективный доступ к регистрам и флагам устойств ввода-вывода, расположенных в SRAM. Благодаря данному методу можно сэкономить во-первых размер программы, а во-вторых время выполнения программы;
  • Низкая стоимость. На сегодняшний день благодаря высокой степени безопасности, защищенности, достачно большим объемом памяти и множеству других плюшек, Cortex-процессоры являются лучшим выбором среди других процессоров.

На сегодня у меня все, в дальнейшем планирую начать написание целого практического цикла о программировании в связке STM32+Linux, начиная от «Hello, World!» и заканчивая FreeRTOS.
Tags:
stm32, программирование микроконтроллеров, arm

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.