デジタル人材の育成
公開日:2024年6月25日
本プロジェクトでは、RISC-Vの拡張を仮想化し、容易な管理を可能にするハイパーバイザを開発する。
RISC-Vでは、モジュール化された仕様である「拡張」が次々に策定されているが、ハードウェアの実装は全くと言ってよいほどされておらず、大量の拡張が策定されるだけされて利用されない宙吊りの状態が続いている。仕様は命令セットに関するもの(ISA)から、命令セットに変更は加えないが RISC-V のエコシステムに関連するハードウェアの機能やソフトウェア割り込み、ABI などを規定するもの(Non-ISA)まで、多種多様であるが、独自命令の実装や CSRs(Control and Status Registers)の追加などの変更が中心で、ハイパーバイザによる改変によって再現可能なものも多い。
そこで本プロジェクトでは、RISC-Vの拡張をハイパーバイザ上のモジュールで再現し、ソフトウェア上で管理可能なシステムを開発する。ユーザは使いたいRISC-Vの拡張に対応したモジュールを本ハイパーバイザにインストールすることで、新しい拡張の環境を手元のハードウェアに導入することができる。RISC-Vの拡張とそれを仮想化する本ハイパーバイザ上のモジュールは1対1で対応するため、ユーザにとっても開発者にとっても管理・配布が容易になる。ユーザはより簡単にRISC-Vの拡張を使うことができ、開発者はユーザが増えることによりフィードバックを得て、仕様の策定やツールチェインの実装を進めることができる。本システムのユーザが増え、ソフトウェアツールチェインが充実すれば、需要に応じてハードウェアに拡張を実装する開発者の登場も期待できる。
本システムの狙いは既存の宙吊りになっている拡張の活用を支援し、エコシステムの開発を加速させることと、システムに追加する機能をRISC-Vの仕様と結びつけて記述できるハイパーバイザモジュールを実現することの2つである。本プロジェクトは、単にRISC-Vのシステムにハイパーバイザで仕様や機能を追加可能にするだけでなく、続々と策定されるRISC-Vの仕様とエコシステムのあり方に一石を投じるものである。
RISC-Vは、オープンソースの命令セットアーキテクチャであり、基本命令セットにさまざまな拡張命令を追加できることから、多くの命令セットが作られているが、実際にはその大半が利用されていない状況にある。本提案においては、その使われていない拡張命令セットに対応するハイパーバイザ内のソフトウェアをモジュールとして提供し、それを組み合わせるだけで拡張命令セットを利活用できることを目指しており、ユーザがより簡単に拡張命令セットを利活用できることを意味している。
未踏事業においては、CPUを利用するだけでなく、CPU自体を開発したり、その利活用を簡単に行うためのソフトウェアを開発しようとする提案はとても歓迎すべきものであり、特に本提案のように、未だ多くの取り組みがなされていない分野において、新たなエコシステムを構築するという提案は重要である。提案者は、低レイヤーの分野に対して造詣が深く、かつ興味関心が強く、未踏事業を通じて本プロジェクトを実現することで、国内外のRISC-Vのコミュニティに対して、大きな刺激を与えるであろうと判断して採択した。
2024年6月25日
2024年度採択プロジェクト概要(髙名PJ)を掲載しました。