Будущее RISC
Мы уже некоторое время следим за открытой и бесплатной RISC-V ISA. Сначала мы прочитали спецификации, а затем увидели ядра RISC-V в микроконтроллерах, но теперь появилась новая плата, которая предлагает достаточную вычислительную мощность по достаточно низкой цене, чтобы действительно представлять интерес в одноплатном компьютере. VisionFive 2 успешно прошел Kickstarter еще в сентябре 2022 года, и я наконец получил устройство с 8 ГБ оперативной памяти. И это работает! JH7110 не превзойдет по производительности современный настольный компьютер или даже Raspberry Pi 4, но он достаточно хорош для запуска среды рабочего стола, просмотра веб-страниц и тестирования программного обеспечения.
И это очень важно, потому что архитектура RISC-V начинает появляться во многих местах. Задача заключалась в том, чтобы получить реальное оборудование, достаточно мощное для запуска Linux и компиляции программного обеспечения, при этом не требующее больших затрат. Если ARM — альтернативная архитектура, то RISC-V все еще остается экспериментальной, и это проблема при попытке использовать VF2. Эту тему мы повторим несколько раз, но здесь следует помнить, что появление большего количества устройств в сети — это первый шаг к исправлению ситуации.
Так что же вы получите? VF2 выпускается в трех вариантах: с двумя, четырьмя и восемью гигабайтами оперативной памяти. В остальном платы идентичны, и звездой шоу является JH7110, 64-битная четырехъядерная SoC RISC-V. В этот процессор встроен графический процессор Imagination BXE-4-32. Имеется порт USB-C, обычно используемый для питания платы, 4 порта USB 3.0, совместно использующие одну линию PCIe 2.0, и два порта Gigabit Ethernet. Плата имеет только один порт HDMI 2.0, но способна работать с двумя дисплеями, используя порт MIPI DSI. Есть также некоторые полезные функции совместимости с Raspberry Pi. Плата имеет 40-контактный разъем GPIO, в основном совместимый с распиновкой Raspberry Pi, и даже имеет четырехконтактный разъем Power over Ethernet в правильном месте для использования шляп Pi PoE. Это работает очень хорошо, единственный недостающий элемент — это управление вентилятором на HAT.
Также есть вход MIPI. Это должно быть совместимо с чем-то вроде камер Raspberry Pi, хотя у меня нет одной руки для тестирования. В нижней части устройства есть слот для SD-карты, разъем eMMC и очень приятный слот M.2 NVMe. До сих пор загрузка с NVMe по-прежнему требует наличия загрузочного раздела на SD-карте, но по-прежнему обеспечивает весь прирост скорости, которого заслуживает одна выделенная линия PCIe 2.0. Прямая загрузка с NVMe запланирована, но еще не реализована.
Аппаратное обеспечение достаточно впечатляющее, но работа утилиты зависит от поддержки ОС и программного обеспечения. Существует образ Debian, который регулярно обновляется, и проблемы постоянно исправляются. Что нас действительно волнует, так это статус верхнего уровня, и этот процесс уже начался. Есть надежда на то, что система с ядром 6.3 будет минимально загружаться, хотя необходимо подготовить довольно много драйверов, прежде чем система станет полностью пригодной для использования с ванильным ядром.
И один из тех драйверов, о которых мы должны упомянуть, — это графический процессор. Аппаратное обеспечение известно как графический процессор BXE-4-32, ядро графического процессора от Imagination Technologies и преемник архитектуры PowerVR. Imagination пытается встроить свои разработки в чипы RISC-V и в рамках этого выпустила драйверы с открытым исходным кодом для своих современных продуктов. Продолжаются усилия по расширению этих драйверов, и некоторый код активации уже размещен в Mesa.
Существует также более широкий вопрос поддержки RISC-V. Большинство современных дистрибутивов собирают пакеты RISC-V, но нередко можно обнаружить проблемы или сбойные пакеты в этой менее популярной архитектуре. Например, я хотел протестировать плату VF2 с помощью Phoronix Test Suite. Он доступен в виде пакета noarch, но имеет несколько зависимостей, например php-cli. Это зависит от php8.2, и в настоящее время этот пакет не может быть построен на базе RISC-V в Debian. Доступен патч для решения этой проблемы, поэтому я смог пересобрать .deb на VF2 и все заработало.
Всегда интересно протестировать новое блестящее оборудование. Итак, представьте себе мое разочарование, когда почти каждый тест процессора, который я пробовал, либо не устанавливался, либо не запускался. Я подозреваю, что это также новизна платформы RISC-V, поскольку многие тесты PTS еще не созданы для этой платформы.