命令セット
命令セットアーキテクチャ(英: instruction set architecture, ISA)はプロセッサの論理的動作を定義づける、ハードウェアとソフトウェアのインタフェースである。すなわち、インターフェースとして定義される論理的な命令セットである。
ISA登場前、各プロセッサは自身の動作を表現する独自の命令セットを有していた。ゆえにソフトウェア開発者は各プロセッサの命令セットを理解し、各プロセッサ向けに異なるプログラムを用意する必要があった。プロセッサ種が増えるにつれこの形は非効率になっていき、インタフェースの必要性が認識された。すなわち、論理的/仮想的なプロセッサの命令セットを先行して定義する方式である。この方式では、ハードウェア開発者は良いインタフェース実装を作れれば幅広いユーザを獲得でき、同時にソフトウェア開発者は単一の命令セットに対してプログラミングするだけで幅広いプロセッサで動作するプログラムを作成できる。こうして考案された、プロセッサの論理的動作を定義づける、ハードウェアとソフトウェアのインタフェースが命令セットアーキテクチャである。
ISAはコンピュータ・アーキテクチャの一部であり、レジスタの構成、命令、アドレッシングモードなどから構成される。ISAでは命令を二進数のコード(オペコード+オペランド)のセットで表現する。これは機械語とも呼ばれる。
加算、減算、乗算、除算。2つのレジスタの内容についてそれら演算を行い、結果をレジスタに格納する。 ビット演算。2つのレジスタのビット位置毎の論理和や論理積を計算したり、1つのレジスタのビット毎の否定を計算する。 2つのレジスタの値の比較(等しいかどうか、どちらが大きいかなど)