【めいれいせっと】

命令セット とは?

最終更新:
💡 CPUへの命令と、その意味を決める共通の約束

CPUが直接実行できる機械語命令の集合。計算、データの読み書き、条件分岐などを定義する。命令セットアーキテクチャ(ISA)は、命令の形式やレジスタなども含む、ソフトウェアから見たCPUの仕様。

📌 このページのポイント
CPUへの命令の意味を決める約束 機械語命令 計算・読み書き・分岐 符号化された指示 CPU 解釈して実行 ISA:ソフトウェアから見た仕様 命令形式・レジスタなども定義 同じISAでも、内部の実装は異なり得る 互換性には対応拡張・OSなども関係する
命令は機械語の符号化された指示で、矢印はCPUによる解釈・実行への流れです。ISAは内部の回路図ではありません。x86、Arm、RISC-Vなどの違いだけで性能は決まらず、別ISAの命令を変換して動かす仕組みもあります。
ひよこ ひよこ
命令セットって何のこと?
ペンギン先生 ペンギン先生
CPUが直接実行できる機械語命令の集合だよ。足し算、メモリからの読み込み、条件分岐などがある。アセンブリでは命令をADDなどの名前で書くけど、CPUが読み取るのは符号化された機械語なんだ。
ひよこ ひよこ
ISAと同じ意味なの?
ペンギン先生 ペンギン先生
近い意味で使われることもあるけど、ISAは命令の形式、レジスタ、データ型なども含む仕様だよ。その仕様を実現する内部の回路設計はマイクロアーキテクチャ。同じ命令を実行できても、内部の仕組みや性能が同じとは限らないんだ。
ひよこ ひよこ
違うCPUではソフトが全く動かない?
ペンギン先生 ペンギン先生
あるISA向けの機械語を、別のISAのCPUがそのまま実行できるとは限らないよ。ソースから対象向けにコンパイルする方法や、命令を変換するエミュレーションもある。Windows 11 on Armでx86・x64アプリを動かすのは変換の例だね。OSやライブラリの違いも関係するよ。
ひよこ ひよこ
CISCとRISCなら、RISCが必ず速い?
ペンギン先生 ペンギン先生
CISCとRISCは命令の複雑さなどに関する設計の分類だよ。x86はCISC、ArmやRISC-VはRISCの例として挙げられる。ただし内部の実装やプログラムも違うので、分類だけで速度や消費電力を決められない。RISC-Vにも任意の拡張命令があるんだ。
ひよこ ひよこ
ペンギン先生 ペンギン先生
RISC-Vは公開された標準のISAだよ。ISAの利用にロイヤルティは不要だけど、実装するCPUの設計は公開のものも商用のものもある。CPU製造や開発費まで無料になるわけではない。同じRISC-Vでも必要な基本ISAや拡張が対応しているか確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「命令セット」って出てきたら「CPUが実行できる命令と、その意味の集合」と思えばだいたいOK!
📖 おまけ:英語の意味
「Instruction Set」 = 命令の集合
💬 Instructionは「指示・命令」、Setは「集合」。Architectureを加えたISAは、命令やレジスタなど、ソフトウェアから見たCPUの仕様を表すよ

参考資料

← 用語集にもどる