お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2018/07/21 00:00

ニュース

将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

画像集 No.002のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
 少し古い話で恐縮だが,2018年6月21日,Western Digital(以下,WD)は,東京都内で記者説明会を開催し,同社CTOであるMartin Fink氏が,同社における「RISC-V」(リスク ファイブ)への取り組みについて説明した。といっても,RISC-Vとは何かを知っているという4Gamer読者は少ないだろう。現時点では,ゲームやゲーマー向けデバイスに直接関係しない技術とあってはなおさらだ。
 とはいえ,将来においてRISC-Vは,ゲーマーが手にする機器で使われるようになるかもしれない技術ではある。そこで本稿では,RISC-Vとはなにであり,どんな用途で使われている技術なのかから紹介したい。


研究目的で作られた独自の命令セットRISV-V


Krste Asanović氏(Professor,Computer Science Division,UC Berkeley)
画像集 No.004のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
 RISC-Vとは,もともとカリフォルニア大学バークレー校(University of California, Berkeley,以下 UCB)のKrste Asanović(以下,Asanovic表記)教授が,自身の研究プロジェクトである「Raven」(関連リンク)のために開発した独自プロセッサの命令セットである。

 Ravenは,高効率なプロセッサデザインを追求する研究であったが,そのためには自由に変更できる命令セットを用意する必要があった。ところが,IntelにせよArmにせよ,既存のプロセッサ向け命令セットは,特定の企業ががっちりと権利を握っているので,勝手に命令セットを変更したりはできない。それならば,1から命令セットを開発したほうが早い,という話である。
 さまざまな理由でUCBは,こうした独自のRISC命令セットをすでに4つ開発していた。Asanovic教授の開発したものは5つめになるので,RISC-Vと名付けられたわけだ。

画像集 No.003のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
 さて,Ravenのプロジェクトはすでに終了しているのだが,Asanovic教授はRISC-Vを単に研究プロジェクトだけで終わらせず,広く一般に,それもオープンソースとして提供することにして,2015年に管理団体となるRISC-V Foundationを設立した。そして,RISC-Vの仕様を公開するとともに,さまざまなパートナー企業を募った。設立メンバーとしてはUCBのほかに,Bluespec,Google,Microsemi(現Microchip),NVIDIA,NXP Semiconductors,そしてWDの7社が名を連ねている。

 実のところ,このRISC-Vを採用した実際に稼動するプロセッサも,すでに存在している。
 たとえば,Asanovic教授の研究室メンバーで設立したベンチャー企業のSiFive(※Asanovic教授はChief Architectを勤める)は,すでに何種類かのRISC-VベースプロセッサIPと,これを実装したプロセッサの半導体ダイを販売中だ。

Andesは2種類のRISC-Vベースプロセッサを販売している
画像集 No.005のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
 また,設立メンバー企業の1つであるMicrosemiは,RISC-VベースのプロセッサIPを自社のFPGAに実装している。独自のプロセッサIPを提供してきていた台湾のAndes Technology(以下,Andes)も,RISC-Vベースのプロセッサである「AndesCore N25」「AndesCore NX25」を販売中だ。
 そのほかにも,x86互換CPU「Crusoe」で名高いTransmetaの創業者だったDavid Ditzel氏が立ち上げたプロセッサメーカーのEsperanto Technologiesは,RISC-Vベースの高性能プロセッサを開発中とのこと(※WDもEsperanto Technologiesに投資している)。さらに,フランスのCortusというプロセッサベンダーが,すでにRISC-VベースのプロセッサIPを5種類も開発している。
 つまり,RISC-Vは単に研究用の命令セットではなく,最終製品として使えるプロセッサにも普及し始めているわけだ。


組み込み向けに広がりつつあるRISC-V


 独自のプロセッサ向け命令セットとはいえ,RISC-V Foundationは,PCに使われるx86プロセッサや,スマートフォンで使われるArmの「Cortex-A」シリーズをRISC-Vが短期間で置き換えるような構図は考えていない。ではどういうところに使われるかというと,まずは組み込み用途が考えられる。
 たとえば,AndesのプロセッサIPは,無線LANのコントローラとかUSBのコントローラなどに採用されるケースが増えているとのこと。こうした組み込み向けコントローラが,次第にRISC-Vベースへと置き換わっていくことを想定している。

 以前であれば,こうしたコントローラは,プロセッサベンダーの独自CPUを使っていることが多かったが,ここ数年はArmのコントローラ向けプロセッサIPである「Cortex-M」シリーズや「Cortex-R」シリーズなどで置き換えられつつあった。Cortex-Mシリーズは,ゲーマー向けマウスやキーボードの内蔵コントローラに使われる例もあるので,耳にしたことのある人もいるだろう。
 ただ,Arm製のプロセッサIPを使うには,当然ロイヤリティがかかる。それを嫌ったプロセッサベンダーには,よりライセンス料やロイヤリティの安いAndesやCortusなどのプロセッサIPを利用する動きが出てきていた。こうした「安いプロセッサIPへ乗り換えたい」というプロセッサベンダーのニーズに向けて,RISC-Vベースのプロセッサを提供するというのが,次第にトレンドになりつつある。

Martin Fink氏(CTO,Executive Vice President,Western Digital)。2017年1月から現職で,それ以前はHP LabsのDirector兼HPEのCTOを務めていた
画像集 No.006のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか
 今回,説明を担当したWDのFink氏によると,安いプロセッサIPに乗り換えるという動きは,WDでも同じであるという。

 余談気味になるが,かつてのWDは,CPUやグラフィックス,ネットワークなどのチップを出荷する半導体ベンダーでもあった。しかし,こうした半導体ビジネスを全部切り捨てて,ストレージの専業ベンダーに生まれ変わったのが現在のWDだ。
 ストレージ専業とはいっても,WDは,ストレージデバイスに必要なチップを,あいかわらず自前で用意している。具体的にいえば,HDD裏側の基板に乗っている制御チップや,SSDのコントローラといったものだ。結果としてWDは,現在でも1年で10億個ものチップを自前で生産しているとのこと。年間10億個という数字は,ラフに言って,Intelが1年間に出荷するCPUの数に匹敵する。もちろん,単価はWDのほうが桁違いに安い。
 そしてFink氏は,今後,WDの生産するチップの数は,倍増するという見通しを立てていると述べる。ようするに,SSDの出荷数量がこれからどんどん増えていくという話だ。

 WDは,こうしたコントローラを自社で設計したうえで,実際の製造をファウンダリ(半導体製造事業者)に委託している。こうしたコントローラにも,当然プロセッサは入っているわけだ。
 Fink氏によると,現在のWDでは,旧ARC International(※現在はSynopsysの傘下)が提供するDesignWare ARC Processor Core(関連リンク)を利用してコントローラを構築しているとのこと。これをすべてRISC-Vベースに置き換えていく,という計画を立てているそうだ。

 また余談だが,このARCコアは知名度こそ低いものの,2014年頃には採用チップが1年間で14億個も出荷されていたというほど,ポピュラーなものである。たとえば,Intelが2015年に発表した組み込み用途向けの超小型コンピュータ「Curie」(※現在は販売終了)も,「ARC EM4」というプロセッサが搭載していた実績があった。


なぜWDはRISC-Vに取り組むのか


 なぜWDは,ARCからRISC-Vに切り替えようとしているのか? ロイヤリティにかかるコスト以外の理由としては,ストレージ用コントローラに対する要求の変化がある。

 たとえば,HDD用コントローラであれば,リアルタイムでのモーターやヘッドの制御,データの記録方式に対応したエラー訂正といった機能が必要だ。一方,SSD用コントローラであれば,モーターの制御機能は不要だが,エラー訂正やパリティ検査の高い処理能力や,HDDよりも高いデータスループットが求められる。このような異なるニーズに単一のアーキテクチャで対応するのは困難で,無理にまとめようとすると無駄が多くなってしまう。

用途に応じてコントローラに求められるアーキテクチャも異なることを示したイメージ図。ここでいう「ビッグデータ」はHDD,「ファストデータ」はSSDと読み替えればいい
画像集 No.007のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

 ストレージ用コントローラに対する要求が変化したことにより,用途に応じてWD側でアーキテクチャを変更できるようになるのが望ましく,そのために自社でカスタマイズできるプロセッサIPが必要となったわけだ。

アーキテクチャの多用化は必要であるが,特定用途に特化したアーキテクチャを乱発してしまうと,今度はアーキテクチャが無駄に増えるだけになる
画像集 No.008のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

 ここで最初の問題となるのが,アーキテクチャの変更とは,どの程度の規模を想定しているのかである。Fink氏が説明した限りでは,核となる命令セットは共通にしながら,それぞれの用途に向けた拡張命令を追加できる程度の拡張性をWDは求めているようだ。

想定されるコントローラの用途を示したスライド。ただし,必ずしもWDが,機械学習やイベントコリレーション(イベント監視)用途向けにプロセッサを提供するという意味ではない
画像集 No.009のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

 もちろん,これまでも,用途に応じたプロセッサのカスタマイズができなかったわけではない。独自の命令セットを持つプロセッサを作ればいいだけだ。問題は,そうしたプロセッサを使うために必要な環境,つまりソフトウェア開発に用いるコンパイラやアセンブラ,デバッガから,OSやライブラリ,ミドルウェア,そしてアプリケーションなどは誰も提供してはくれないことにある。これらを自社で全部構築する必要があり,恐ろしいほど手間とコストが必要となってしまうのだ。

 その点,RISC-Vの場合,基本的な命令セットに対応するコンパイラやデバッガ,OSなどはすでにあり,今後さらにライブラリ類が増えていくことも期待できる。つまり,命令セットの拡張部分に対して,デバッガやライブラリを充実させれば済むわけで,まるごと全部を構築したり,別のプロセッサ用から移植したりするのに比べると,その手間とコストは大幅に低い。

オープン化の重要性を謳ったスライド。RISC-V以外のロゴは,成功したオープンソースプロジェクトを示すだけのもので,RISC-Vと直接関係があるわけではない
画像集 No.011のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

 先にも書いたが,こうしたカスタマイズをx86やArmで行うのは不可能である。命令セットは,IntelやArmがガッチリと握っているからだ。IBMの「PowerPC」シリーズなら,アクセラレータ命令を追加できるオプションが用意されていたので可能だったが,PowerPCそのものが衰退傾向なので,今さら採用しても意味がない。
 そう考えると,基本的な命令セットさえ守れば,ベンダーで独自に命令を追加でき,しかもロイヤリティを支払う必要もないRISC-Vが,WDにとって魅力というのは理解できる話だろう。


将来のゲーマー向け周辺機器では,内部でRISC-Vが動いているかも


 それでは,実際にWDは,RISC-Vでどんなプロセッサを作ろうと考えているのだろうか。そのヒントとなるのが,Fink氏が示した以下のスライドだ。現在は,汎用品のHDDやSSDをさまざま用途で使っているが,今後のストレージデバイスは,より特定用途向けになってゆく可能性があり,それに備えてコントローラのRISC-V化を図っているといったところだろうか。

WDがRISC-Vで目指すものを示したスライド。たとえば,より特定用途に絞ったHDDソリューション(※スライドのビッグデータ)を投入する可能性がある。なお,ビッグデータ欄にある「ローカライズされた機械学習」というのは,HDD単体で機械学習処理が可能になるような機能セットの意味かもしれない
画像集 No.010のサムネイル画像 / 将来のゲーマー向け周辺機器で使われる? x86ともCortexとも違う独自CPU向け命令セット「RISC-V」とはなにか

 実際,Fink氏との質疑応答では,WDはこうした特定用途向けの命令拡張をすでに継続して行っており,2018年度末までにオープンソース化する予定であることと,RISC-Vに関するWDのロードマップを公開する予定があるという話が出た。
 また,WDによる拡張命令は,アクセラレータ的に動作するもので,これまでソフトウェアで行っていた処理を,まとめてプロセッサ側にオフロードできるようなものになる,との説明もあった。

 なお,WDでは自社の拡張命令を搭載したプロセッサIPや,半導体ダイそのものを外販する予定はないそうで,あくまでも自社での利用のみとFink氏は説明している。もっとも,当面はHDDやSSDのコントローラのみだが,3年後くらいには「それ以外のものが出てくるかもしれない」(Fink氏)という,含みを持たせた回答だった。
 WDのプロセッサに話を戻すと,現在はRISC-Vベースのコントローラを2種類開発中で,最初のものが2019年に登場するという。ただ,すべてのチップをRISC-Vベースに切り替えるまでは,5〜7年程度かかるだろうという見方をFink氏は示していた。

 そんなわけで,2019年に登場するWDのHDDやSSDには,RISC-Vベースのコントローラが載っている可能性は高いだろう。ただ,HDDやSSDの製品そのものは変えずに,コントローラ基板だけが新しいものに切り替わってる可能性も高いので,RISC-Vへ移行したことがユーザーに分かるどうかはなんとも言えない。
 一方,他のデバイスメーカーでもRISC-V採用の機運が高まっていけば,たとえばCortex-Mシリーズを使っているゲーマー向けマウスやゲーマー向けキーボードの次世代モデルに,RISC-Vベースのプロセッサを統合するSoCが採用されるなんてことがあるかもしれない。ゲーマーが直接目にすることはまれだろうが,ゲーマー向け周辺機器の中ではRISC-Vが動いている,という未来はありえるのではないだろうか。

RISC-V Foundation公式Webサイト(英語)

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月21日〜11月22日