RISC−Vとは UCバークレー発「オープンソースの命令セット」

RISC-Vは、研究者が始めた「オープンソース」のISAです。ARMやMIPS、x86などに比べて、RISC-Vはオープンな規格であり、誰でも自由に実装できます。これはNPOの「RISC-V Foundation」によって管理され、Google、Qualcomm、その他様々な企業がメンバーとして参加している。

RISC−Vとは  UCバークレー発「オープンソースの命令セット」

RISC-Vは、研究者が始めた「オープンソース」のISAです。ARMやMIPS、x86などに比べて、RISC-Vはオープンな規格であり、誰でも自由に実装できるということを意味します。それ以上に、ややオープンな開発モデルを持っています。これはRISC-Vの進化を管理するために設立された非営利団体「RISC-V Foundation」によって管理されており、Google、Qualcomm、Microsemi、Nvidia、NXP、その他様々な企業がメンバーとして参加しています。

RISC-Vのもう一つの側面は、他のプロプライエタリな命令セットとは異なり、カスタム拡張を可能にし、実際に奨励している点にあります。ARMプロセッサを構築するためにライセンスを購入した場合、BroadcomやQualcomm、Samsungのような企業が持っているようなアーキテクチャライセンスを取得しても、ARM命令セットの独自の実装を行うことができますが、独自のカスタム命令を追加することはできません。これは最終的にはARMが顧客からのフィードバックを得て、将来のISAのリビジョンで新しい命令を追加することになりますが、個々のライセンシーが追加できるものではありません。

もちろん、オフコア用の密結合アクセラレータのためにアクセラレータを取得する方法は他にもありますが、命令セット自体をカスタムで拡張することは制限されています。前述したように、RISC-Vにはオープンな開発プロセスがあります。RISC-Vファンデーションのメンバーでないと開発の議論に参加できないところもあります。これは比較的低コストで、企業の場合は最低でも年間5,000ドル程度、アクティブなオープンソース開発者の場合は無料、それ以外の場合は個人で100ドル程度で参加できます。

RISC-Vの命令セットアーキテクチャ自体については、実際のところ、あまり目新しいものではありません。特に奇抜で面白い設計決定をしているわけではありません。64ビットと32ビットのISA、RISC ISAは何十年も前から存在しており、それらをどのように構築するかについては膨大な知識があります。

RISC-Vの主な目的はスケーラビリティです。RISC-Vは、高性能コンピューティングやラックスケールコンピューティング、MMUを持たない組み込みデバイス、個々のマイクロコントローラよりも小さいユースケースに至るまでスケールアップできるISAを目指しています。これは実際には現実的な問題であり、当初AMDのような企業がRISC-Vに惹かれていました。初期の RISC-V開発者会議で、AMDの誰かが手を挙げて、彼らが興味を持った理由は、AMDのプロセッサを出荷するときに、最近のプロセッサには15の異なるISAが搭載されていたからだと言ったと言われます。

RISC-Vの現状

RISC-Vは、公開から約4年が経過しました。RISC-Vは、2010年にカリフォルニア大学バークレー校のPar Labプロジェクトとして開始されました。これは、シンプルで効率的で拡張可能で、他のユーザーとの共有に制約のないISAを開発することをその目的としていました。そのため、Krste Asanovic(SiFiveの創設者)、Andrew Waterman、Yunsup Lee、およびDavid PattersonがRISC-Vを開発しました。彼らは2011年に最初のチップを製造し、仕様をオープンソースとして公開、商業製品にも利用しやすいBSDライセンス(オープンソースソフトウェアに適用されるライセンス体系の一種で、カリフォルニア大学バークリー校で生まれたBSD系UNIXのライセンスのために成立した方式)のもとで誰でも自由に使えるようにしました。試行錯誤の末、GitHubで公開されています。

David Patterson. Photo by Berkeley Engineering / Youtube

RISC-Vのオリジナル開発者はその後VCをバックにしたスタートアップSiFiveを輩出し、RISC-Vのエコシステムで多くの仕事をしてきたが、それ以外にもコアを生産したり、その周りのツールを生産したりしているベンダーが多数存在しています。

コンパイラ側では、GCCのサポートがアップストリームになっています。前述したように、私は主にClangをサポートするLLVMのためのRISC-Vバックエンドの作業を推進しています。サポートが必要なRISC-Vの大部分のバリアントについては、そのサポートがアップストリームにあり、活発な開発が行われています。Glibcはアップストリームで、Muslはダウンストリームのポートを持っていて、すぐにアップストリームになることを期待しています。また、Goのサポートもありますが、しばらくの間停滞していましたが、今では少しずつ回復してきていると思います。

RISC-Vコアの実際のVerilog実装を修正できるのは素晴らしいことですが、より高いレベルのソフトウェア表現を修正することで、より生産性の高い開発を始めることができます。Qemu、gem5、そしてRISC-Vリファレンスソフトウェアモデルの事実上のリファレンス実装となっているのは、UC Berkeley由来のspikeです。また、QEMUやFFMPEGで有名なFabrice Bellardによって書かれたTinyEMUもあります。

利用可能なハードウェアの面では、SiFiveはLinux K4側の開発ボードを製造しています。マイコンクラスの開発ボードもありますし、中国メーカーのKendryteボードもあります。最近では、NXP がオープンな ISA の取り組みを開始し、PULPマイクロコントローラを搭載した開発ボードを提供しています。

オープンソースの実装としては、UC バークレーと SiFiveがサポートしているRocketとチューリッヒ工科大学の PULP があります。これは今では様々な呼び方が含まれていますが、マイクロコントローラ側ではもちろんのこと、Linuxが可能な側でも、Arianeと呼ばれるデザインがあります。

オペレーティングシステム側では、少なくとも FreeRTOS、Zephyr、seL4、興味深いことに、Tock の初期の作業がいくつかサポートされています。TockはRustを使って実装された興味深いRTOSで、Rust RISC-V LLVMツールチェーンをベースにRISC-Vをターゲットにした初期の作業が行われています。Rustのメモリの安全性をうまく利用し、RTOSにアプリケーションをロードするモデルを持っていますが、通常は1つのバイナリにコンパイルされ、コンパイル時に修正されます。

LinuxとFreeBSDのサポートはアップストリームで、よく開発されています。また、より実験的な面では、プラン9を現代的に再構築したHarveyOSや、HelenOSの移植版もあります。先日、FOSDEMでHelenOSの作業についての話がありました。一連のブートローダーが用意されています。bblとOpenSBI については、RISC-Vコミュニティの興味深い話題に触れているので、もう少し後ほどお話したいと思います。また、特にDebianとFedoraでは活発な活動が続いています。

両方のディストリビューションのLinuxベースのシステムの大部分がコンパイルされ、動作しています。librsvg のようなライブラリは Rust で書き換えられており、Rust は現代の Linux システムをコンパイルする上でかなり重要な依存関係になっているので、私はある意味 LLVM 側のブロッカーです。どちらの場合も、librsvgがRustに移植される前の古いバージョンのlibrsvgを使っていて、LinuxバイナリのアップストリームのLLVMサポートを待っている間だ。

RISC-Vの良い点

RISC-Vの良い点の一つは、x86コアやARMコアを変更した場合にどのように見えるかを推定してシミュレーションを行うのではなく、高品質でオープンソースのRISC-Vの実装を変更することで、より良い評価や既存の研究との比較を行うことができるという点です。

UC BerkeleyからスピンアウトしたSiFiveはこの分野で膨大な量の仕事をしてきました。彼らの目標は、最終的には新しいシリコンの開発コストを削減することで、新しい設計のスタートアップのコストを削減することです。

その一例として、RISC-Vにダイレクトセグメントのサポートを追加したことがあります。これはページベースの仮想メモリの最適化と呼ばれることがあります。この最適化はページベースの仮想メモリを使わず、プロセスの仮想アドレス空間の一部を直接連続する物理メモリにマッピングすることでTLBを回避するというものです。これについては、2013年のISCAで発表された論文があります。この論文では、大きなページや巨大なページがあっても、なぜそれが面白いのかについて、より詳細に説明されています。要するに、整列とサイズの面ではるかに多くの柔軟性を得ることができるということです。

最終的には、ハードウェア記述言語Chiselで実装されたRISC-Vのデザインに50行の修正を加え、Linuxカーネルに400行の修正を加えたもので、比較的管理しやすい作業でした。Rocketは先ほどお話したRISC-Vデザインの1つで、UC Berkeleyでスタートし、現在はSiFiveがサポートしていますが、ハードウェア記述言語Chiselで実装されています。これは、より新しくて斬新なハードウェア記述言語の一種で、Scalaの組み込みドメイン固有の言語として実装されています。

ソフトウェア開発者がより利用しやすくなることが期待されています。その目的のどこに成功しているのか、他の斬新なHDLが成功しているのかは人によって見解が分かれるところです。正直に言うと、lowRISCでは少し手を引いて、システムVerilogのような伝統的なハードウェア記述言語に力を入れています。

Become a Patron!

Image by RISC-V foundation via Youtube

Read more

新たなスエズ危機に直面する米海軍[英エコノミスト]

新たなスエズ危機に直面する米海軍[英エコノミスト]

世界が繁栄するためには、船が港に到着しなければならない。マラッカ海峡やパナマ運河のような狭い航路を通過するとき、船舶は最も脆弱になる。そのため、スエズ運河への唯一の南側航路である紅海で最近急増している船舶への攻撃は、世界貿易にとって重大な脅威となっている。イランに支援されたイエメンの過激派フーシ派は、表向きはパレスチナ人を支援するために、35カ国以上につながる船舶に向けて100機以上の無人機やミサイルを発射した。彼らのキャンペーンは、黒海から南シナ海まですでに危険にさらされている航行の自由の原則に対する冒涜である。アメリカとその同盟国は、中東での紛争をエスカレートさせることなく、この問題にしっかりと対処しなければならない。 世界のコンテナ輸送量の20%、海上貿易の10%、海上ガスと石油の8~10%が紅海とスエズルートを通過している。数週間の騒乱の後、世界の5大コンテナ船会社のうち4社が紅海とスエズ航路の航海を停止し、BPは石油の出荷を一時停止した。十分な供給があるため、エネルギー価格への影響は軽微である。しかし、コンテナ会社の株価は、投資家が輸送能力の縮小を予想している

By エコノミスト(英国)
新型ジェットエンジンが超音速飛行を復活させる可能性[英エコノミスト]

新型ジェットエンジンが超音速飛行を復活させる可能性[英エコノミスト]

1960年代以来、世界中のエンジニアが回転デトネーションエンジン(RDE)と呼ばれる新しいタイプのジェット機を研究してきたが、実験段階を超えることはなかった。世界最大のジェットエンジン製造会社のひとつであるジー・エアロスペースは最近、実用版を開発中であると発表した。今年初め、米国の国防高等研究計画局は、同じく大手航空宇宙グループであるRTX傘下のレイセオンに対し、ガンビットと呼ばれるRDEを開発するために2900万ドルの契約を結んだ。 両エンジンはミサイルの推進に使用され、ロケットや既存のジェットエンジンなど、現在の推進システムの航続距離や速度の限界を克服する。しかし、もし両社が実用化に成功すれば、超音速飛行を復活させる可能性も含め、RDEは航空分野でより幅広い役割を果たすことになるかもしれない。 中央フロリダ大学の先端航空宇宙エンジンの専門家であるカリーム・アーメッドは、RDEとは「火を制御された爆発に置き換える」ものだと説明する。専門用語で言えば、ジェットエンジンは酸素と燃料の燃焼に依存しており、これは科学者が消炎と呼ぶ亜音速の反応だからだ。それに比べてデトネーシ

By エコノミスト(英国)
ビッグテックと地政学がインターネットを作り変える[英エコノミスト]

ビッグテックと地政学がインターネットを作り変える[英エコノミスト]

今月初め、イギリス、エストニア、フィンランドの海軍がバルト海で合同演習を行った際、その目的は戦闘技術を磨くことではなかった。その代わり、海底のガスやデータのパイプラインを妨害行為から守るための訓練が行われた。今回の訓練は、10月に同海域の海底ケーブルが破損した事件を受けたものだ。フィンランド大統領のサウリ・ニーニストは、このいたずらの原因とされた中国船が海底にいかりを引きずった事故について、「意図的なのか、それとも極めて稚拙な技術の結果なのか」と疑問を呈した。 海底ケーブルはかつて、インターネットの退屈な配管と見なされていた。現在、アマゾン、グーグル、メタ、マイクロソフトといったデータ経済の巨人たちは、中国と米国の緊張が世界のデジタルインフラを分断する危険性をはらんでいるにもかかわらず、データの流れをよりコントロールすることを主張している。その結果、海底ケーブルは貴重な経済的・戦略的資産へと変貌を遂げようとしている。 海底データパイプは、大陸間インターネットトラフィックのほぼ99%を運んでいる。調査会社TeleGeographyによると、現在550本の海底ケーブルが活動

By エコノミスト(英国)