間接アドレス方式とは、CPUがデータを参照する際、命令のアドレス部に書かれた番地(アドレス)そのものではなく、その番地の中に書かれている別の番地(実効アドレス)をたどって、最終的に目的のデータを見つけ出すアドレス指定方法です。1段階余分にメモリを参照するため「間接的」と呼ばれ、命令のアドレス部には収まりきらない大きなアドレスを扱えたり、プログラムの柔軟性を高めたりするメリットがあります。
仕組み
- CPUが命令を受け取る: 命令のアドレス部には「データXの本当のアドレスYが保存されているメモリの場所」が書かれている。
- 最初のメモリ参照: CPUは命令のアドレス部が指すメモリ(場所Y)にアクセスする。
- 実効アドレスの取得: 場所Yから「実際のデータZのアドレス」を取り出す。
- 最終的なデータ参照: 取り出したアドレス(Z)を使って、目的のデータにアクセスする。
メリット
- 大きなアドレスの扱える: 命令のアドレス部が小さい場合でも、メモリ上に長いアドレスを分割して保存できるため、大きな記憶領域を扱える。
- 柔軟なプログラム: プログラムのロード位置が変わっても、間接的に参照するアドレスを書き換えるだけで対応できるため、プログラムの移動が容易になる(基底アドレス指定などでも似た効果がある)。

コメント