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 →