絶対アドレス指定方式・相対アドレス指定方式とは?違いと使い分けをわかりやすく解説
絶対アドレス指定方式と相対アドレス指定方式は、CPUが命令やデータを参照する際に
どのようにメモリアドレスを指定するかを表す基本的なアドレス指定方式です。
コンピュータアーキテクチャやアセンブリ言語の基礎として重要であり、
基本情報技術者試験・応用情報技術者試験でも頻出するテーマです。
絶対アドレス指定方式とは
絶対アドレス指定方式とは、命令の中に
実際のメモリアドレス(物理アドレスや論理アドレス)を直接指定する方式です。
CPUは命令に書かれたアドレスをそのまま実効アドレスとして使用します。
例えば、命令に「アドレス1000」と指定されていれば、
メモリの1000番地を直接参照します。
アドレス解決が単純で、処理が高速である点が特徴です。
絶対アドレス指定方式のメリット
- アドレス計算が不要で処理が高速
- 仕組みが単純で理解しやすい
絶対アドレス指定方式のデメリット
一方で、プログラムをメモリ上の別の位置に配置すると、
すべてのアドレスを書き換える必要があるという欠点があります。
このため、再配置性(リロケーション性)が低くなります。
相対アドレス指定方式とは
相対アドレス指定方式は、
現在の命令アドレス(プログラムカウンタ)を基準にしてアドレスを指定する方式です。
命令には「基準からの差分(オフセット)」のみが記述されます。
例えば、「現在の命令位置+20バイト」といった形で実効アドレスを求めます。
分岐命令やループ処理で特によく利用される方式です。
相対アドレス指定方式のメリット
- プログラムをどこに配置しても正しく動作する
- 再配置性が高く、OSによるメモリ管理と相性が良い
相対アドレス指定方式のデメリット
実効アドレスを計算する必要があるため、
絶対アドレス指定方式と比べると
わずかに処理負荷が増える点がデメリットです。
絶対アドレス指定方式と相対アドレス指定方式の違い
両者の違いは、アドレス指定の基準にあります。
| 項目 | 絶対アドレス指定方式 | 相対アドレス指定方式 |
|---|---|---|
| 指定方法 | 実アドレスを直接指定 | 現在位置からの差分で指定 |
| 処理速度 | 高速 | やや低下 |
| 再配置性 | 低い | 高い |
| 主な用途 | 固定配置プログラム | 分岐命令・ループ処理 |
IT試験・実務での重要ポイント
IT系試験では、
「再配置可能なのはどちらか」
「分岐命令で使われる方式はどれか」
といった形で問われることが多くあります。
相対アドレス指定方式はプログラムの移動に強いという点を押さえておくことが重要です。
まとめ
絶対アドレス指定方式は高速で単純ですが、再配置性に弱い方式です。
一方、相対アドレス指定方式は柔軟で、
現代のOSやプログラム構造に適した方式と言えます。
両者の特徴と違いを理解することが、
コンピュータ基礎知識を身につける上での重要なポイントです。
コメント