Страница 1: Тест и обзор: платформа для разработчиков SiFive HiFive Unmatched – взгляд в будущее?

sifive-hifive-unmatchedМногие годы на рынке доминировали дизайны x86, архитектура IBM Power занимала свою нишу, как и конкуренты ARM. Но сегодня на x86 давят не только они, но и архитектура с открытым набором инструкций RISC-V. Возможно, в будущем она сможет захватить значительную долю рынка. В нашу тестовую лабораторию поступил SiFive HiFive Unmatched, посмотрим, как он покажет себя на практике.

В отличие от большинства наборов инструкций ISA, RISC-V не патентован, поэтому его можно использовать как угодно. Причем даже в коммерческих целях. Компании несут расходы только при использовании RISC-V в маркетинговых материалах, либо при задействовании ресурсов RISC-V Foundation. Поэтому многие небольшие компании выбрали RISC-V, чтобы разработать собственные дизайны. Набор команд RISC-V был создан в 2010 году в Калифорнийском университете в Беркли под руководством Дэвида Паттерсона и Крсте Асановича, для которых это далеко не первый проект по разработке аппаратных и программных компонентов. Изначально RISC-V позиционировался как простой и практичный набор инструкций для компьютеров, максимально упрощающий дизайн. На что указывает аббревиатура RISC - сокращенный набор команд (reduced instruction set computer).

При разработке RISC-V было заложена два вектора на минимизацию затрат и максимальную эффективность набора инструкций. Они и сегодня остаются сильной стороной дизайна. Поэтому некоторые компании уже давно занимаются системами RISC-V.

Например, NVIDIA устанавливает в свои GPU ядро RV64IM, обеспечивающее ряд функций безопасности. Western Digital использует различные ядра в контроллерах SSD. Apple на данный момент занимается наймом специалистов в области RISC-V, поэтому вполне можно ожидать соответствующие ядра в будущих SoC A и M. Intel анонсировала намерение использовать дизайны SiFive, разработчика ядер RISC-V. OpenFive, подразделение SiFive, уже представило PHY интерконнекта для будущих дизайнов чиплетов и подсистему HBM3. Google разработала OpenTitan, чип безопасности на основе микроконтроллера RISC-V. Ранее использовались ядра ARM.

Интерес к RISC-V весьма велик, и на рынке есть уже реализованные проекты. На самом деле RISC-V уже давно вошла в нашу повседневную жизнь, хотя этот набор инструкций не так широко известен, как x86 или ARM.

Широкий спектр использования RISC-V заметен и по тому факту, что в проекте European Processor Initiative (EPI) планируется использовать ускорители RISC-V, причем первые образцы уже получены. В Китае многочисленные компании тоже работают над ядрами RISC-V, в том числе Huami, HiSilicon, Alibaba и Allwinner.

Крупные бренды пока только разворачиваются в сторону RISC-V, что создает возможность для небольших компаний представить свои проекты. В частности, SiFive предлагает платформу для разработчиков HiFive Unmatched.

SiFive HiFive Unmatched

Система HiFive Unmatched призвана облегчить разработчикам знакомство с миром RISC-V. Она имеет привычные интерфейсы и стандартный форм-фактор, программная экосистема тоже многим знакомая, что немаловажно. Конечно, цена тоже имеет значение. HiFive Unmatched от эксклюзивного партнера Mouser обойдется в $1.096 (80 тыс. рублей). Сравнимые платформы для разработчиков либо недоступны вообще, либо стоят намного дороже.

С габаритами 170 x 170 мм SiFive HiFive Unmatched соответствует формату Mini-ITX. Имеются порты M.2, слот PCI Express, а питание подается стандартным штекером ATX. Поэтому для использования платформы ничего специального не потребуется. В комплект поставки входит заглушка ввода/вывода, стойки для монтажа, винты для портов M.2 и карта microSD с предустановленным Linux.

Для работы SiFive HiFive Unmatched необходим блок питания мощностью от 150 Вт.

Под небольшим вентилятором с синим радиаторам находится основной компонент Unmatched: SiFive Freedom U740 SoC. В чипе работают пять ядер RISV-V, а именно четыре SiFive Essential U74 и одно SiFive Essential S7. Многоядерный дизайн U74MC продолжает дорабатываться, теперь он базируется на релизе SiFive 21G2. Четыре 64-битные ядра (U74 / RV64GC) имеют по 32 кбайт кэша инструкций и данных L1. Урезанное ядро S7 (RV64IMAC) имеет 16 кбайт кэша инструкций и 8 кбайт DTIM (Data Tightly Integrated Memory). Все ядра дополняются 2 Мбайт когерентного кэша L2, тактовые частоты составляют до 1,2 ГГц.

Под вторым пассивным радиатором установлен коммутатор PCI Express от ASMedia (ASM2824). Он забирает интерфейс PCIe x8 от U740 SoC и распределяет его на слот PCI Express, порты M.2 и еще один мост PCIe USB.

Слот PCI Express x16 подключен к упомянутому коммутатору PCIe по восьми линиям. SiFive здесь поддерживает PCI Express 3.0. Выше на фото можно видеть два слота M.2, которые подключаются по четырем и одной линии, соответственно. Поскольку SoC отдает только восемь линий PCIe, все упомянутые слоты используют их совместно.

Один из слотов M.2 в формате M.2-2280 предназначен для SSD. Второй слот E-Key - для модуля WLAN/Bluetooth.

Оперативная память DDR4-1866 припаяна на материнскую плату. Емкость составляет 16 Гбайт. Также на плате имеются 32 Мбайт флэш-памяти. Операционную систему можно запускать с карты microSD, но большинство разработчиков наверняка предпочтут накопители M.2.

Питание подается 24-контактным штекером ATX, для старта имеется отдельная кнопка. Есть и кнопка сброса. Как и подобает плате для разработчиков, имеются контакты JTAG, QSPI, GPIO и точки измерения напряжений.

Из других функций ввода/вывода отметим упомянутый слот microSD, 1x micro-USB 2.0, 1x Gigabit Ethernet и 4x USB 3.2 Gen 1.

Linux на Unmatched, результаты тестов

Выше мы рассмотрели аппаратную составляющую, теперь настало время поговорить о программной обвязке. Host-система подключается к SiFive HiFive Unmatched через последовательный интерфейс консоли. Что позволяет посмотреть загрузочную информацию до старта системы. SiFive комплектуется картой microSD с установленной FUSDK.

Но мы также установили Ubuntu, на что потребовалось несколько дополнительных шагов, система стартовала с NVMe SSD.

Процесс загрузки SiFive HiFive Unmatched можно отслеживать через последовательный интерфейс консоли. Для установки Ubuntu сначала необходимо подготовить загрузочную карту SD, загрузиться с нее, после чего скопировать систему на накопитель NVMe. После этого операционная система будет загружаться и работать с M.2 намного быстрее. Подробные инструкции приведены на сайте Canonical.

Что касается производительности, HiFive Unmatched работает примерно на уровне Raspberry Pi. С программными пакетами в репозитории пока наблюдается дефицит, но в качестве платформы для разработчиков HiFive Unmatched можно использовать без проблем. Что позволит всем желающим познакомиться с системой RISC-V.

Мы попытались определить энергопотребление процессора, воспользовавшись точками прямого измерения напряжений на материнской плате. При стандартной работе SoC энергопотребление составило 5-6 Вт. Вся материнская плата потребляла 25-30 Вт.

Мы также провели некоторые тесты, сравнив с Raspberry Pi 4 B 8 GB. Последняя оснащена 4-ядерным процессором с четырьмя ядрами ARM Cortex A72. Они работают на 1,5 ГГц по сравнению с 1,2 ГГц у SiFive Freedom U740 SoC.

Stress-NG

CPU Stress

Операций в секунду
Больше - лучше

Coremark

Coremark 666

Итераций в секунду
Больше - лучше

Stress-NG

CPU Stress

Операций в секунду
Больше - лучше

Тесты производительности CPU особо не радуют. Но SiFive HiFive Unmatched - платформа для разработчиков, которая не ориентирована на рекордную скорость. И со своей задачей платформа справляется.

На материнскую плату можно установить видеокарту. Рекомендуется модель из линейки Radeon RX 500. Мы выполнили установку и даже запустили оригинальную DOOM и Quake Arena. Графическая производительность упирается в видеокарту, да и компиляция исходного кода - довольно тяжелая задача для Unmatched.

Но, как мы отметили выше, система на данном этапе не ориентирована на высокую производительность. Здесь мы хотели показать, что платформа RISC-V вполне способна запускать некоторые стандартные приложения.