Несмотря на богатую экосистему и растущее число реализованных «в железе» процессоров, архитектура RISC-V по-прежнему окружена различными мифами, из-за которых ее преимущества по-прежнему остаются не до конца реализованными.
Многие компании со всего мира все чаще обращают свое внимание на открытые аппаратные платформы и программные решения с открытым исходным кодом, рассматривая их как альтернативу закрытым. RISC-V – это бесплатная, открытая и расширяемая система команд (instruction set architectures, ISA), которая устанавливает новые стандарты гибкости, масштабируемости, расширяемости и модульности микропроцессорных систем (рис. 1). Несмотря на богатую экосистему RISC-V и растущее число реальных реализаций, среди разработчиков по-прежнему бытуют некоторые заблуждения относительно этой архитектуры, из-за чего она все еще остается недооцененной.
Рис. 1. RISC-V – открытая, бесплатная системам команд (ISA), которая благодаря совместной работе множества разработчиков позволяет открыть новую эру в области микропроцессорных систем
Давайте подробнее рассмотрим некоторые мифы, окружающие RISC-V ISA, чтобы лучше узнать технологию, инструменты и требования этой архитектуры, а также, чтобы понять каким образом ее можно использовать для ускорения инноваций и снижения затрат.
Миф 1. RISC-V – это еще одна процессорная архитектура
RISC-V – это стандартизованная, но открытая система команд (ISA). Она может быть расширена за счет дополнений, однако базовый набор команд является постоянным и не может быть изменен. В результате программа, написанная для одного ядра RISC-V с использованием базового набора команд, будет работать и на любом другом ядре RISC-V. Таким образом, использование открытой системы команд позволяет существенно ускорить внедрение новых решений и инновации. При этом компании могут оптимизировать и настраивать архитектуру под себя с учетом особенностей конкретных приложений. RISC-V должен сделать аппаратное обеспечение максимально открытым, как в свое время ОС Linux сделала открытым программное обеспечение.
Миф 2. RISC-V предназначен исключительно для научных целей, а не для промышленных приложений
Многие компании успешно внедряют RISC-V в своих коммерческих микропроцессорах. Andes Technology, Codasip, Bluespec, Cortus и другие поставщики встраиваемых IP-ядер предлагают реализации RISC-V. SiFive предлагает как лицензируемые программные IP-ядра, так и готовые, выполненные «в кремнии» микропроцессоры на базе RISC-V, в том числе и 32 -битную SoC-микросхему с RISC-V. Microsemi (Рис. 2), Rumble Development и VectorBlox предлагают программные IP-ядра RISC-V, которые можно встраивать в FPGA. Например, на пятой конференции RISC-V 30 ноября 2016 года была показана полнофункциональная камера замедленной съемки, использующая ядро RISC-V, реализованное в ПЛИС IGLOO2.
Рис. 2. Микросхема FPGA IGLOO2 оснащена IP-ядром RISC-V
Миф 3. На рынке нет ПЛИС или интегрированных сред разработки, которые можно использовать для оценки RISC-V
Компания Microsemi занимает лидирующее положение в этой области. Microsemi предлагает не только FPGA, поддерживающие ядра RISC-V (RTG4, IGLOO2 и PolarFire), но и интегрированную среду разработки (IDE) SoftConsole. Виртуальные платформы (программные симуляторы) также полезны для оценки RISC-V . Компания Imperas предлагает 32-битные и 64-битные модели ISA RISC-V и IDE (M*SDK) для разработки, отладки и тестирования программного обеспечения на RISC-V. Эти модели можно найти на веб-сайте Open Virtual Platforms. Кроме того, для оценки RISC-V разработчики могут использовать HiFive1 – Arduino-совместимую плату с RISC-V-процессором от SiFive.
Миф 4. Для использования RISC-V необходимо приобретать платную лицензию
Любой, кто хочет использовать RISC-V, может сделать это свободно – плата за использование RISC-V ISA не взимается. Например, многие программные ядра RISC-V можно бесплатно загрузить с сайта Microsemi, GitHub и др. Для конечных коммерческих продуктов использование товарного знака RISC-V или логотипа RISC-V разрешено только в соответствии с лицензией, предоставляемой в рамках Соглашения о членстве (RISC-V Foundation Membership Agreement.). Ключевым моментом является то, что данная ISA имеет разрешительную лицензию.
Миф 5. Компании, которые создают IP-ядра RISC-V, должны раскрывать их реализацию клиентам
Не существует каких-либо требований, согласно которым разработчик обязан раскрывать реализацию созданных им IP-ядер RISC-V ISA. Разработчик может поставлять IP-ядра RISC-V в закрытом виде в коммерческих продуктах, а может раскрывать их по-своему усмотрению. RISC-V Foundation поддерживает оба типа реализаций.
Кроме того, некоторые программные инструменты, поддерживающие RISC-V, включают в себя определенную реализацию IP-ядра. Как правило, эти инструменты, например, программы от Antmicro и Imperas, используют лицензию, аналогичную лицензии Berkeley Software Distribution (BSD) от Калифорнийского университета в Беркли; публичное раскрытие IP не требуется.
Миф 6. Процессоры RISC-V не такие быстрые и эффективные как x86 или ARM
Скорость и эффективность процессора зависит от множества параметров и особенностей реализации, в том числе от архитектуры, трассировки чипа, топологических норм производства и др. В теории процессоры RISC-V не уступают по производительности процессорам x86 или ARM. Наоборот, модульность ISA RISC-V позволяет создавать более эффективные решения, по сравнению с устаревшими системами команд x86 или ARM. Поскольку RISC-V ISA открыта, то у любого разработчика есть возможности для реализации максимально оптимизированного процессора для своих приложений.
Миф 7. Не существует программных средств для работы с RISC-V
Поддержка RISC-V была добавлена в GNU/GCC и GNU/GDB в мае 2017 года. Пользователям также предлагаются LLVM-инструменты (Low Level Virtual Machine) для создания компиляторов для RISC-V. Оба программных инструмента могут быть найдены на сайте RISC-V.
Antmicro предлагает для работы с RISC-V собственный симулятор инструкций (Instruction Set Simulator, ISS). Еще один симулятор инструкций есть в интегрированной среде разработки от QEMU. Imperas предлагает полностью виртуальную платформу для разработки программного обеспечения M * SDK. У Microsemi также есть среда IDE SoftConsole на базе Eclipse, которая используется для разработки программного обеспечения RISC-V.
SiFive предлагает бесплатную интегрированную среду разработки Freedom Studio на основе Eclipse.
Миф 8. Несколько ядер RISC-V не могут работать совместно в одном процессоре. Они также не могут работать вместе с другими процессорами
В этом смысле RISC-V ничем не отличаются от других процессорных ядер. Например, SiFive анонсировала многоядерные микросхемы с 32- и 64-разрядными ядрами RISC-V. В FPGA PolarFire для обеспечения расширенных функций безопасности микроконтроллер RISC-V используется совместно с криптографическим процессором Athena TeraFire. RISC-V отвечает за настройку типа безопасного обмена данными, а сам обмен осуществляет ядро TeraFire.
Миф 9. Доверять ядру RISC-V опасно
Если RTL-уровень (register transfer level) IP-ядра не закрыт и основан на хорошо известной открытой спецификации, его можно проверить и проанализировать, что важно для обеспечения безопасности проекта. При использовании программного IP-ядра RISC-V в FPGA можно самостоятельно проверить RTL, чтобы убедиться в его безопасности, в то время как в случае с процессорами с закрытыми архитектурами этого сделать нельзя, независимо от того идет ли речь о программных IP-ядрах или о готовых микросхемах. Таким образом, можно утверждать, что процессоры RISC-V с открытой реализацией оказываются намного более безопасным, чем ядра ARM или Intel, или любое другое закрытое программное ядро, где RTL недоступен.
Миф 10. RISC-V не поддерживаются ОС Linux
Наоборот, RISC-V поддерживаются несколькими разновидностями Linux, включая Yocto. В настоящий момент RISC-V Linux использует версию ядра Linux 4.6 и набор патчей RISC-V, которые будут включены в версию ядра 4.14. Это означает, что RISC-V скоро станет основной платформой в Linux. В отличие от ISA, создаваемых частными фирмами, открытый характер RISC-V ISA существенно облегчает координацию усилий различных компаний по поддержке Linux и других ОС, улучшая работу программного обеспечения и снижая затраты.
Миф 11. Невозможно перенести проект RISC-V с FPGA на ASIC
У некоторых производителей есть эмуляторы, которые позволяют предварительно запустить и проверить проект ASIC на FPGA. Codasip и SiFive предлагают прототипы IP-ядер для FPGA, которые можно перенести на ASIC. Microsemi предоставляет RTL для своих программных ядер RISC-V. Имея RTL очень просто сделать порт для ASIC, при этом не требуется оплачивать лицензионные отчисления.
Надеюсь после разоблачения этих мифов, разработчики наконец-то смогут реализовать все преимущества RISC-V. Дополнительную информацию по RISC-V можно получить на сайтах RISC-V Foundation или Microsemi RISC-V.
Источник: https://www.electronicdesign.com/