При обсуждении смартфонов, планшетов и даже некоторых ноутбуков часто вспоминают процессоры ARM. Эта технология способствовала быстрому развитию портативных компьютеров в начале 2010-х годов, а сейчас это уже принятый стандарт для мобильной техники и микроэлектроники. Так что же это за зверь? Давайте разберемся.
Центральный процессор
Все компьютеры, планшеты, ноутбуки и смартфоны используют процессор для выполнения вычислений, который получает инструкции, выполняет их и выдает результат. Центральный Процессор (ЦП, The Core Processing Unit, CPU) часто называют мозгом компьютера. Это один из нескольких блоков обработки, но, пожалуй, самый важный. Центральный процессор выполняет вычисления, действия и запускает программы. В старых компьютерах эти функции были распределены между несколькими элементами, но усовершенствование в производстве и дизайне полупроводниковых устройств привело к тому, что весь ЦП поместили на одном чипе.
С тех пор как появились первые процессоры, было внесено много улучшений. Несмотря на это, основная функция центрального процессора осталась неизменной и состоит из трех основных функций:
- выборка (fetch),
- декодирование (decode),
- исполнение (execute).
Fetch (выборка). Как и следует из названия, выборка предусматривает получение инструкции. Инструкция представлена в виде ряда чисел и передается в ЦП из оперативной памяти. Каждая инструкция является лишь небольшой частью любой операции, поэтому ЦП должен знать, какая инструкция следующая. Текущий адрес команды хранится программным счетчиком (ПС). Затем ПС и инструкции размещаются в реестре инструкций (РИ). Затем длина ПС увеличивается для ссылки на адрес следующей инструкции.
Decode (декодирование). После того, как инструкция получена и сохранена в реестре инструкций, ЦП передает инструкцию в схему, называемую декодером инструкций, при этом преобразует инструкцию в сигналы, передаваемые другим частям ЦП для выполнения действий.
Execute (исполнение). На последнем этапе декодированные инструкции направляются в соответствующие части ЦП для завершения. Результаты обычно записываются в регистр ЦП, где на них могут ссылаться следующие инструкции. Для визуализации это сравнимо с функцией памяти на калькуляторе.
Многоядерные процессоры
Ранние компьютеры имели только одно ядро процессора, поэтому центральный процессор ограничивался обработкой одного набора инструкций за раз. Вот почему эти старые компьютеры были относительно медленными, а обработка данных отнимала много времени. С годами производители довели одноядерные процессоры до предела своих возможностей, поэтому пришлось искать другие способы улучшить возможности процессора. Вот почему сейчас так широко распространены многоядерные процессоры, а такие технические характеристики смартфонов, как 4-ядерный, или 8-ядерный процессор, уже давно никого не смущают.
Однако они не так сложны, как кажется на первый взгляд. Например, двухъядерный процессор – это только два отдельных ЦП на одном чипе. Вместо того чтобы полностью перерабатывать процессор, компании усовершенствовали производственный процесс для повышения производительности.
Кроме того, разработчики процессоров нашли способ еще больше повысить производительность, заставив одноядерный процессор действовать так, словно он имеет два ядра. Это известно как гиперпоточность и распространено в большинстве процессоров Intel Core.
Мобильные процессоры
Традиционно компьютеры были большими статическими настольными электронными устройствами, постоянно питающимися от электросети. Однако сейчас всё большее распространение получают ноутбуки, смартфоны, планшеты и умные домашние устройства, имеющие процессорамы мощнее старых ПК.
Для осуществления такого перехода к портативности устройства используют специально разработанные мобильные процессоры. Эти процессоры оптимизированы для энергопотребления и эффективности, чтобы максимально продлить время работы автономного устройства от аккумулятора. К сожалению, многие производители назвали свои мобильные и обычные процессоры одинаковыми названиями, но с разными номерами диапазонов и суффиксами. Хотя стандарта нет, обычно мобильные процессоры обозначаются U для сверхнизкого энергопотребления, HQ для высокопроизводительной графики и HK для производительной графики и разгона. Поэтому буквой «K» обозначаются модели для разгона, а «T» – для оптимизированного энергопотребления.
Частота. Частота относится к рабочей скорости процессора. До появления многоядерных процессоров частота являлась важнейшим показателем производительности отдельных ЦП. Несмотря на добавление функций, это все еще жизненно важная спецификация, которую следует учитывать. Примечательно, что очень быстрый двухъядерный ЦП может превзойти, например, более медленный 4-ядерный ЦП.
Как правило, настольные и портативные компьютеры используют процессоры от Intel или AMD. Эти процессоры созданы для обеспечения оптимальной производительности настольного компьютера, где питание надежно, батареи вместительны, и часто есть специальный графический процессор и система охлаждения.
Однако мобильные устройства требуют других соображений. Чтобы оставаться портативным, батареи должны быть меньше, нет места для вентилятора или системы охлаждения, и устройство должно работать без задержек и технических проблем. В течение 2000-х это было поистине вызовом при создании портативных компьютеров.
Сложные конструкции настольных процессоров плохо подходят для мобильных устройств, поскольку требования к аппаратному обеспечению значительно отличаются. В результате смартфоны, которыми мы их знаем сегодня, не являлись жизнеспособной концепцией при использовании традиционной вычислительной архитектуры.
Що таке процессор ARM?
Чтобы преодолеть эти проблемы, производители решили заменить архитектуру CISC (Complex Instruction Set Computing) ЦП настольных компьютеров на что-то, что лучше подходит для мобильных компьютеров. Процессоры ARM являются идеальным выбором, поскольку используют упрощенный, менее энергоемкий метод обработки. Это представлено в названии ARM, которое означает Advanced RISC Machine. Где RISC (Reduced Instruction Set Computing) расшифровывается как сокращенный набор инструкций и действует на основе RISC-команд, уже содержащих готовый набор простейших элементов. Это уменьшает процессорную гибкость, но в разы увеличивается скорость обработки данных и соответственно уменьшаются энергозатраты такого процессора. Как ни странно, RISC сам по себе не является технологией. Это идеология дизайна. Процессоры ARM разработаны таким образом, чтобы быть максимально эффективными, принимая только инструкции, которые могут быть выполнены в один цикл памяти. Общим процессом для ЦБ, как и прежде, является получение, декодирование и выполнение инструкций.
Говоря о том, что такое чипы ARM, следует отметить такой момент как комплексность предлагаемых современных мобильных систем. ARM – это не просто один процессор. Как правило, в него входят: контроллер оперативной памяти, графический ускоритель, видеодекодер, аудиоокодек и опциональные модули беспроводной связи. Такая система называется однокристальной (SoC – system-on-a-chip). Другими словами, ARM – это целая система на одном чипе.
Может показаться, что процессоры с сокращенным набором инструкций RISC, а значит и устройства ARM, будут шагом назад. Кстати, RISC изначально был разработан в 1980-х годах, но не оказал существенного влияния на рынок. Однако компания ARM Holdings, разрабатывающая процессоры ARM, разработала краткий формат инструкций. Несмотря на обработку только одного набора инструкций за один цикл памяти, инструкции могут быть длиннее и сложнее.
Первоначальные разработки RISC использовали 32-разрядную архитектуру, но с 2011 года ARM Holdings включила поддержку 64-разрядной архитектуры. Это было бы невозможно достичь только с помощью RISC, но это стало возможно благодаря архитектуре набора инструкций компании.
Техническая конструкция процессоров ARM упрощает производство и физический дизайн. Сниженная сложность блоков RISC означает, что им требуется меньше транзисторов на микросхеме. Как правило, большее количество транзисторов означает повышенные потребности в электроэнергии и более высокую производственную, а следовательно, розничную стоимость. По этой причине процессоры ARM обычно дешевле традиционных настольных процессоров.
Поскольку процессоры ARM сочетают в себе высокопроизводительные конструкции RISC, более низкие затраты на производство и сниженное энергопотребление, они идеально подходят для портативных устройств, таких как смартфоны, планшеты и даже некоторые ноутбуки. При этом обобщенное сравнение процессоров ARM может быть в корне ошибочно.
ARM Holdings сама не производит никаких процессоров. Вместо этого компания создает технологию, разрабатывает стандарт инструкций, а затем лицензирует эти разработки другим производителям. Вот почему существует столь много вариантов процессоров ARM и вот почему каждый из них работает по-разному.
Компании, разработавшие чипы по технологии Arm Holdings, включают: дочернюю компанию Amazon.com Annapurna Labs, Analog Devices, Apple, AppliedMicro (теперь: MACOM Technology Solutions), Atmel, Broadcom, Cavium, Cypress Semiconductor, Freescale Semiconductor (теперь , Huawei, Intel, Maxim Integrated, Nvidia, NXP, Qualcomm, Renesas, Samsung Electronics, ST Microelectronics, Texas Instruments и Xilinx. Сегодня лицензии на архитектуру ARM предоставлены многим компаниям, в частности Apple, Cirrus Logic, Intel, LG, Microsoft, NEC, Nintendo, Nvidia, Sony, Samsung и многим другим.
Производители аппаратного обеспечения платят ARM Holdings за основную технологию, но затем адаптируют ее к своим потребностям, требованиям к программному обеспечению и дизайну аппаратного обеспечения. В результате многие продукты содержат процессоры ARM. Однако их трудно сравнивать друг с другом, как это было бы с процессорами Intel.
Еще больше усугубляет ситуацию то, что программное обеспечение должно быть разработано специально для аппаратного обеспечения ARM и поэтому не совместимо с другими архитектурами. Операционные различия между процессорами ARM и настольными компьютерами являются одним из главных факторов, что делает ваш телефон медленнее, чем настольный компьютер. Однако, поскольку они эффективны и недороги, вы можете найти процессоры ARM даже на некоторых ноутбуках (например, Samsung Galaxy Book S и Lenovo Yoga C630 13). Эти ноутбуки могут похвастаться временем автономной работы выше среднего, новым ультрапортативным дизайном и поддержкой подключения LTE, и, хотя производительность процессора не так хороша, как у их аналогов Intel x86, он все же был достаточно мощным для основных задач, таких как просмотр веб-страниц, потоковое видео и обработки текстов.
На сегодняшний день ARM насчитывает уже несколько процессорных поколений:
Первое поколение ARM9, работало на частоте до 400 МГц. Эти чипы уже морально устарели, но они все еще пользуются спросом, например, в беспроводных маршрутизаторах и терминалах оплаты. Набор простых команд такого чипа позволяет легко запускать многие Java-приложения.
Процессоры ARM11 работают с более полным набором простых команд и тактовой частотой до 1 ГГц. Благодаря невысокому энергопотреблению и низкой себестоимости чипы ARM11 до сих пор используются в смартфонах начального уровня.
Современные чипы архитектуры ARM, принадлежащие к семейству ARMv7, имеют флагманских представителей, уже достигших отметки в восемь ядер и тактовой частоты более 2 ГГц. Разработанные непосредственно ARM Limited процессорные ядра принадлежат линейке Cortex и большинство производителей однокристальных систем используют их без существенных изменений. Начиная с ARMv7, было определено 3 профиля:
A (application) — для устройств, требующих высокой производительности (смартфоны, планшеты);
R (real time) – для приложений, работающих в реальном времени;
M (microcontroller) — для микроконтроллеров и встраиваемых недорогих устройств, например популярный сейчас микроконтроллер Raspberry Pi PICO имеет именно процессор Arm Cortex M0+.
ARM Cortex A8. Исторически первым процессорным ядром семейства ARMv7 было Cortex-A8, легшее в основу таких известных SoC в свое время как Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab). Оно демонстрирует примерно вдвое более высокую производительность по сравнению с предыдущим ARM11, и, к сожалению, выше энергопотребление, что делает этот чип в настоящее время крайне непопулярным.
ARM Cortex-A9. Вслед за Cortex-A8 компания ARM Limited представила новое поколение чипов – Cortex-A9, которое сейчас наиболее распространено и занимает среднюю ценовую нишу. Производительность ядер Cortex-A9 выросла примерно в три раза по сравнению с Cortex-A8, да еще появилась возможность объединять их по два или четыре на одном чипе.
ARM Cortex-A5 и Cortex-A7. При проектировании процессорных ядер Cortex-A5 и Cortex-A7 компания ARM Limited преследовала одну и ту же цель – достичь компромисса между минимальным энергопотреблением ARM11 и приемлемым быстродействием Cortex-A8. Не забыли и о возможности объединения ядер по два-четыре – многоядерные чипы Cortex-A5 и Cortex-A7 (Qualcomm MSM8625 и MTK 6589).
ARM Cortex-A15 Процессорные ядра Cortex-A15 стали логическим продолжением Cortex-A9 – как результат, чипам архитектуры ARM впервые в истории удалось примерно сравниться по быстродействию с Intel Atom, а это уже большой успех. Не зря ведь компания Canonical в системных требованиях к версии ОС Ubuntu Touch с полноценной многозадачностью указала двухъядерный процессор ARM Cortex-A15 или аналогичный Intel Atom.
Отладка
Все современные процессоры ARM имеют аппаратные средства отладки, так как без них отладчики ПО не смогли бы выполнить базовые операции типа остановки, осмотра, установки контрольных точек после перезагрузки.
Архитектура ARMv7 определяет базовые средства отладки на архитектурном уровне. К ним относятся точки остановки, точки просмотра и выполнения команд в режиме отладки. Такие средства были доступны с модулем отладки EmbeddedICE. Поддерживаются оба режима – остановки и осмотра. Реальный транспортный механизм, используемый для доступа к средствам отладки, не является специфичным архитектурно, но реализация, как правило, включает поддержку JTAG.
Отладочные платы
Еще одним элементом исследования ARM процессоров являются такие средства разработки, как Отладочные платы, которые можно заказать и приобрести в интернет-магазине evo.net.ua с доставкою. Они предлагают удобный способ создания приложений и проектов на разных процессорах и имеют все необходимые физические интерфейсы, поддерживаемые именно этим процессором. Отладка обычно производится со встроенного в плату элемента для отладки. В наличии есть большой ассортимент отладочных плат Nordic Semiconductor,
а также плат от STMicroelectronics серии STM32 Nucleo-64, которые позволяют разработчикам попробовать новые концепции и создать прототипы с помощью микроконтроллера STM32, выбрав из различных вариантов производительности, энергопотребления и других функций.
Исследуемые элементы этих плат используются в том числе для управления двигателями, в бытовой технике, е-велосипедах, кондиционерах, для измерений в промышленном оборудовании, в дронах и игрушках, в серверах, телекомах и зарядных станциях для электромобилей.
Будущее вычислительной техники на технологии Arm
В наши дни любые сомнения в том, что Arm может конкурировать с Intel x86 с точки зрения производительности, постепенно развеиваются благодаря Apple. Его процессоры M1, M1 Pro, M1 Max и M1 Ultra обеспечивают лучшую скорость в соответствующих классах ЦП, даже когда речь идет о настольных компьютерах Mac Studio.
Итак, если вам нужен мощный ноутбук или ПК с Windows, вам лучше избегать Arm и использовать процессор Intel x86 от AMD или Intel.
Но говорить о том, что ARM явно лучше или хуже, чем Intel x86, слишком неоднозначно, и нет никаких сомнений в том, что первый тип процессора совершенствуется все более быстрыми темпами и, вероятно, в ближайшем будущем его присутствие будет больше не только на рынке смартфонов, но и в игровой индустрии.