ロードマップでわかる!当世プロセッサー事情 第743回
RISC-Vの仕様策定からSiFiveの創業までAsanovic教授の足跡をたどる RISC-Vプロセッサー遍歴
2023年10月30日 12時00分更新
RISC-Vプロセッサー遍歴シリーズは、前回から2ヵ月以上空いてしまったが、今回はそのRISC-Vプロセッサー遍歴の3回目をお届けしたい。
実はRISC-V ISAの基本的な仕様を定めた2011年から、RISC-V Foundationが立ち上がるとともRISC-Vプロセッサー遍歴にSiFiveが創業する2015年までの5年間、Asanović教授は相当忙しかったと想像される。下の画像が2018年までのRISC-Vのタイムラインである。
この時期Asanović教授は以下の業務に携わっていた。
本来の教授としての業務
下の画像は、Raven-1以降にUC Berkeleyで開発されたさまざまなRISCプロセッサーの一覧である。
あくまでもこれはテープアウト、つまり物理設計を終わらせただけであってすべてのチップが実際に製造したわけではないし、ついでに言えばすべてにAsanović教授が関係しているわけではないが、ここのリストのRaven-3はAsanović教授の研究プロジェクトであり、実際にチップが製造され(製造はSTMicroelectronicsの28nm FD-SOI)、その特性を評価してHot Chips 27で発表もされれている。
ということは2015年くらいまで、Ravenを利用した研究がずっと行なわれていたわけで、当然このために相応の時間を割いているはずである。
RISC-V環境の充実
2014年までの間は、RISC-V ISAのブラッシュアップや「動くもの」の完成に注力することになる。実際基本的なISA(User ISA)は2011年中に完成し、2014年にはIMAFD(連載733回にあるスライドように、Standard Extentionの全部入り)まで定めたVersion 2.0がリリースされる。
ただこれはUser ISA、つまりアプリケーション向けの命令セットであり、これとは別にOSなどカーネルモードで動作する際に必要な特権命令(Privileged Arch)設置と縮小命令セット(RVC:RV Compressed)も2015年には完成している。
これに先立ち、Linuxの移植も始まっており、2013年中にはとりあえずブートするところまで完成している。この時のターゲットは、Raven-3の前段階の試作用で、ASICではなくFPGAボード上で動作していたコアのようだし、Linuxといってもとりあえずカーネルが動いたというレベルの話で、まだQEMUやブート用ファームウェアなどのビジネス用途に必要な環境がそろうには遠い状況ではあったが、とりあえず動作するOSが存在する、というのは重要なマイルストーンの1つを達成したことに間違いない。
単に「命令セットを定めました」だけでなく、「その命令セットを利用したプロセッサーが存在し、その上でLinuxも動きます」となると説得力が大幅に増す。というのは、性能やコストを現実的に算定できるベースができることになるからだ。
このコストに絡む話ではもう1つ、Chiselの存在がある。Raven-1の設計は、Verilogで行なわれていた。Verilogはこの連載でもちょくちょく名前が出てくる言語であるが、分類としてはHDL(Hardware Definition Language:ハードウェア記述言語)に属する。
Verilogは回路を設計するための「高級」言語である。なにをもって「高級」なのかは難しいが、CPUの世界で言えばC/C++やJava、今ならPythonなどが「高級」、アセンブラが「低級」になる。品質云々の高級/低級ではなく、抽象度が高いのが高級、ハードウェアに依存するのが低級と考えて欲しい。
HDLと対を成すのがRTL(Register Transfer Level)と呼ばれる記述法で、このRTLのデータを元にマスクが製造され、ファウンダリーで製造されることになる。さてRaven-1ではそんなわけでVerilogで直接CPU回路の記述がされていたが、Raven-2ではChiselと呼ばれる新しいツールが投入される。
Chiselは言ってみれば「Verilogにカバーを被せたもの」で、Scalaという言語を基にしたHDLではあるが、それでも基本的なコアをカスタマイズ(キャッシュやレジスターの容量、演算ユニットの数などを増減)して派生型を作る作業がVerilogを使うよりも非常に簡単になるというメリットもある。
さすがにVerilogを知らないエンジニアがChiselで直接CPUを構築するというのは無理があるが、Verilogに慣れたエンジニアであればCPUの構成を直接Verilogで記述するよりもずっと容易に構築できるようになった。このChiselは、その後SiFiveでも大活躍している。
なおRaven-3からはChisel2、Hurricane-2からはChisel3とより進化したChiselが利用されているほか、Raven-3からはBAG(Berkeley Analog Generator)、Hurricane-2からはBAG2と呼ばれるPythonで記述可能なアナログ回路生成用ツールが利用可能になり、2020年からはこれらを包括してハードウェアの上位設計からチップの物理設計までをまとめてハンドリングできるChipyardと呼ばれるツールも登場している。
こうしたツール群はもちろん徐々に整っていった格好なので2014年までの範囲であればいろいろ足りない部分はあったのだが、それでも他のCPUアーキテクチャーに比べると、RISC-VはCPUを設計するためのコストを低く抑えやすいという特徴が生まれることになった。
また記事冒頭の画像で2012年に“1st Rocket tapeout”とあるが、これはChiselの上で提供されるRocket Chipと呼ばれるCPUジェネレーターを利用したチップである。その下のUC Berkeleyで開発されたRISCプロセッサー一覧の画像でいえばEOS系列がこのRocket Chipをベースとしたコアとなっている。
Rocketそのものは5段のパイプラインを持つシングルイシューの比較的シンプルな構成のコアながら、RV32Gの命令セットに加え、マシンモード/スーパーバイザーモードなども搭載されており、ほぼRISC-Vコアの基本ともいうべきものになっている。このRocketコアに周辺回路のIPまでまとめた物がRocket-Chipであり、これはBSDライセンスで提供されている。
このRocketを利用した商用製品は多い(そもそもSiFiveの最初の評価ボードであるHiFive 1に搭載されたEF310というSoCも、このRocketベースである)。BSDライセンスなので、もちろんSiFive以外のベンダーもこれを自由に利用可能である。
これに引き続き、アウト・オブ・オーダー構成をもつBoomという実装の開発も始まっているが、こちらは登場するのはもう少し後の話である。ただこんな具合に、さまざまなRISC-Vを現実するためのプロジェクトも、研究と同時に走っていたわけだ。
この連載の記事
-
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ