FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages

【翻訳】RISC-V進化の振り返りと、次に起こること

2018年3月20日に riscv.org で投稿された、 Krste Asanović 教授のブログが、 RISC-V のこれまでとこれからをよく表現している。

Krste Asanović 教授は RISC-V Foundation の Chairman of the Board を務める、RISC-V Foundationの非常に偉い人だ。 ちなみに Vice Chairman にはチューリング賞を受賞した David Patterson 先生もいる。

riscv.org

せっかくなので Asanović 先生に許可を得て、日本語に翻訳したので公開する。

ただし、私は翻訳の専門家ではないので、訳文に怪しいところがあるかもしれませんがそれはご愛敬ということで... 読みやすい文章にするために、若干意訳になっているところもあります。 原文者の意図を伝えるように翻訳するのって本当に難しいなあ... 精進しなければ。

原文はこちら。

riscv.org

RISC-Vはフリーでオープンである、ということが注目されがちだが、それ以外にISAそのものとしてRISC-Vは非常に慎重に設計されていることが分かる。

またオープンであるがゆえに多くの組織が参入できること、その結果互いの競争が生じて利用者にとってメリットがあること、またRISC-VがISAとして企業から独立していることで、企業の状態に関わらずISAを維持できることがメリットであると思う。


Krste Asanović が語る、RISC-V進化の振り返りと、次に起こること

2018年3月20日

このポストはRISC-V Foundationの取締役議長のKrste Asanović によって書かれたものである。

RISC-VをHot Chips 2014にて初めてロールアウトさせたとき、私たちとバークレイの学生たちはRISC-VのTシャツをきて、 観客にRISC-Vのシリコンのデモを見てもらうためにRISC-Vのバッジを握り締めていたことを今でも思い出します。 Tシャツの着心地はあまりよくはありませんでしたが、RISC-V ISAは産業界を変える大きな流れに成長し、100を超えるメンバがRISC-V Foundationに加入しました。 そこには半導体業界最大規模の会社もいくつか含まれています。

RISC-Vの「フリーでオープンである」という点がメディアで注目されていますが、私はこのブログでは標準としてのRISC-Vについて焦点を当ててみようと思います。 RISC-Vの本当の価値は、この共通のハードウェア仕様に基づいて形成されるソフトウェアとツールのコミュニティによって作られるもので、ハードウェア開発者およびユーザはこのアーキテクチャの恩恵を、迅速に広まる巨大なソフトウェアエコシステムにより享受することが出来ます。 チップ設計者はRISC-Vを選択することで、競争をしている多くのRISC-V IPサプライヤからIPを選択できるという利点があります。 ベンダからRISC-VのIPを選択するか、オープンソースのコアを利用するか、あるいは自分で構築することが出来ます。 これは第2世代のチップ設計においてより重要なことであり、プロプライエタリなISAが抱えているベンダによりロックされていたり、そのISAが長期にわたって提供されるかどうかについて分からない、という心配をする必要がありません。 チップのカスタマーはRISC-V用に幅広く用意されたアプリケーションを使うことが出来るという利点が確約されます。 現在のところ、たとえRISC-Vを取り扱う個々の会社の企業状態がどのようなものになっても、RISC-V自身にとって影響が無いことは明らかです。

私たちは、RISC-Vをモジュール性があり、拡張性の高いISAとして設計しました。 これは同時に回避不可能な分断を発生させたり、オープンスタンダードであることのメリットを薄めてしまう可能性もはらんでおり、もしかしたら一つのプロプライエタリなISAベンダが提供する形を取ったほうが安全なのかもしれません。 しかし、歴史を振り返る限り、一つの源を持つプロプライエタリなISAが、漂流することを防ぐことはない、と言うことです。 一方でこの逆も正しそうに思えます。 独占欲を持った、血気盛んな力により、多くのベンダが利用可能な命令、命令の振る舞いの違い、そして32ビットと64ビットのアドレス空間で完全に異なるISAのサブセットの衝突を伴いながら、ISAを拡張しています。

私は、RISC-V ISA標準の団結がうまく継続していくためには、2つの力が必要だと信じています。 一つは技術的なもの、そしてもう一つは社会学的なものです。

技術的には、カスタマイズ性を残しつつISAの分裂を防ぐために、RISC-Vは小さくてシンプルなベースISAと、モジュールとしての拡張仕様は普遍な仕様とし、非常に多くの領域のコードで動作する部分については固定します。 一方でアプリケーション固有の領域については標準的なISAコアの仕様を妨害することが無いように設計します。 シンプルなベースのISAを固定することにより、開発者がハードウェアのコストや検証時間を削減するために、仕様の一部をダンプまたは変更する動機を削減することが出来ます。 プロセッサを開発している複数の異なる企業がこのシンプルなISAを評価し、RISC-Vは複雑な他のISAとそん色ないという結論に達しています。 実行時のMicro-Op Fusionにより、ハイエンドのRISC-Vプロセッサはシンプルなコアを維持したままISAの定義を拡張することなく、高機能な命令を持つプロセッサの利益を獲得することが出来るようになります。 ほとんどの場合について、一部のアプリケーションのみがカスタム拡張を利用するでしょうし、カスタム拡張を無視して、標準的なツールが標準菜ISAを使ってアプリケーションをコンパイルすることが出来ます。

社会学的には、マルチソースIP・チップ・ツールであるがゆえにベンダは互換性に反するような変更を行わなくなるはずです。 顧客は、ベンダがISAに反する改造を行うようなことを許さないからです。 また、オープンソースソフトウェアコミュニティは任意のISAを使って多くのソフトウェアを開発する力にあふれています。 これらのソフトウェアの、高品質なプライベートフォークを管理し続けるための力は、どのようなベンダでも持っていません。 一方でカスタム拡張は、各ベンダの価値を引き出すための一つの手段となります。 この拡張は一般的にはアプリケーション特有のものであり、ソフトウェア全体に対して非常に小さな部分にしか影響を及ぼしません。 幅広い領域に適用することが出来るものについては、Foundationのレベルで標準に取り込むべきですし、それらはFoundationのタスクグループで活動を行っています。

2018年に、FoundationのメンバはコアISA仕様の多くの部分を承認し、完全な形式のマシンで認識可能なISAの仕様を作成する予定です。 これが実現される前であっても、コミュニティはさまざまな実装の間で多くの相互運用性を示してきました。 Hot Chips 2014の前にISAのバージョン2.0をリリースしたとき、Berkeleyチームは強固に・一方的に、ベースISAの標準拡張の非常に一部についてが「固定された」ことを宣言しました。 仕様に含まれるいくつかの小さな、曖昧な部分については取り除かれた一方で、コミュニティによってデザインされた、非常によく作られたメモリモデルが追加され、2.0の仕様に取り込まれることが承認されました。 今後数年間にわたり、多くのロゴがTシャツに掲載されるでしょうし、デモ用の多くのシリコンが作られるでしょうが、ISAは同じまま続いていくのです。