データレジスタ【data register】

概要

データレジスタとは、CPUの内部に設けられた小容量の記憶領域であるレジスタの種類の一つで、演算や処理の対象となるデータを一時的に保持するためのもの。命令の実行中に必要な数値や文字コード、演算結果などを高速に受け渡す役割を担う。
データレジスタのイメージ画像

CPUプログラムの命令を実行する際、メモリ上のデータを直接操作することはできず、いったん「レジスタ」(register)と呼ばれる内部の記憶領域に読み込んでから処理を行い、結果をメモリに書き出すという手順を踏む。レジスタメモリと比べて容量は極めて小さいが、演算回路と同期して極めて高速に読み書きできる。

CPUには用途に応じて様々なレジスタが用意されており、演算や転送などの処理対象となるデータそのものを格納する目的のものデータレジスタと呼ぶ。一般的な用途では、整数の算術演算ビット列論理演算で用いられる入力値や出力値が格納されることが多い。例えば、「2と3を足す」という命令であれば、2と3をそれぞれデータレジスタに格納し、ALU(算術論理演算ユニット)で演算した結果を再びデータレジスタに書き戻すという流れになる。

一般的なCPUでは用途別に複数のレジスタがあり、データレジスタの他に、命令アドレスを保持する「プログラムカウンタ」、メモリアドレスを扱う「アドレスレジスタ」、状態を示す「フラグレジスタ」などがある。ただし、現代のプロセッサ製品ではデータとアドレスの両方に使える「汎用レジスタ」が用意されている設計も多く、厳密な区別が薄い場合もある。マイクロコントローラや古典的なCPUでは、データレジスタとアドレスレジスタが明確に分かれていて共用できない例がある。

一つのレジスタに格納できるビット数はCPUアーキテクチャによって異なり、32ビットや64ビットが一般的である。ビット数が大きいほど一度に演算、転送できるデータの量が多くなり、処理性能の向上につながる。パソコン向けで最も一般的なCPUの種類であるx86アーキテクチャでは、EAX、EBX、ECX、EDXなどがデータレジスタとして知られており、64ビット拡張ではそれぞれRAX、RBX、RCX、RDXという名称になる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。