相対アドレス指定 【relative addressing】 自己相対アドレス指定 / self-relative addressing

概要

相対アドレス指定(relative addressing)とは、CPUが命令を実行する際に処理対象となるデータの所在を指定するアドレス指定方式の一つで、命令のアドレス部のプログラムカウンタを加えたものをデータの存在するアドレスとする方式。アドレス部のレジスタを足し合わせる「修飾アドレス指定」の一種。

CPU機械語で記述された命令列をプログラムとして実行するが、命令の中にはメモリ上の特定の位置の内容を読み込んで処理するものがある。その場合、命令のオペランド部アドレス部)でデータの存在するメモリアドレスを記述するが、その指定方式にはいくつかの種類があり、命令によって対応している方式が異なる。

相対アドレス指定はデータを取得する実際のメモリアドレス(有効アドレス)として、CPU内部の高速な記憶装置レジスタ)の一種である「プログラムカウンタ」に保存されたと命令のアドレス部のを足し合わせたものを用いる。

プログラムカウンタには次に実行する命令のアドレスが記録されており、これを用いることで、メモリ上でのその命令の位置からの相対距離でデータの所在を指定することができる。実行時プログラムメモリ上のどの位置に配置(ロード)されてもプログラムを改変せずに同じようにデータアクセスすることができる。

同じくレジスタの一種である「ベースレジスタ」にアドレス部のを加算してアドレスとする「ベースアドレス指定」を用いるほうが一般的だが、ベースレジスタのないCPU再配置可能プログラムを作成したい場合、プログラムカウンタは大抵のCPUに内蔵されているため、代用として相対アドレス指定が用いられることがある。

(2024.4.5更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる