命令セットアーキテクチャ(ISA)
命令セットアーキテクチャ(ISA)
本節では、
CPUが理解できる命令の体系である
命令セットアーキテクチャ(ISA)を解説する。
ISAは、
ハードウェアとソフトウェアを結ぶ設計上の契約。
1. 命令セットアーキテクチャとは
命令セットアーキテクチャとは、
CPUが実行可能な命令の形式・意味・動作を定義した仕様。
プログラムは、
最終的にISAで定義された命令列として実行される。
Q1. 命令セットアーキテクチャとは何か
A.
命令セットアーキテクチャ(Instruction Set Architecture)とは、
CPUとプログラムの間で取り決められた命令仕様の集合。
以下を含む。
- 命令の種類
- 命令の形式
- レジスタの構成
- アドレッシング方式
2. 命令の基本構造
CPU命令は、
オペコードとオペランドで構成される。
Q2. オペコードとは何か
A.
オペコードとは、
CPUに実行させる処理内容を指定する符号。
例:
- 加算
- 減算
- 比較
- 分岐
Q3. オペランドとは何か
A.
オペランドとは、
命令が操作する対象となるデータや場所。
オペランドには以下がある。
- レジスタ
- メモリアドレス
- 即値(定数)
Q3-1. 即値とは何か
A.
即値とは、
命令中に直接埋め込まれた定数値。
メモリアクセスを伴わない。
3. アドレッシング方式
アドレッシング方式とは、
オペランドをどのように指定するかの規則。
Q4. アドレッシング方式とは何か
A.
アドレッシング方式とは、
命令がデータの所在を指定する方法。
代表例。
- レジスタ直接指定
- メモリ直接指定
- 間接指定
- 相対アドレス指定
4. ISAとプログラミング言語の関係
高級言語は、
直接ISAを意識せず記述される。
しかし、
最終的には必ずISA命令に変換される。
Q5. コンパイラの役割とは何か
A.
コンパイラとは、
高級言語をISA命令へ変換するソフトウェア。
CPUごとに異なるISAに対応する。
5. 設計上の重要性
ISAの設計は、
以下に直接影響する。
- CPU性能
- 消費電力
- ソフトウェア資産
- 互換性
そのため、
ISAは数十年単位で維持される設計判断となる。
