RISC の未来
私たちはしばらくの間、オープンでロイヤリティフリーの RISC-V ISA を追いかけてきました。 最初に仕様を読み、次にマイクロコントローラーに RISC-V コアが搭載されていることに気づきましたが、シングルボード コンピューターとして十分な低価格で十分な処理能力を提供する新しいボードが登場しました。 VisionFive 2 は 2022 年 9 月にキックスターターで成功し、ついに 8 GB の RAM を搭載したユニットを受け取りました。 そしてそれはうまくいきます! JH7110 は最新のデスクトップや Raspberry Pi 4 を上回るパフォーマンスはありませんが、デスクトップ環境を実行し、Web を閲覧し、ソフトウェアをテストするには十分です。
RISC-V アーキテクチャが多くの場所で登場し始めているため、これは一種の大きな問題です。 課題は、Linux を実行してソフトウェアをコンパイルするのに十分強力で、腕も足もかからない本物のハードウェアを入手することです。 ARM が代替アーキテクチャである場合、RISC-V はまだ実験的なアーキテクチャであり、VF2 を使用しようとするときに問題になります。 これは何度か繰り返すテーマですが、ここで覚えておくべきことは、より多くのデバイスを実際に入手することが問題を解決するための第一歩であるということです。
それで、何が得られますか? VF2 には 3 つの種類があり、2、4、8 ギガバイトの RAM を搭載しています。 それ以外のボードは同一であり、ショーの主役は 64 ビット クアッドコア RISC-V SoC である JH7110 です。 その CPU には Imagination BXE-4-32 GPU が組み込まれています。 通常はボードへの電力供給に使用される USB-C ポート、単一の PCIe 2.0 レーンを共有する 4 つの USB 3.0 ポート、およびデュアル ギガビット イーサネット ポートがあります。 このボードには HDMI 2.0 ポートが 1 つしかありませんが、MIPI DSI ポートも使用してデュアル ディスプレイを実行できます。また、Raspberry Pi との優れた互換性機能もいくつかあります。 このボードには 40 ピン GPIO ヘッダーがあり、Raspberry Pi のピン配置とほぼ互換性があり、Pi PoE HAT を使用するための適切な場所に 4 ピンの Power over Ethernet ヘッダーも備えています。 これは非常にうまく機能しますが、唯一欠けている要素は HAT のファン コントロールです。
MIPI入力もあります。 これは Raspberry Pi カメラなどと互換性があるはずですが、テストする余裕はありません。 デバイスの底部には、SD カード スロット、eMMC ソケット、そして非常にありがたい M.2 NVMe スロットがあります。 これまでのところ、NVMe から起動するには SD カード上にブート パーティションが必要ですが、それでも単一の専用 PCIe 2.0 レーンに相当するすべての速度向上が得られます。 NVMe からの直接ブートはロードマップにありますが、まだ実装されていません。
ハードウェアはかなり優れていますが、ユーティリティは OS とソフトウェアのサポートに依存します。 定期的に更新され、問題が継続的に修正されている Debian イメージがあります。 私たちが本当に重視しているのは上流のステータスであり、そのプロセスはすでに始まっています。 システムがバニラ カーネルで完全に使用できるようになるまでに、かなりの数のドライバをアップストリームする必要がありますが、カーネル 6.3 でシステムを最小限に起動できることが期待されています。
そして、言及しなければならないドライバーの 1 つは GPU です。 このハードウェアは BXE-4-32 GPU として知られており、Imagination Technologies の GPU コアであり、PowerVR アーキテクチャの後継です。 Imagination は、自社の設計を RISC-V チップに組み込む取り組みを行っており、その一環として、最新の製品用のオープンソース ドライバーをリリースしました。 これらのドライバーをアップストリームする取り組みが継続的に行われており、一部の有効化コードがすでに Mesa に導入されています。
RISC-V のサポートというより広範な問題もあります。 最近のディストリビューションのほとんどは RISC-V パッケージを構築していますが、このあまり人気のないアーキテクチャでは問題や失敗したパッケージが見つかることは珍しくありません。 たとえば、Phoronix Test Suite を使用して VF2 ボードのベンチマークを実行したいと考えました。 これは noarch パッケージとして利用できますが、php-cli などの複数の依存関係があります。 これは php8.2 に依存しており、そのパッケージは現在 Debian 上の RISC-V 上でビルドできません。 この問題を修正するパッチがあるので、VF2 上で .deb を再構築して動作させることができました。
ピカピカの新しいハードウェアをベンチマークするのはいつも楽しいです。 したがって、試したほぼすべての CPU テストがインストールに失敗したか、実行に失敗したときの私の失望を想像してみてください。 PTS テストの多くはまだ RISC-V プラットフォーム用に構築されていないため、これは RISC-V プラットフォームの新しさでもあるのではないかと思います。