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

Привет, Хабр! Сегодня хочется рассказать немного о семействе процессоров ARM Cortex. Почему? Потому не каждый знает, что вся линейка STM-контроллеров построена на базе данных процессоров, а имеено на процессорах Cortex-M, но помимо них есть и другие типы, поэтому перейдем к делу!
Итак, семейство ARM Cortex — это широко популярное поколение процессоров, выполненных по RISC-архитектуре (RISC — Reduced Instruction Set Computer — архитектура с набором простых инструкций, благодаря данной архитектуре увеличивается быстодействие выполнения команд). Семейство ARM Cortex подразделется на три вида:
- ARM Cortex-A — это процессоры, предназначенные для высокопроизводительных применений. Данный тип процессоров используется в смартфонах, планшетах, а также игровых приставках. Линейка процессоров Cortex-A поддерживает следующие наборы инструкций: ARM, Thumb и Thumb-2. Рассмотрим где же все-таки применяются некоторые типы ядер данного семейства процессоров:
- Cortex-A5 — данный тип ядра используется для бюджетного типа устройств и предназначается для запуска простейших приложений, но никак не для ресурсоемких программ;
- Cortex-A7 — данный тип ядра является более мощным процессором с кэшом второго уровня до 4 МБ и предназначается для смартфонов;
- Cortex-A15 — данный тип ядра является наилучшим решением и используется в чипах флагманских коммуникаторов различных производителей.
- ARM Cortex-R — это процессоры, предназначенные для реально-временных применений. Данный тип процессоров используется в автомобилях и жестких дисках т.к имеет высокую надежность, отказоустойчивость и детерменированные ответы в режиме real-time. В Cortex-R поддерживаются все те же инструкции, что и в Cortex-A. Пару примеров данной серии процессоров:
- ARM Cortex-R5 и ARM Cortex-R7 — процессоры выполненные по 28-нанометровой технологии, в которые добавлена поддержка стандартов LTE и LTE-Advanced. Также данные процессоры выполняются в одно- и двухядерных вариантах.
- 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.