要するにx86やArmはどちらにしても論外なのだが、では他は? というと、どれもイマイチである。
いまさらAlphaはないし、インテルのi860やi960、Itaniumとかも話にならない。MIPSは「RISC-Vの後」にOpen MIPS Initiativeなる取り組みを始めたものの、あっという間に終了。MIPS Technologyは現在RISC-Vアーキテクチャーを開発しており、もうMIPSは顧みていない。一応MIPSの命令セットライセンスは2010年時点では取得できたが、(1)と(2)には制限がある。
SPARCはOpenSPARCが存在するので一応利用は可能だが、(1)と(2)が引っかかる。OpenPOWERはもう少し後の2013年に設立されたが、この頃にはPower.orgという組織がPowerPCの命令セットをライセンスしていたはずである。
ただこれも(1)と(2)が引っかかる。つまり、商用プロセッサーの命令セットを使う、というアイディアは上手くなかったわけだ。
ではどうしたか? というと、自前で作ることにしたわけだ。そもそもなぜRISC-Vと名付けられたか?というと、UCBではそれまでに4世代のRISCプロセッサーを自前で開発していた。
もともと同じUCBのDavid Patterson教授(UCBの名誉教授兼RISC-V International副会長)が1982年にRISC-Iを開発している。Berkeley RISCという名称の方が有名かもしれないが、Sun MicrosystemsのSPARCプロセッサーの基になったプロセッサーであり、スタンフォード大のJohn LeRoy Hennessy教授(元スタンフォード大学長、現在はGoogle親会社であるAlphabetの会長)が開発したStanford MIPSと並ぶ、RISCプロセッサーの源泉でもある。
正確に言えば、まずBerkeley RISCが開発され、これをさらに洗練させて実用的なプロセッサーに仕立てたのがStanford MIPSというべきか。ただStanford MIPSはその後MIPS Computer SystemsによってR2000という商用プロセッサーになったのに対し、Berkeley RISCはこの改良型であるRISC IIまで開発されたものの、あくまでも研究用の試作に留まっており、SPARCを始めとするほかのプロセッサーに影響は与えたものの、このままで商用化はなされていない。
次のRISC-III(SOAR)はRISC-IIをベースにSmalltalkという言語を実行させるためにカスタマイズしたバージョン、RISC-IV(SPUR)は同じくRISC-IIをベースにしながら、マルチプロセッサーのワークステーションを構築するためのプロセッサーである。この4つのプロセッサーはいずれもPatterson教授が直接的に係わっている。
余談だが、そのPatterson教授とHennessy教授の有名な著作がComputer Architecture: A Quantitative ApproachとComputer Organization and Designの2冊の著作(どちらも日本語版も存在する)である。
■Amazon.co.jpで購入
-
コンピュータアーキテクチャ[第6版]定量的アプローチジョン L ヘネシー、デイビッド A パターソン、発行:エスアイビー・アクセス 発売:星雲社、中條 拓伯、天野 英晴、鈴木 貢星雲社
■Amazon.co.jpで購入
-
コンピュータの構成と設計 MIPS Edition 第6版 上David Patterson、John Hennessy、成田 光彰日経BP
■Amazon.co.jpで購入
-
コンピュータの構成と設計 MIPS Editoin 第6版 下David Patterson、John Hennessy、成田 光彰日経BP
さて話をRISC-Vに戻すと、Asanović教授は自前で独自の命令セットを構築し、それをベースにしたプロセッサーを開発して研究に使うことにした。
この方式なら、(1)~(3)の問題はすべて解決するからだ。もちろんこの場合、既存のプログラムがそのまま動かないので、最低でもアセンブラやCのコンパイラを自前で手当てする必要があるが、実はGNU Toolchainを利用すると独自プロセッサーへのコンパイラの対応はそんなに難しくない。
最適化のレベルなどを論じ始めるといろいろ大変だが、とりあえず動くだけならばGAS(GNU Assembler)の対応をするだけで良く、これはそれほど難しくない。GASが動けばその上でGCCを動かして、ベンチマークプログラムを移植できる。
最適化を詰めるにはこれでは十分ではないかもしれないが、いざとなればハンドアセンブルでも良いわけで、研究プロジェクトとしては十分という判断である。そこで、2010年の夏から3ヵ月ほどの作業で、新しい命令セットが定められることになった。これがRISC-V ISAである。
ちなみにこのRISC-V ISAを策定したAndrew Waterman博士とYunsup Lee博士はどちらもAsanović教授の研究室の学生であり、その後は共にSiFiveを設立する。
以上のように、Raven-1はRISC-V ISAがある程度目途がついた段階で設計が開始され、2011年の5月くらいにテープアウト。GlobalFoundriesの28nm SOIプロセスで製造され、そこから本来の目的である研究プロジェクトのためにさまざまな実験が行なわれ、その結果が論文として結実するわけだが、それとは別にAsanović教授はRISC-Vでビジネス市場に持ち込むことを当初から想定していた(このあたりはHennessy教授のやり方に倣ったわけだ)。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります