レジスタ(register)とは、マイクロプロセッサ(MPU/CPU)内部にある記憶回路のことである。
演算や実行状態の保持に用いられ、操作に要する速度が最速の、比較的少量のものを指す。
レジスタはメモリと同様にデータの記憶に用いられるが両者にはさまざまな違いが見られる。
レジスタはCPU内部にあり、CPUがデータを加工する際の一時的な記憶に用いられる。また、加工結果も記憶する。
レジスタは、一般的なCPU製品で数個から数十個(容量に換算すると数十バイト程度)と数が限られる。
たとえば、COMET IIの場合、メモリのアドレス数は65536個あるのと比較すると、レジスタの記憶容量はきわめて小さいと言える。
レジスタは、データのアクセス速度が速い。CPU内部の一時的な記憶に使われるキャッシュメモリもアクセス速度が速いが、レジスタはそれを上回る。
命令によって特定の役割が決まっているものを専用レジスタと呼ぶ。
また、特定の役割が割り当てられておらず、さまざまな用途に用いられるレジスタで、特に、データレジスタとアドレスレジスタを兼ね備えたレジスタを汎用レジスタと呼ぶ。
専用レジスタには、累算の結果を記憶するアキュムレータ、演算結果を置いたりデータを一時的に記憶したりするデータレジスタ、メモリをアクセスする場合のアドレスを指定するときに用いるアドレスレジスタなどがある。
また、配列のインデックスを指すために利用できるインデックスレジスタ、アドレスレジスタの一種で、配列のベースアドレスを示すために利用可能なベースレジスタの他、スタックポインタ、プログラムカウンタなどがある。
その他、演算結果によって生じた「桁あふれ」やアキュムレータが0であることの状態、あるいは各種のプロセッサの状態を保持するステータスレジスタなような特殊なレジスタもある。
例文