最終更新日:2026年10月7日
fe fe-technology computer-architecture cpu
まず結論
RISCとCISCは、CPUが理解する命令セットをどのように設計するかという考え方の違いです。
最初は次の対比を押さえます。
| RISC | CISC | |
|---|---|---|
| 基本思想 | 単純な命令を中心にする | 複雑で多機能な命令も持つ |
| 1命令の処理 | 比較的単純 | 比較的複雑なものもある |
| 命令形式 | 単純・規則的にしやすい | 多様になりやすい |
| パイプライン | 適用しやすい設計にしやすい | 命令ごとの差を考慮する必要がある |
| プログラム | 複数の単純命令を組み合わせる | 1命令で多くの処理を行える場合がある |
RISC
→ 命令を単純にする
CISC
→ 1命令で複雑な処理もできるようにする
ただし、現代のCPUを「RISCは必ずこう、CISCは必ずこう」と機械的に二分するのは正確ではありません。FEではまず、典型的な設計思想の違いとして理解します。
直感的な説明
作業指示を例に考えます。
RISCは、単純な指示を組み合わせて作業するイメージです。
取る
↓
足す
↓
戻す
CISCは、より複雑な作業を一つの指示で表せるようにするイメージです。
「取り出して、計算して、結果を保存する」
つまり、
RISCは命令をシンプルにして組み合わせる。CISCは命令そのものに多くの機能を持たせられる。
という違いから始めると整理しやすくなります。
定義・仕組み
そもそも何を比べている?
RISCとCISCは、プログラムの保存場所やCPUの実行手順そのものを分類した言葉ではありません。
比較しているのは命令セットの設計思想です。
プログラムをどう保持して実行する?
→ プログラム記憶方式
CPUが1命令をどう処理する?
→ 命令実行サイクル
命令は何で構成される?
→ 命令語
どのような命令体系を用意する?
→ RISC / CISC
CPU周辺の用語の位置関係は、CPUが命令を実行する全体像で確認できます。
RISC
RISC(Reduced Instruction Set Computer)は、比較的単純で規則的な命令を中心に命令セットを構成する考え方です。
典型的には、
- 命令の機能を単純にする
- 命令形式を規則的にする
- 単純な命令を組み合わせて処理する
- パイプライン処理を行いやすい構成にする
といった特徴で説明されます。
複雑な処理を行う場合は、複数の命令を組み合わせます。
CISC
CISC(Complex Instruction Set Computer)は、複雑で多機能な命令も含む命令セットを用意する考え方です。
典型的には、
- 多様な命令を持つ
- 1命令で比較的複雑な処理を行える
- 命令形式や命令長が多様になり得る
といった特徴で説明されます。
命令語との関係
RISC/CISCを理解するときは、命令語の構成とつなげると理解しやすくなります。
命令語
→ CPUへの個々の指示はどう表される?
RISC / CISC
→ そのような命令を、どんな方針で体系化する?
RISC/CISCは、個々の命令語より一段上の命令セット全体の設計方針と考えると位置付けやすくなります。
パイプラインとの関係
RISCでは、命令を単純で規則的に設計することで、各命令の処理をそろえやすく、パイプライン処理へ適用しやすいという典型的な説明があります。
命令が単純・規則的
↓
処理段階をそろえやすい
↓
パイプライン化しやすい
パイプライン自体の仕組みは、パイプライン制御で整理しています。
科目Aでどう出る?
FEでは、典型的な特徴の組合せを見分けます。
| 問題文のキーワード | 疑うもの |
|---|---|
| 単純な命令を組み合わせる | RISC |
| 命令形式を単純・規則的にする | RISC |
| パイプライン処理に適した設計 | RISC |
| 複雑で多機能な命令を持つ | CISC |
| 1命令で複雑な処理を行える | CISC |
| 多様な命令形式を持つ | CISC |
最短では、
単純な命令を組み合わせる
→ RISC
複雑な命令も用意する
→ CISC
と切り分けます。
どんな場面で使う?
RISC/CISCは、CPUの命令セットアーキテクチャを理解するときの基本的な分類です。
FEでは、実際のCPU製品の内部実装を詳しく追うより、
- 命令を単純化する方向
- 1命令に多くの機能を持たせる方向
- パイプラインとの関係
を理解することが重要です。
CPU高速化技術を学んでいる場合も、
RISC / CISC
→ 命令セットをどう設計する?
パイプライン
→ 複数命令をどう効率よく流す?
スーパースカラ
→ 複数命令をどう同時実行する?
と、分類軸を分けて考えます。
よくある誤解・混同
RISCは命令の種類が少なく、CISCは必ず多い?
名称からその傾向を連想できますが、命令数だけで機械的に判定するのは避けます。
重要なのは、RISCが単純で規則的な命令を中心に設計する考え方、CISCが複雑で多機能な命令も扱う考え方だという点です。
RISCは必ず固定長、CISCは必ず可変長?
FEでは典型的特徴として結び付けて説明されることがありますが、「必ず」と断定しないことが大切です。
固定長・可変長は命令形式の設計上の特徴であり、RISC/CISCという名称だけから例外なく決まるわけではありません。
RISCなら1命令が必ず1クロックで終わる?
これも「必ず」ではありません。
単純な命令は処理を規則化しやすいという考え方は重要ですが、実際の実行時間はCPUの設計や命令、メモリアクセスなどにも左右されます。
RISCとパイプラインは同じ?
違います。
RISC
→ 命令セットの設計思想
パイプライン
→ 命令処理を段階に分け、重ねて流す高速化技術
RISCの規則的な命令設計はパイプラインと相性がよいと説明されますが、同じ概念ではありません。
RISC/CISCとプログラム記憶方式は同じ分類?
違います。
プログラム格納方式は、プログラムをどのように保持してCPUが実行するかという話です。
RISC/CISCは、CPUが扱う命令セットをどう設計するかという別の分類軸です。
まとめ(試験直前用)
- RISC/CISCは命令セットの設計思想
- RISCは、単純で規則的な命令を中心にして組み合わせる
- CISCは、複雑で多機能な命令も持つ
- RISCは典型的にパイプライン処理へ適用しやすい
- 「RISC=必ず固定長」「必ず1クロック」のような断定は避ける
- パイプラインは高速化技術、RISC/CISCは命令セットの設計方針であり、同じ分類ではない
試験直前は、
単純な命令を組み合わせる → RISC / 複雑な命令も持つ → CISC
で切り分けます。