ベースレジスタ【base register】基底レジスタ

別名  :ベースアドレスレジスタ/base address register

概要

ベースレジスタとはCPUメインメモリRAM)にアクセスする際の基準アドレスを保持するレジスタ。命令中でアドレスを指定するための値にこの基準値を加算することで、実際のメモリ上の番地を求める仕組みである。
ベースレジスタのイメージ画像

プログラムメモリのどこに配置されるかが実行の度に変わりうる。プログラム中の命令がメモリの内容を読み込みあるいは書き込みする際、特定のメモリアドレスを直に指定してしまうと、別の番地に展開されたときに正しく動作しなくなってしまう。

このような場合に、プログラムが置かれた先頭番地を表す「ベースアドレス」に、先頭からの相対位置である「オフセット値」を足し合わせて番地を指定するようにすれば、プログラムが置かれる場所が変わっても相対的な位置指定に基づいて適切な場所を指し示すことができる。このような番地の指定方式を「ベースアドレス指定」という。

ベースレジスタにはプログラムが実際に置かれたベースアドレスが格納され、命令中のオフセット値と足し合わせることで実効アドレスが算出される。例えば、ベースレジスタの値が「3000」、オフセット値が「100」であれば、CPUは3100番地にアクセスする。複数のプログラムを同時に動かす環境では、オペレーティングシステム(OS)が各プログラムに異なるベースアドレスを割り当てることで、互いのメモリ領域に踏み込まないよう管理できる。

ベースレジスタは保護機構としても機能する。割り当て領域の開始番地をベースレジスタに、範囲の大きさを別のレジスタに保持し、アクセスの度に範囲内かどうかを確認することで、許可されていない領域へのメモリ操作を禁止することができる。攻撃者がプログラムを不正に書き換えて領域外のメモリにアクセスしようとしても未然に防ぐ仕組みである。

現代のCPUではページング方式による仮想メモリ管理が主流となり、ベースレジスタが単独で前面に出る場面は減った。しかしx86アーキテクチャのセグメントレジスタのようにその考え方を受け継いだ機構は今も存在し、「ベースアドレス+オフセット」形式のアドレス指定は多くの命令セットに組み込まれている。

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