ARM・RISC-V・x86の違い:命令セットアーキテクチャを比較

ARM、RISC-V、x86は、3つの命令セットアーキテクチャ(ISA)で、ソフトウェアとプロセッサの間の約束事です。ARMとRISC-Vは、RISC方式の設計で、x86は、何十年もかけて育ってきたCISC方式の設計です。最も大きな違いは、誰が作れるかと、ソフトウェアの環境の大きさです。x86はパソコンとサーバーで、ARMはスマートフォンで優位にあり、ノートパソコンとサーバーでも広がっています。RISC-Vはオープンな標準で、組み込みの分野で急速に広がっています。

項目ARMRISC-Vx86
設計の考え方RISC。ロード/ストア方式RISC。ロード/ストア方式で、モジュール化されているCISC。複雑な命令が多く、メモリのオペランドも使える
命令の長さ64ビットモード(AArch64)では32ビット固定32ビットに、任意の16ビットの圧縮命令可変で、1〜15バイト
汎用レジスタ31個(AArch64)32個(x0は常に0として読める)16個(x86-64)
ライセンス独占的。企業はArm社からライセンスを受け、料金とロイヤルティを払うオープンな標準。誰でも、ライセンス料なしでチップを作れる独占的。実際には、IntelとAMDだけがx86のプロセッサを作る
モジュール性アプリケーション用(A)、リアルタイム用(R)、マイコン用(M)のプロファイル小さな基本部分に、任意の拡張(乗算、浮動小数点、ベクトルなど)を加える何十年もかけて拡張を追加(SSE、AVXなど)。古いソフトウェアも動き続ける
ソフトウェアの環境成熟している。モバイル、Linux、AppleシリコンのMac、Windows on Arm急速に成長中。組み込みとLinuxで特に強い最大。特にWindowsや、従来のデスクトップ・サーバーのソフトウェア
主な強み電力効率と、マイコンからサーバーまでの幅広さカスタマイズのしやすさと、ライセンス料がないこと高いシングルスレッド性能と、ソフトウェアの互換性
主な用途スマートフォン、タブレット、AppleのMac、クラウドのサーバー、組み込み組み込みとIoT、アクセラレータ、教育、新しいサーバーパソコン、サーバー、ワークステーション

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

ARM
電力効率が重要で、実績のある環境が欲しいとき。スマートフォンからクラウドのサーバーまで。
RISC-V
自分でプロセッサを設計したいとき、ライセンス料を避けたいとき、独自の命令を加えたいとき。
x86
既存のパソコンやサーバーのソフトウェアとの互換性が最優先のとき。

よくある質問

ARMはx86より速いですか?

もともとそうだとは言えません。性能は、個々のプロセッサの設計と製造プロセスで決まります。ARMの設計は電力効率が高い傾向があり、x86の設計は、シングルスレッドの最高性能で先行することが多くありました。

なぜRISC-Vは無料なのですか?

RISC-Vは、RISC-V Internationalが管理するオープンな標準で、誰でも、ライセンス料なしでチップを作れます。ARMとx86は独占的です。

ARM向けのソフトウェアをx86で、またはその逆で動かせますか?

直接は動かせません。命令セットが違うので、プログラムを再コンパイルするか、エミュレータや変換の仕組みを通して動かします。

AppleのMacはどんなプロセッサを使っていますか?

AppleシリコンのMacは、Appleが設計した、ARMベースのプロセッサを使っています。

理解度チェック

ARM、x86、RISC-Vといった名前が主に表しているものはどれか。

  1. A製造プロセスの世代
  2. B命令セットアーキテクチャ(ISA)
  3. Cパッケージの種類
答えと解説を見る

正解:B. 命令セットアーキテクチャ(ISA)

ARM、x86、RISC-Vは命令セットアーキテクチャ(ISA)の名前で、プロセッサが理解する命令の種類、レジスタ、メモリの扱い方など、ソフトウェアとハードウェアの約束ごとを定めます。同じISAなら、設計した企業が違っても同じプログラムが動きます。x86はIntelとAMDがパソコンやサーバーで、ARMはスマートフォンやAppleのMac、RISC-Vは組み込みを中心に広がっています。

RISC-Vの特徴として正しいものはどれか。

  1. A特定の1社だけが使える専用の命令セットである
  2. BGPU専用の命令セットである
  3. C仕様が公開されており、ライセンス料なしで利用できる命令セットアーキテクチャである
答えと解説を見る

正解:C. 仕様が公開されており、ライセンス料なしで利用できる命令セットアーキテクチャである

RISC-Vは2010年にカリフォルニア大学バークレー校で開発が始まったオープンなISAで、仕様が公開され、ライセンス料なしで誰でも実装できます。基本の整数命令は約40個と小さく、用途に応じて浮動小数点やベクトルなどの拡張を選んで組み合わせられます。独自命令も追加できるため、組み込みマイコン、ストレージのコントローラ、AIアクセラレータなどで採用が広がっています。

RISC(縮小命令セットコンピュータ)の特徴として正しいものはどれか。

  1. A複雑で長さの異なる命令を数多くもつ
  2. B命令を単純で数の少ないものに絞り、パイプライン処理をしやすくする
  3. C命令を一切もたない
答えと解説を見る

正解:B. 命令を単純で数の少ないものに絞り、パイプライン処理をしやすくする

RISCは、命令を単純で長さのそろったものに絞り、演算はレジスタどうしで行い、メモリとのやりとりはロード・ストア命令に限る設計思想です。命令ごとの処理時間がそろうためパイプラインに適し、ARMやRISC-Vが代表例です。複雑な命令をもつCISC(x86など)も、現在は内部で命令を単純なμOPに分解して実行しており、両者の差は縮まっています。

  1. 同じ命令セットアーキテクチャ(ISA)を採用した2つのCPUについて正しいものはどれか。
  2. RISC-Vのようなロード・ストア・アーキテクチャの特徴として正しいものはどれか。

CPU・アーキテクチャの練習問題へ

関連する用語の解説

命令セットアーキテクチャ(ISA)
プロセッサが実行できる命令やレジスタなど、ソフトウェアから見たプロセッサの仕様。x86、Arm、RISC-Vなど。

関連する比較