オープンスタンダードな命令セットアーキテクチャーがない
前回はRISC-V ISAの成立までを簡単に説明したが、Asanović教授はRISC-V ISAを自身の研究プロジェクト用に留めておくつもりはなかった。ISA(Instruction Set Architecture、命令セット)の重要性の高さは言うまでもなく明らかで、これがx86やArm ISAが現在も主流になっている最大の理由である。
ただおもしろいのは、ISA以外ではオープンスタンダードが普及していることだろう。
一番わかりやすいのはOSで、今ではオープンソースのLinuxが非常に広範に普及している。もちろんWindowsやmacOSももちろん普及してはいるのだが、特にサーバー用途でLinuxを置き換えられるような状況ではない。というより、マイクロソフトが持っていたはずのサーバーOSの市場がだいぶLinuxに置き換えられてしまっている。
そして2010年の時点ではまだ数は少なかったが、今ではオープンハードウェアの類もいろいろ存在する(広範に使われている、という意味ではまだまだだが)。唯一成功していないのがISAの分野である。
それまでオープンスタンダードなISAがなかったわけではない。2000年にはOpenRISCというプロジェクトもスタートし、2006年には命令セットが定まり、2012年には最初の実装であるOpenRISC 1000のIPが完成。ソースコードはGitHubで公開されている(最新のコードは2022年2月にリリースされたVersion 1.4)。
実際にこのOpenRISC 1000を利用してプロセッサーを試作した例(香港のInterQoS System:ちなみに同社は2021年に解散)もあるから使われなかったわけでもないが、広範に使われたとは言いにくい。
もう少し広く利用されたものとしては、SPARC v8に準拠したLEONというコアがある。こちらはSPARCアーキテクチャーを管理していたSPARC Internationalが命令セットをオープンソースとして公開したのを受け、ESA(European Space Agency:欧州宇宙機関)傘下のESTEC(European Space Research and Technology Centre:欧州宇宙技術研究センター)で開発が始まった、航空宇宙向けのプロセッサーである。
航空宇宙向けの場合、宇宙線による誤動作対策などのために特殊な機構や回路を必要とする一方、高価な航空宇宙向け半導体は(特に予算が限られている小型の衛星などでは)使いにくいということもある。LEONはこうした用途向けに開発されたプロセッサーで、こと航空宇宙向けには広く利用されたものの、絶対的な市場はごく小さなものでしかない。
この2つが成功しなかった理由として挙げられているのが下の画像で、どちらも問題があったことを示す。
SPARC v8はライセンスやロイヤリティこそないものの、ISAそのものの権利は(Sun Microsystemsを買収した)Oracleが保有しており、勝手に改変できなかった。
OpenRISCはこのあたりもフリーだったが、命令セットそのものが特定のインプリメントを前提としており(このあたりはOpenRISCの方針そのものだから、それが一概に悪いとも言いにくいのだが)、また64bit対応が遅れていることも難点として挙げられていた。現時点でも64bit命令のインプリメントはまだ未公開である。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります