Открыть сервис

ARC

ARC (от англ. Advance RISC Computing — перспективные RISC-вычисления) — это спецификация архитектуры набора команд (ISA) для 32-битных и 64-битных микропроцессоров, разработанная компанией ARC International (ранее — Argonaut RISC Core). Архитектура относится к классу RISC (Reduced Instruction Set Computer) и ориентирована на встраиваемые системы, системы на кристалле (SoC) и специализированные приложения, где требуется высокая энергоэффективность и настраиваемость.

История

Создание и ранние годы

Разработка архитектуры ARC началась в 1990-х годах компанией Argonaut Software, которая специализировалась на игровых консолях и графических ускорителях. Первоначально процессорное ядро ARC (Argonaut RISC Core) использовалось в игровых приставках, таких как 3DO Interactive Multiplayer, где требовалась высокая производительность при ограниченном энергопотреблении. В 1996 году компания Argonaut Software выделила подразделение процессорных решений в отдельную компанию ARC International.

Развитие и коммерциализация

В 1998 году ARC International представила первую версию спецификации ARC 32-bit ISA, которая предлагала модульную архитектуру, позволяющую разработчикам настраивать набор инструкций под конкретные задачи. В 2000-х годах архитектура ARC получила распространение в сетевых устройствах, аудио- и видеокодеках, а также в системах хранения данных. В 2005 году была выпущена 64-битная версия ARC 64-bit ISA, которая расширила адресное пространство и улучшила производительность для сложных вычислений.

Современное состояние

С 2010-х годов архитектура ARC развивается под управлением компании Synopsys, которая приобрела ARC International в 2010 году. Synopsys продолжает лицензировать ядра ARC, интегрируя их в свои инструменты проектирования SoC. На 2025 год архитектура ARC используется в миллиардах устройств по всему миру, включая Wi-Fi-роутеры, Bluetooth-наушники, датчики IoT и автомобильные системы.

Классификация и версии

По разрядности

  • ARC 32-bit — базовая версия архитектуры с 32-битным адресным пространством и регистрами общего назначения. Поддерживает до 4 ГБ оперативной памяти.
  • ARC 64-bit — расширенная версия с 64-битными регистрами и адресацией, позволяющая работать с большими объёмами памяти (до 16 эксабайт). Обратно совместима с 32-битными инструкциями.

По поколениям

  • ARC Classic — первое поколение ядер (ARC 600, ARC 700), выпущенное в 1998–2005 годах. Отличалось простой конвейерной архитектурой и низким энергопотреблением.
  • ARC HS (High Speed) — второе поколение (ARC HS34, HS36, HS38), представленное в 2012 году. Оптимизировано для высокопроизводительных встраиваемых систем, поддерживает многопоточность и динамическое изменение частоты.
  • ARC EM (Embedded) — третье поколение (ARC EM4, EM6, EM7D), выпущенное в 2014 году. Ориентировано на ультранизкое энергопотребление и малые размеры кристалла, используется в IoT-устройствах и носимой электронике.
  • ARC VPX — четвёртое поколение (ARC VPX2, VPX3), представленное в 2020 году. Включает встроенные DSP-блоки и векторные расширения для обработки сигналов и машинного обучения.

Устройство и характеристики

Архитектура набора команд (ISA)

ARC использует классическую RISC-архитектуру с фиксированной длиной инструкции (16 или 32 бита). Набор инструкций включает:

  • Арифметико-логические операции (сложение, вычитание, умножение, логические операции).
  • Операции с памятью (загрузка/сохранение с поддержкой байтовой, полусловной и словной адресации).
  • Управляющие инструкции (условные и безусловные переходы, вызовы подпрограмм).
  • Специализированные инструкции (для работы с DSP, криптографией, векторными данными).

Регистровый файл

ARC имеет 32 регистра общего назначения (R0–R31), каждый размером 32 или 64 бита в зависимости от версии. Регистры R0, R1, R2, R3 используются для передачи аргументов функций, R4–R31 — для локальных переменных. Также присутствуют регистры состояния (STATUS) и указателя стека (SP).

Конвейер

Большинство ядер ARC используют 5-стадийный конвейер (выборка, декодирование, выполнение, доступ к памяти, запись результата). В версиях ARC HS количество стадий увеличено до 7–9 для повышения тактовой частоты. ARC EM использует 3-стадийный конвейер для снижения энергопотребления.

Энергопотребление

ARC EM4 потребляет менее 10 мкВт/МГц при напряжении 0,8 В, что делает его одним из самых энергоэффективных ядер в классе встраиваемых RISC-процессоров. ARC HS при тактовой частоте 1 ГГц потребляет около 100 мВт.

Применение

Встраиваемые системы

Архитектура ARC широко используется в микроконтроллерах и SoC для:

  • Сетевого оборудования — роутеры, коммутаторы, точки доступа Wi-Fi (например, чипы Broadcom, Qualcomm Atheros).
  • Аудио- и видеокодеков — процессоры для сжатия звука (MP3, AAC) и видео (H.264, H.265) в портативных плеерах и смартфонах.
  • Промышленной автоматики — контроллеры для датчиков, исполнительных механизмов, систем управления.

Интернет вещей (IoT)

Ядра ARC EM и ARC VPX используются в устройствах IoT благодаря низкому энергопотреблению и малым размерам. Примеры: умные датчики температуры, носимые фитнес-трекеры, системы «умного дома».

Автомобильная электроника

ARC применяется в автомобильных системах для обработки сигналов с датчиков (парктроники, камеры заднего вида), управления двигателем и информационно-развлекательных системах. Например, в чипах NXP Semiconductors и Texas Instruments.

Потребительская электроника

Архитектура ARC встречается в Bluetooth-наушниках, беспроводных колонках, пультах дистанционного управления и игровых контроллерах. В 2023 году компания Synopsys сообщила, что более 3 миллиардов устройств на базе ARC были отгружены по всему миру.

Примеры устройств и продуктов

Микроконтроллеры

  • ARC EM4 — 32-битный микроконтроллер с тактовой частотой до 200 МГц, используется в датчиках и носимых устройствах.
  • ARC HS34 — 64-битный процессор с частотой до 1,5 ГГц, применяется в сетевых маршрутизаторах.

SoC-решения

  • Synopsys DesignWare ARC VPX — интегрированное ядро с DSP-блоком для обработки аудио и видео, используется в чипах для Bluetooth-гарнитур.
  • ARC 600 — классическое ядро, применялось в игровых консолях 3DO и ранних моделях DVD-плееров.

Критика и ограничения

Закрытость и лицензирование

Архитектура ARC является проприетарной — все ядра лицензируются компанией Synopsys. Это ограничивает её распространение в открытых проектах и сообществах разработчиков, в отличие от открытых архитектур, таких как RISC-V. Стоимость лицензии на одно ядро может составлять от 10 000 до 100 000 долларов США в зависимости от конфигурации.

Производительность

Несмотря на высокую энергоэффективность, ARC уступает по производительности архитектурам общего назначения, таким как ARM Cortex-A или x86, в задачах, требующих сложных вычислений с плавающей запятой или многопоточности. Это ограничивает её применение в серверных и настольных системах.

Экосистема

Инструментарий для разработки под ARC (компиляторы, отладчики, симуляторы) поставляется преимущественно компанией Synopsys и её партнёрами. Открытые альтернативы (например, GCC с поддержкой ARC) существуют, но имеют ограниченную функциональность и не всегда поддерживают последние версии ядер.

Интересные факты

  • Архитектура ARC изначально разрабатывалась для игровых консолей, но в итоге нашла основное применение в промышленных и потребительских встраиваемых системах.
  • В 2015 году компания Synopsys выпустила ядро ARC EM7D, которое стало первым в мире процессорным ядром с поддержкой аппаратного ускорения для криптографических алгоритмов (AES, SHA-256) на уровне инструкций.
  • По данным Synopsys на 2024 год, совокупный объём поставок устройств на базе ARC превысил 10 миллиардов единиц, что делает её одной из самых массовых RISC-архитектур после ARM и x86.

Источники

  • Synopsys. «ARC Processor Architecture Reference Manual». 2023.
  • ARC International. «ARC 32-bit ISA Specification». 1998.
  • ARC International. «ARC 64-bit ISA Specification». 2005.
  • Synopsys. «DesignWare ARC HS Processor Family». 2012.
  • Synopsys. «DesignWare ARC EM Processor Family». 2014.
  • Synopsys. «DesignWare ARC VPX Processor Family». 2020.
  • Статья «Argonaut RISC Core» в журнале «Embedded Systems Programming». 1997.
  • Документация GNU Compiler Collection (GCC) по архитектуре ARC. 2024.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →