週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

なぜRISC-Vは急速に盛り上がったのか? RISC-Vプロセッサー遍歴

2023年08月14日 12時00分更新

 要するにx86やArmはどちらにしても論外なのだが、では他は? というと、どれもイマイチである。

なぜRISC-Vは急速に盛り上がったのか?

Alphaの命令セットライセンスはおそらくHP(HPE)が保有しているはずだが、それをライセンスしたという話は聞かない。歴史的に言えばSamsungとCOMPAQが共同出資したAPL Networks(旧称Alpha Processor Inc.)にライセンスされたが、そのAPL Networksが解散した後、たしかHPが命令セットの権利を引き続き保有しているはずである

 いまさら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プロセッサーを自前で開発していた。

なぜRISC-Vは急速に盛り上がったのか?

RISC-IからRISC-Vまで。UCBで開発された5番目のRISCプロセッサーだからRISC-Vというわけだ

 もともと同じ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-Vは急速に盛り上がったのか?

作成者にしれっとPatterson教授が入っているあたりがさすがである

 次のRISC-III(SOAR)はRISC-IIをベースにSmalltalkという言語を実行させるためにカスタマイズしたバージョン、RISC-IV(SPUR)は同じくRISC-IIをベースにしながら、マルチプロセッサーのワークステーションを構築するためのプロセッサーである。この4つのプロセッサーはいずれもPatterson教授が直接的に係わっている。

 余談だが、そのPatterson教授とHennessy教授の有名な著作がComputer Architecture: A Quantitative ApproachComputer Organization and Designの2冊の著作(どちらも日本語版も存在する)である。

■Amazon.co.jpで購入
■Amazon.co.jpで購入
■Amazon.co.jpで購入
 

 さて話を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教授のやり方に倣ったわけだ)。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この連載の記事