Процессоры с сокращённым набором инструкций (RISC): современное применение и перспективы
Архитектура процессоров с сокращённым набором инструкций (RISC) не является новой — она существует уже десятилетиями как упрощённая альтернатива процессорам с полным набором инструкций (CISC), которые предшествовали им. Ранние процессоры CISC хорошо справлялись со своими задачами и, как правило, следовали архитектуре фон Неймана, при которой выполнение команд происходило в циклах: загрузка, декодирование и выполнение. В свою очередь, процессоры RISC используют архитектуру Гарварда, где шины данных и команд разделены. Это позволяет одновременно обрабатывать команды и данные, что даёт возможность исполнять каждую команду за один такт. Такая организация делает RISC-процессоры быстрыми, предсказуемыми и упрощает создание компиляторов и библиотек функций, которые легко адаптируются для различных платформ.
Однако, как и CISC, процессоры RISC у разных производителей имеют различия в архитектуре, периферийных устройствах, входах/выходах и наборах инструкций. Это требует разработки специализированных инструментов для каждого конкретного производителя и его продукции. Разработчики инструментов решают эту задачу за счёт создания плагинов и заголовочных файлов, которые адаптируют цепочки инструментов под конкретные процессоры, что является сложной и ресурсоёмкой задачей.
Проект RISC-V, начатый в 2010 году в Калифорнийском университете в Беркли, приобрёл широкое внимание инженеров и производителей лишь после 2018 года. Он обещает избавить разработчиков от зависимости от конкретного производителя или семейства процессоров.
RISC-V представляет собой открытую спецификацию архитектуры набора инструкций (ISA), позволяющую любому производителю разрабатывать процессоры, способные выполнять одинаковый код. Такой подход устраняет необходимость изучения и создания уникальных экосистем разработки для каждой архитектуры процессоров. RISC-V ядра могут использоваться не только в процессорах общего назначения, но и в ASIC и FPGA для создания интегрированных решений.
Ключевой особенностью RISC-V является его модульность и расширяемость. Несмотря на использование стандартизированного набора инструкций, разработчики могут добавлять собственные команды, оптимизирующие выполнение специфических задач. Такие расширения могут использоваться как для создания уникальных решений производителями процессоров, так и для внедрения инженерных идей в ASIC/FPGA через языки описания оборудования, такие как Verilog или VHDL.
Почему это актуально именно сейчас?
На рынке доминируют процессоры с архитектурой Advanced RISC Machine (ARM). Однако несколько факторов, таких как совместное предприятие ARM и Huawei в Китае и рост цен на лицензирование, делают использование ARM менее выгодным. Многие компании сталкиваются с шестизначными суммами лицензионных сборов и высокими роялти, что меняет экономическую целесообразность.
Политическое напряжение вокруг высокотехнологичных разработок также способствует переходу к архитектуре RISC-V. Чтобы избежать геополитических проблем, стандарты RISC-V стали международными, а их управление передано в Швейцарию. Фонд RISC-V International (riscv.org) поддерживает и развивает эти стандарты, обеспечивая их независимость от национальных и корпоративных интересов.
Открытый подход RISC-V снижает барьеры для инноваций и становится мощным инструментом для глобального сообщества разработчиков.
