ITmedia NEWS >

RISC-Vの誕生 既存の命令セットアーキテクチャでは満足できなかった、その理由RISCの生い立ちからRISC-Vまでの遠い道のり(3/3 ページ)

» 2020年08月31日 18時50分 公開
[大原雄介ITmedia]
前のページへ 1|2|3       

RISC-Vの誕生

 さて、ようやくRISC-Vである。アサノビッチ教授のプロジェクトでは極限まで消費電力を減らして、かつ性能を高める必要があった。こうした時に既存のISA(命令セットアーキテクチャ)を使うことは、かならずしも必要はないというか、阻害要因になる。実際、2010年に教授がプロジェクトを始める以前は、MIPSやSPARC、x86などを使ってきたが、現実問題として流通しているx86とArm(Armv7)は、どちらも問題がありすぎるという結論に達したそうだ(写真11、12)。加えれば、x86ではそもそもIP Issue(命令セットの利用権を取得できないし、取得しても変更はできないという問題)もあるし、Armはまだ当時Armv8A(64bit)が公開されておらず、また超高価なArchitecure Licenseを入手しても命令セットそのものを変更することは許されていないから、どちらもアサノビッチ教授の目的にはかなわないという結論が出た。そこで2010年の夏に3カ月かけて、新規の命令セットをスクラッチから開発したというわけだ。

photo 写真11:x86のAAA命令の説明。条件が複雑すぎる。あとx86は、例えばADDだけで22種類もあるとか、インプリメントが超面倒くさい
photo 写真12:Armv7のLDMIAEQ命令。Armの32ビット命令は、これに限らず変態的なものが多すぎる気がする
photo 写真13:新ISAの策定に、しれっとパターソン教授まで加わっているあたりがさすがである。

 ただアサノビッチ教授はこの新しいISAを、RAVEN-1だけで終わらすのはもったいないと思ったようだ。

 そもそも何でISAが重要かといえば、既存のソフトウェアがISAに依存しているからであるが(写真14)、ただ現実には昨今のSoCには多数のIPが利用され、それぞれのIPが独自のプロセッサを搭載し、それが必ずしも既存のISAとは限らない、という実情があるのも事実だ)。

photo 写真14:これが、これまで新しいISAの出現を阻害していた最大の要因でもある

 例えばRISC-Vで一躍有名になった台湾のAndes Technologyだが、同社がRISC-Vに参画する以前に出していた「AndesCore V3」という独自ISAのRISCコアは、Wi-Fiのコントローラーに広範に使われている。あるいはSynopsysのARCというプロセッサコアもさまざまな用途に使われている。以前ここでちょっと書いたが、IntelがIoT向けにわざわざ開発し(そしてすぐに生産中止してしまった)「Curie」という超小型チップは、AtomコアにSynopsysのARC EM4 DSPを組み合わせたものである。実際にはBluetooth Moduleとか6軸センサーなどにもそれぞれCPUが内蔵されており、これらはそれぞれ別のISAで動作していたりする。

 もし仮にこうしたさまざまな独自ISAのCPUを、一つのISAにまとめることができれば、新しいISAを投入しても、それが普及する可能性は低くない、とアサノビッチ教授は踏んだのだろう。それもあって、教授はRAVEN-1のISAをもっと一般的に広めるべく、活動を始める。

 新しいISAを普及させるためには何が必要か? まずはISAそのものが魅力的であることが必須である。そしてそれが安価(可能なら無償)で入手して使えるようになっていなければならない。ISAそのものは無償だけど、実装しようとすると誰かの保有する特許に引っ掛かるなんてのは論外であって、こうした事態を避ける必要がある。

 2つ目に、実装が容易であることだ。これはさらに2つの意味合いがある。まず、ISAそのものが簡潔であることだ。x86とかArmv7のように、実装そのものが入り組んでいたり、命令セットがやたら大きいのはそれだけでネガティブ要因になる。次に、実装できる手段が用意されることだ。

 CPUでもASICでも何でもそうだが、最終的にはRTL(Register Transfer Level)と呼ばれるハードウェア記述言語で論理レベルの回路を記述し、次いでそれを物理実装(ファウンダリで利用される、マスクと呼ばれる設計図)に落とし込むことになるのが通常だ。なので例えばArmからCPUのIPを購入すると、CPUのRTLが渡される形になるのだが、最近だとRTLよりもっと抽象度の高い高位言語(HLS:High Level Synthesis)での記述が流行しつつあるし、あるいはRTLを使うにしても、RTLをそのまま使うのではなく、もう少し記述しやすいHDLもいくつか存在する。こうしたものを使うことで、より迅速にRISC-Vのインプリメントが可能になる。逆にいえば、レファレンスのRTLやHLS/HDLのサポートがあると、実装がより楽になる。

 3つ目がソフトウェアのサポートである。これはRISC-Vの上で動作するOSとかミドルウェア、ライブラリといったものに加え、RISC-Vで動作するプログラムを開発するための開発環境も含まれる。ここでもちょっと書いたが、要するにソフトウェア環境を整えるのが一番金がかかるわけで、逆にここのおぜん立てが揃っていると、RISC-Vへの参入が非常に容易になる。

 そこでアサノビッチ教授は研究プロジェクトと並行して、こうしたお膳立てを揃えるべく、奔走することになる(続く)。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.