カテゴリ: 基本情報技術者試験 更新日: 2025/12/31

相対アドレス指定方式をわかりやすく解説!CPUの動きを初心者向けに丁寧に理解しよう

相対アドレス指定方式
相対アドレス指定方式

先生と生徒の会話形式で理解しよう

生徒

「CPU(シーピーユー)のアドレス指定方式を調べていたら、相対アドレス指定方式という言葉が出てきたんですが、どういう方式なんでしょうか?」

先生

「相対アドレス指定方式は、今CPUが実行しようとしている命令の番地に、命令の中に書かれた変位(へんい)を加えて、データや次に実行する場所を決める方式なんですよ。」

生徒

「今いる場所を基準にするってことなんですね!どういう場面で使われるんでしょうか?」

先生

「プログラムの分岐やジャンプと相性がよくて、移動できるプログラムを作るときに多く使われるんですよ。仕組みを順番に見ていきましょう。」

基本情報技術者試験をこれから学習する人や、 独学で確実に合格レベルまで到達したい人におすすめの定番対策書です。

いちばんやさしい 基本情報技術者を見る

※ Amazonアソシエイト広告リンク

1. 相対アドレス指定方式とは?

1. 相対アドレス指定方式とは?
1. 相対アドレス指定方式とは?

相対アドレス指定方式(そうたいアドレスしていほうしき)は、CPU(シーピーユー)がアクセスすべき場所を決める際に、「現在の命令が置かれている番地」を基準として、その番地に命令の中の変位(へんい)を加えることで目的の番地を求める方式です。

この方式では、絶対的な番地ではなく「現在地からどれだけ移動するか」を基準に位置を決めるため、プログラムを主記憶装置(シュキオクソウチ)のどこに置いても正しく動くという柔軟性があります。

2. 相対アドレス指定方式の動作をイメージしてみよう

2. 相対アドレス指定方式の動作をイメージしてみよう
2. 相対アドレス指定方式の動作をイメージしてみよう

日常生活に例えると理解しやすいです。たとえば「今いる場所から五歩前へ進む」という指示があったとします。この指示は場所の名前や地図の座標を使わず、現在地を基準にしています。

相対アドレス指定方式も同じで、CPUは「いま読んでいる命令の番地」に変位を足すことで次にアクセスする場所を決めます。これは固定された番地に依存しないため、柔軟な構造のプログラムを作るときにとても重要な仕組みになります。

3. 相対アドレス指定方式が使われる理由

3. 相対アドレス指定方式が使われる理由
3. 相対アドレス指定方式が使われる理由

相対アドレス指定方式は、プログラムの移動に強いという利点があります。たとえば、同じプログラムを主記憶装置の別の位置に読み込む場合、絶対番地を使っていると誤作動してしまうことがあります。

しかし、相対アドレス指定方式なら「現在地からどれだけ移動すればよいか」という情報だけを使うため、プログラムの配置場所が変わっても正しく動作します。これは特に分岐処理や繰り返し処理でよく使われる重要な特性です。

4. 他のアドレス指定方式との違いを知ろう

4. 他のアドレス指定方式との違いを知ろう
4. 他のアドレス指定方式との違いを知ろう

即値アドレス指定方式(そくちアドレスしていほうしき)は値そのものを、直接アドレス指定方式(ちょくせつアドレスしていほうしき)は番地そのものを命令に書きます。 また、間接アドレス指定方式(かんせつアドレスしていほうしき)やインデックス方式(インデックスアドレスしていほうしき)では別の番地やレジスタを使います。

これに対して相対アドレス指定方式は、命令の位置そのものを基準として番地計算を行うのが特徴です。他の方式とは考え方が違い、「プログラムの動きに合わせて位置が変わる」という点で非常に柔軟です。

5. 相対アドレス指定方式のメリットと注意点

5. 相対アドレス指定方式のメリットと注意点
5. 相対アドレス指定方式のメリットと注意点

相対アドレス指定方式のメリットは、プログラムをどの位置に読み込んでも同じように動作する点です。これは「位置に依存しないプログラム」を実現するうえで欠かせない特徴です。

ただし注意点もあります。変位の範囲が狭い場合、遠い番地へジャンプできないことがあります。そのため、大きなプログラムでは他のアドレス指定方式と組み合わせて使われることが多いです。

6. 相対アドレス指定方式の具体的な利用例

6. 相対アドレス指定方式の具体的な利用例
6. 相対アドレス指定方式の具体的な利用例

実際の利用例として、分岐命令やジャンプ命令が挙げられます。たとえば「条件を満たしたら三つ先の命令へ移動する」といった動作は相対アドレス指定方式の典型です。

プログラムの位置が変わっても、現在地から三つ先という関係は変わらないため、どの位置に読み込まれても正しく処理が行われます。 このように、相対アドレス指定方式は柔軟なプログラム制御を実現するための重要な技術として幅広く使われています。

カテゴリの一覧へ
新着記事
New1
情報セキュリティマネジメント試験
共通鍵暗号方式とは?初心者でもわかる暗号化の基本をやさしく解説
更新記事
New2
情報セキュリティマネジメント試験
暗号アルゴリズムとは?初心者でもわかるしくみと種類をやさしく解説!
更新記事
New3
基本情報技術者試験
基数とは?初心者向けにわかりやすく解説【2進数・10進数・16進数の違いも理解】
更新記事
New4
情報セキュリティマネジメント試験
平文とは?暗号化されていないデータの意味を初心者向けにやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
NIC
227
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.3
Java&Spring記事人気No3
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
基本情報技術者試験
パケットとは?初心者にもわかりやすくネットワークの仕組みをやさしく解説!
No.5
Java&Spring記事人気No5
基本情報技術者試験
CPU
114
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.6
Java&Spring記事人気No6
基本情報技術者試験
IMAP
100
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
Telnetとは?初心者にもわかる仕組みと使い方をやさしく解説!