RISCとCISCの違い:命令セットの考え方と代表例を比較

RISC(縮小命令セットコンピュータ)とCISC(複合命令セットコンピュータ)は、命令セットの設計に関する2つの考え方です。RISCは、単純で長さが一定の少数の命令を使い、パイプライン処理がしやすいです。CISCは、複雑で長さが可変の多数の命令を使い、1つの命令でより多くの仕事ができます。今では境界はあいまいで、現代のx86プロセッサは、CISCの命令を内部で単純な演算に変換して実行します。そのため、違いが重要なのは、主に命令セットとソフトウェアの環境の面です。

項目RISCCISC
考え方少数の単純な命令を使う。1つの命令の仕事は小さく、速く実行できるように作る多数の強力な命令を使う。1つの命令で複数のステップを実行するものもある
命令の長さ固定(RISC-VやAArch64の基本の命令セットでは32ビットなど)可変(x86の命令は1〜15バイト)
メモリアクセスロード/ストア方式。メモリに触るのはロードとストアの命令だけで、演算はレジスタ同士で行う多くの命令で、メモリのデータを直接オペランドにできる
レジスタ汎用レジスタが多い(RISC-VやAArch64では32個)少なめ(x86-64の汎用レジスタは16個)
デコード単純で、パイプライン処理に向き、ハードウェアも小さくできる複雑。現代のx86のコアは、命令を内部のマイクロ命令に変換する
コードサイズ大きめ。ただし圧縮命令の拡張(ThumbやRISC-VのC拡張)で小さくできる1つの命令の仕事が多いので、密になりやすい
代表例ARM、RISC-V、MIPS、PowerPCx86とx86-64(Intel、AMD)、IBM z/Architecture
主な用途スマートフォン、組み込み機器、最近はノートPCやサーバーにもパソコンとサーバー。ソフトウェアの互換性が重要な分野

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

どんなときに使うか

RISC
電力効率が重要で、単純で拡張しやすい設計が欲しいときに向きます。スマートフォン、組み込み機器、独自のプロセッサなど。RISC-Vはオープンな標準なので、誰でもライセンス料なしでコアを作れます。
CISC
今、CISCを選ぶ理由はソフトウェアの互換性です。膨大なx86のソフトウェア資産が、パソコンとサーバーでの優位を支えています。
実際には
性能を左右するのは、RISCかCISCかよりも、マイクロアーキテクチャ、キャッシュ、製造プロセスです。

よくある質問

ARMはRISCですか、CISCですか?

ARMはRISCのアーキテクチャです。RISC-VもRISCで、x86はCISCです。

RISCはCISCより速いですか?

それだけで決まるわけではありません。現代のx86プロセッサは、CISCの命令を、内部で単純な演算に変換して実行するので、性能は、RISCかCISCかよりも、マイクロアーキテクチャ、キャッシュ、製造プロセスで決まります。

なぜx86は今もパソコンで優位なのですか?

互換性です。既存のWindowsやデスクトップのソフトウェアの膨大な資産がx86向けに作られていて、パソコンとサーバーでの優位を支えています。

ロード/ストア方式とは何ですか?

メモリにアクセスするのはロードとストアの命令だけで、演算はレジスタ同士で行う方式です。ARMやRISC-VなどのRISCの設計は、この方式です。

理解度チェック

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

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

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

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

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アクセラレータなどで採用が広がっています。

  1. RISC-Vのようなロード・ストア・アーキテクチャの特徴として正しいものはどれか。
  2. CPUが1つの命令を処理する基本的な流れとして正しい順序はどれか。

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

関連する用語の解説

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

関連する比較