1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

「RISC-VはArmに劣る」と主張し猛烈な批判にあうArm RISC-Vプロセッサー遍歴

ASCII.jp / 2024年2月5日 12時0分

 前回はArmのRISC-Vに対するスタンスを説明した。これは全体を通してみた話であって、これだけ見れば比較的スマートに反撃というか、RISC-Vの手が出ない領域を積極的に開拓していくことで、直接対決する愚を犯さない対応に終始しているように見えるかもしれないが、実際はいろいろやらかしている。

RISC-VはArmに劣るとArmが主張

 すでにページは削除され、キャッシュやキャプチャーなども削除されてしまったの存在しないが、2018年7月9日にArmは riscv-basics.com なるサイトを立ち上げ、ここでRISC-Vがコスト、エコシステム、分断化(fragmentation)、セキュリティ、デザインの信頼性(design assurance)の5つのポイントにおいてArmに劣る、という主張をした。The Registerが報じた2018年7月10日の記事がこのあたりを伝えているので、ここからArmの主張を簡単に紹介すると、以下の主張がなされていたらしい。

(1) RISC-Vはライセンス料こそ無料だが、SoCを構築するには他にもたくさんコストが掛かるので、無料なわけではない。

(2) SoCを構築する際に助けとなるエコシステムはArmの方がはるかに巨大である。

(3) RISC-Vではさまざまなベンダーが独自にインプリメントを行なう形になるので、実装が細かく分断(fragment)する。Armの場合はArm一社がIPを提供するので、実装に差がない。

(4) Armはセキュリティ対策を施したコアとそれを利用するためのソフトウェアを提供している。RISC-Vはベンダーが多いから、すべてのベンダーでこれが実現しているとは限らない。

(5) ArmはIPのみならずPOP IPやソリューションなどを提供しており、さらにEDA Toolとの連携もあって、確実に稼働するチップを設計できる準備が整っている。RISC-VはCPU IPのみであり、チップ全体の設計まで担保しているわけではない。

 一読するとわかるが明らかにイチャモンというか「お前が言うか」的な内容であり(特に(1))、それもあって猛烈な批判にあうことになり、翌7月10日には閉鎖されてしまっている。またRISC-V陣営もすぐさま対抗して、反論のサイト (http://arm-basics.com/)を立ち上げており、こちらは当初と少しデザインが違うが内容は同じまま現在もアクセス可能である。

当初はこんなシンプルなものだった。今は多少デザインが変わり、冒頭にある状況説明が落とされている。ちなみに今は"ARM Casino Bonus architecture: Understand the facts"というタイトルになってて、ある意味さらにひどい

RISC-Vは無料ではないが Armより廉価で作れる

 ここでArmの主張のうち、(1)はもはや言いがかりである。Armは、ロイヤリティとライセンス料「だけ」を払えばSoCが作れるわけではない。SoC構築費用はArmだろうがRISC-Vだろうが大きくは変わらない。もちろんRISC-VでもCPU IPベンダーから購入すれば相応にライセンス料なりロイヤリティは掛かるだろうが、Armから買うよりは一般に廉価とされる。ただし、実際のところは個別交渉になることが多いので、一概にどうこうは言えない。

エコシステムはArmの方がはるかに巨大 これはそのとおり

 (2)は事実であった。2018年当時で言えばRISC-V財団による活動が始まったばかりと言っても良い時期で、まだメンバー企業も100社台だったころである。Armのエコシステムにはおよばないのは明白だし嘘ではない。とはいえ、すでにRISC-V Internationalへの加盟が2000社を超えていることを考えれば、これは時間の問題でもある。

 実際ISVの中には、ArmのエコシステムとRISC-Vのエコシステムの両方に籍を置き、両方にソリューションを提供し始めているところもある。要するに時間の問題であって、長期的にはあまり差がなくなるだろう。

実装面での分断化はお互い様 命令セットの分断化はむしろArmのほうがひどい

 (3)もかなり言いがかりであって、ベンダーが異なっていてもRISC-V ISAをきちんとサポートしている限りは、命令セット面からの分断化(Fragmentation)は「原理的に」起きないし、実装面での分断化はどちらでも起き得る。

 Armも例外ではない。2011年のことだが、Linus Torvalds氏が増え続けるARMのサポートに苦言を呈した(というかブチ切れた)。

 当時はすでにCortex-A8やA9がリリースされていたが、ターゲットとなったのはその前のARM11ベースのSoCである。これらのLinuxサポートが2011年頃に大挙して行なわれたのだが、当時のARM11ベースのSoCはメーカーごと、下手をすると同一メーカーでも製品ごとに実装がまちまちで、初期化ロジックや周辺回路のアクセス方法、メモリーマッピングなどが全部異なっており、しかもそれを画一的に扱う方法がなかった。

 結果、その製品専用のデバイスドライバーをカーネルに組み込む形になり、これをLinuxカーネルのコードに取り混ぜたため、x86向けのコードが5000ほど組み込まれる間にARM用のコードが7万あまり(しかもほとんどがその特定製品向けのデバイスドライバーの追加)という事態になったことが理由である。これも立派な分断化である。

 Armの側に立った言い方をすれば、そういう苦い経験があったからこそCortex-M向けにはCMSIS(Cortex Microcontroller Software Interface Standard)が用意され、Cortex-A向けにもCMSIS-Coreなどが提供されるようになり、現在はHAL(Hardware Abstraction Layer)が提供されてこのあたりの問題は解決している。

 一方2018年の段階ではRISC-Vにはこうした仕組みが提供されていなかったの、言いたくなる気持ちもわからなくはない。ただ命令セットそのものの分断化はArmの方がひどい。

 ARMv7はお世辞にもキレイな命令セットではないし、ARMv8は32bitと64bitでまったく異なる。Cortex-M系はThumb2のみの実行が可能なので、Arm v7までの32bit ARM命令も実行できない。また拡張命令もVFP/DSP/NEON/SVEとまったくバラバラである。

 ついでに言えば、現在ではRISC-VもRISC-V Processor ProfileやRVM-CSI(RISV-V Common Software Interface)など、ハードウェアの違いを吸収してくれる互換レイヤーの構築が進んでおり、ARM11の時代の混乱をそのまま再現することなく普及が進みそうなので、この点ではArmの言うことはあまり当てはまらない。

 この手の話の場合、先行者の苦労を後発者は見ながら発展していくので、とても苦労した先行者の立場にあるArmが、そうしたノウハウをちゃっかり手に入れている後発者のRISC-Vに一言いいたくなる気持ちはわかる。

セキュリティはRISC-Vもしっかりしている

 (4)はさすがにイチャモンである。もちろんArmは以前からTrust Zoneに代表されるセキュア向けソリューション(あまり目立たないが、クレジットカードなどに代表されるスマートカード向けにSC000というプロセッサーなど)を提供しているし、最近ではSecure Enclaveの提供も始まっている。またArmv8.3-AではPAC(Pointer Authentication Core:ポインター認証)の機能も追加されるなど、いろいろ対策が進んでいる。

 RISC-Vにはそうした対応がないわけではないし、またスマートカード向けはともかくセキュア・エレメント向けにすでに採用事例が複数存在する。さすがに最近のセキュリティ動向はRISC-Vベンダーもきちんと把握しており、今さらセキュリティの対策のないコアを大量に発売したりはしない。そもそもRISC-V ISAの中にセキュリティの要素も含まれているので、これを無視した実装にでもしない限り、Armの言うようなことは発生し得ない。

RISC-VはCPU IPのみであり Armのようにチップ全体の設計までは担保していない

 (5)はそのとおりで、現在Armはまさにこのポイントを突く形で差別化しようとしているのは前回も説明した通りである。ただこのあたりを得意とするベンダーもRISC-Vには存在する。

 もともとSiFiveがこれに近いことをやろうとした(けど失敗した)話は連載748回でも説明したとおり。現在の最右翼はTenstorrentだろう。連載713回で紹介したように、同社はRISC-VコアとAIコアをチップレットの形で利用可能にするソリューションの提供に向けて突っ走っており、これが実現すれば、例えば顧客は自身のIPなどをチップレットの形で製造し、それとTenstorrentのコアやらなにやらもやはりチップレットで組み合わせる形で最終製品が構築できることになる。

 実際にはまだチップレットでこうしたことを自由に行なえるようになるまでにはだいぶ長い道程が待っている。現状チップレットはAMDだったりインテルだったりと、一社ですべての設計、製造する段階に留まっているからだ。

ArmにとってRISC-Vは脅威 Armの強みはチップ全体の設計とソリューションの提案

 以上のことから、辛うじて(2)と(5)だけはイチャモンではなかったのだが、現状では(2)ももう主張としては厳しく、(5)だけがなんとか成立するといったところか。このキャンペーンの失敗もあってか、その後Armは表向きはRISC-Vを名指しで攻撃するのは控えめになったが、中の人はやはりRISC-Vを非常に脅威に感じており、それもあってかソリューションを前面に押し出すキャンペーンを強化している。

 ではRISC-V陣営はArmに対して万全か? と言われると、これも怪しいところはまだまだある。最大のモノは、強力な主導権を取れる体制になっていないことだ。これは何度か説明に使った話だが、例えばRISC-Vのベクター拡張命令(RVV:RISV-V Vector Extension)が最初に言及されたのは、2017年11月末に行なわれたRISC-V 7th Workshopの折である。

 もうこの時点でRISC-V財団にはVector Working Groupが存在しており、ここから標準化活動を進めていったが、これの標準化が完了したのは2022年6月で、実に4年半以上の期間を要している。

Workshopにおける提案のスライドの表紙。ちなみに全体はRISC-Vのウェブサイトから入手できる

 「たかがベクター拡張命令で」というのは失礼にあたるとは理解しているものの、4年半はさすがに標準化作業としては時間がかかりすぎるように思う。これは標準化団体による仕様策定ではしばしば起きることで、PCI-SIG(PCI/PCI Express)やUSB-IF(USB)、IEEE 802.3 WG(Ethernet)などでもやはり時間がかかることは多い。

 ただPCI-SIGやUSB-IFの場合、競合になる存在がないからこれでも許されるが、イーサネットではベンダーが複数集まって独自の団体(MSA:Multi-Source Agreement)を結成して独自規格を作ってしまい、それが業界標準として広まってしまったことでIEEEによる標準化が完了しても誰も使ってくれない規格ができて終わり、ということがたまにあったりする。

 RISC-Vも同じで、他に競合がなければ、のんびりとした標準化作業でも構わないのだろうが、今後Armと本格的に競争が始まる中で、このスピード感は果たして対抗できるのか? という疑念は拭えない。

 過去の例を見ると、ある課題が出てきた時に、その対応の標準化作業を待ってると遅すぎるので、複数のベンダーが独自の実装をしてしまい、それらが業界標準として流通してしまい、しかも標準化ができないという事例がある。RISC-Vがこうした問題を避けられるのか? はRISC-V Internationalのかじ取り次第である。

 また連載755回でも触れたが、RISC-Vはロビー活動をせずに海外移転という形で政治的なトラブルから逃げる方策をとるのが基本方針である。いつまで逃げられるのか? というとこれもやや不明確なところで、いずれはロビー活動の方向に転じざるを得ないのではないか? という気もしなくはない。ただ現状の体制はそうなっていないので、このあたりは長期的に不明確な部分ではある。

 こうしたいくつかの不確定要素はあるものの、RISC-Vがますます興隆していくだろう、ということそのものに疑問の余地はない。それがPC市場にいつ入ってくるのか? と言われると謎ではある。そもそもArmですら、ごくわずかに入り込めているに過ぎない。Appleを加味しても全体の2割に達しないからだ。

 RISC-Vは、組み込みや一部のサーバー、あるいはコンポーネントにはますます使われていくことになるだろう。ただそれがArmを押しのけて主流になるのか? と言われると、その可能性はあるかもしれないが、時期を見通すのは難しいし、今後も長く共存していくかもしれない。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください