CISC/RISCとは?CPUの命令の作り方の2つの考え方

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

CISC/RISCとは(全体像)

CPUが理解する命令の作り方には、大きく2つの考え方がある。

身近にたとえると、CISCは万能ナイフ(1本で多用途だが構造が複雑)、RISCは専用工具セット(単純な道具を組み合わせて手早く作業する)。料理でいえば、CISCは万能包丁1本、RISCは出刃・刺身・牛刀の使い分けのイメージだ。

押さえたいのは、スマホや省電力の場面ではRISC(ARM)、パソコンの互換性ではCISC(x86)が主流という住み分けだ。


詳しく:命令長・Load/Store・省電力だけ覚えれば戦える

ここが記事の心臓部。まず2つを表で対比しよう。

CISCとRISCの違い

項目CISCRISC
命令の長さ可変長(命令ごとに長さが違う)固定長(4バイトでそろう)
1命令の中身複雑(1つでいろいろ)単純(1つは小さな処理)
代表x86(パソコン)ARM・RISC-V(スマホなど)
電力やや大きめ省電力

RISCの大きな特徴がLoad/Store型。これは、メモリの読み書きは「Load(読む)」「Store(書く)」の専用命令だけで行い、計算はレジスタの中だけでするという決まりだ。役割を分けることで、命令が単純になり、流れ作業(パイプライン)と相性がよくなる。

RISCのLoad/Store型

命令できること
Loadメモリからレジスタへ読み込む
Storeレジスタからメモリへ書き出す
計算命令レジスタの中だけで計算(メモリは触らない)

つまり、RISCは「単純な命令を速く・省電力に」こなす設計。だからスマホや組込み機器で広く使われる、というわけだね。なお、RISCは命令が単純だからといって低性能ではない。クロックを上げたり並行で実行したりして、CISCと同等以上の性能を出している。

わかりやすく言い換えると

要するに、CISCとRISCは「複雑な命令をそろえるか、単純な命令を速くこなすか」の違いだ。

CISC … 可変長で複雑な命令(万能ナイフ・x86・パソコン)

RISC … 固定長で単純な命令(専用工具・ARM・スマホ)。省電力

Load/Store型 … RISCはメモリの出し入れは専用命令だけ、計算はレジスタ内で

「RISCは単純でも低性能ではない」だけは取り違えやすい。


試験のツボ

🔴 一番出る:可変長(CISC)と固定長(RISC)

①CISCは可変長で複雑、代表はx86

②RISCは固定長4バイトで単純、代表はARM

🔴 次に出る:RISCのLoad/Store型

①メモリの読み書きはLoad/Store命令だけ

②計算はレジスタの中だけで行う

🟡 押さえると安定:省電力と性能

①RISCは省電力でスマホ・組込みに強い

②単純でも低性能ではない(高クロック・並行実行)


よくある間違い

「RISCは命令が単純だから低性能」→ ✗  高クロック化や並行実行で、CISCと同等以上の性能を出す。

「CISCは固定長、RISCは可変長」→ ✗  逆。CISCが可変長、RISCが固定長(4バイト)。

「RISCは計算でも自由にメモリを読み書きできる」→ ✗  メモリはLoad/Storeだけ。計算はレジスタの中で行う(Load/Store型)。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(命令長の違い)

📝 オリジナル問題 1 CISCとRISCの命令長

CISCとRISCの違いに関する次の記述のうち、正しいものはどれか。

  1. CISCは固定長で単純な命令、RISCは可変長で複雑な命令を使うものとされている
  2. CISCもRISCもまったく同じ設計で、命令の長さにも違いはないものとされている
  3. CISCは可変長で複雑な命令、RISCは固定長で単純な命令を使うという違いがある
  4. CISCはスマホ専用、RISCはパソコン専用と、使う機器だけで分かれているものだ
ネトスパ
ネトスパ 解答・解説

解答は 3 である。

CISCは可変長で複雑な命令、RISCは固定長で単純な命令なのだ。CISCの代表はx86、RISCの代表はARMなるぞ。

選択肢1は可変長・固定長が逆。選択肢2の「同じ設計」、選択肢4の「機器だけで分かれる」も誤りである。

選択肢判定理由
1可変長・固定長が逆
2命令長に違いがある
3CISC=可変長・RISC=固定長
4設計思想の違い

オリジナル問題2(Load/Store型)

📝 オリジナル問題 2 RISCのLoad/Store型

RISCのLoad/Store型に関する次の記述のうち、正しいものはどれか。

  1. RISCはメモリの読み書きをLoad/Storeだけで行い、計算はレジスタの中で行う
  2. RISCは計算命令でも自由にメモリを読み書きでき、Load/Storeは使わないとされる
  3. RISCはメモリをいっさい使わず、すべてのデータをディスクに保存するものである
  4. Load/StoreはCISCだけのしくみで、RISCにはいっさい関係がないものとされている
ネトスパ
ネトスパ 解答・解説

解答は 1 である。

RISCはメモリの読み書きをLoad/Storeだけで行い、計算はレジスタの中で行うのだ。役割を分けるから命令が単純で、流れ作業と相性がよいなるぞ。

選択肢2の「自由に読み書き」、選択肢3の「ディスクに保存」、選択肢4の「CISCだけ」はどれも誤りである。

選択肢判定理由
1メモリはLoad/Store・計算はレジスタ内
2計算ではメモリを触らない
3メモリは使う
4Load/StoreはRISCの特徴

オリジナル問題3(省電力と性能)

📝 オリジナル問題 3 RISCの性能

RISCの省電力と性能に関する次の記述のうち、正しいものはどれか。

  1. RISCは命令が単純なので必ず低性能で、CISCにはまったく追いつけないものとされる
  2. RISCは省電力でスマホにも強く、単純でも高クロックや並行実行で高い性能を出せる
  3. RISCは電力を大量に使うため、スマホのような省電力の機器には向かないものである
  4. RISCもCISCも省電力や性能はまったく同じで、選ぶ理由は存在しないものとされる
ネトスパ
ネトスパ 解答・解説

解答は 2 である。

RISCは省電力でスマホに強く、命令が単純でも高クロックや並行実行で高性能を出せるのだ。「単純=低性能」は古い見方なるぞ。

選択肢1の「必ず低性能」、選択肢3の「電力を大量に使う」、選択肢4の「まったく同じ」はどれも誤りである。

選択肢判定理由
1単純でも低性能ではない
2省電力かつ高性能を出せる
3RISCは省電力
4省電力や性能傾向に違いがある

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る