基本情報 平成27年度 秋期 問9:テクノロジ系に関する問題
主記憶のデータを図のように参照するアドレス指定方式はどれか。 命令部 アドレス部 主記憶 アドレス | | 201 | > 20 25 ? に 5| デー必 2
- a間接アドレス指定正答
- b指標アドレス指定
- c相対アドレス指定
- d直接アドレス指定
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「間接アドレス指定」 です。
アドレス指定方式を宝探しに例えてみましょう:
- 直接アドレス指定:地図に「箱Aを開けて」→中身が宝物
- 間接アドレス指定:地図に「箱Aを開けて」→中に書かれた住所をたどって、別の箱を開ける→宝物
つまり「アドレス→さらにそのアドレス→データ」と1段経由するのが間接アドレス指定。
👉 覚え方:間接=間に1回挟む=アドレスを2回たどる。
ほかの選択肢:b 指標=レジスタを足す/c 相対=プログラムカウンタからの距離/d 直接=アドレス部に直接データの場所。
なぜこれが正解か
正解は a。間接アドレス指定方式(Indirect Addressing)は、命令のアドレス部に書かれた値を実効アドレスとしてではなく「実効アドレスが格納されているアドレス」として解釈する方式。図のように「命令のアドレス部→主記憶のあるアドレス→そこに格納されたアドレス→目的のデータ」と二段階で参照する。
各選択肢の解説
- b 指標アドレス指定:アドレス部 + インデックスレジスタの値 = 実効アドレス。配列アクセスに有効。
- c 相対アドレス指定:プログラムカウンタ(PC)+ アドレス部 = 実効アドレス。位置独立コードに有効。
- d 直接アドレス指定:アドレス部の値そのものが実効アドレス。最も単純。
覚え方・ひっかけ注意
アドレス指定方式の4基本:直接(そのまま)/間接(アドレスの先)/指標(インデックス加算)/相対(PC基準)。動作の段階数:直接1段、相対2段(加算)、指標2段(加算)、間接2段(参照)。「ポインタのポインタ」が間接アドレス指定の現代的解釈。
理論的背景
アドレス指定方式(Addressing Mode)はCPUアーキテクチャの基本設計要素。完全な分類は (1) 即値(Immediate):オペランドそのもの、(2) 直接(Direct):アドレスを指定、(3) 間接(Indirect):アドレスのアドレス、(4) レジスタ(Register):レジスタ番号指定、(5) レジスタ間接(Register Indirect):レジスタ値をアドレスとして、(6) 指標(Indexed):ベース+インデックス、(7) 相対(Relative):PC基準、(8) ベース相対(Base-Relative):ベースレジスタ+オフセット。
実務での使われ方
各方式の活用シーン:
- 直接:固定アドレスのI/Oレジスタアクセス、グローバル変数
- 間接:ポインタ操作、関数ポインタ、仮想関数テーブル(C++のvtable)、Javaの参照型
- 指標:配列アクセス、文字列操作、ループ処理
- 相対:分岐命令(JMP/JE等)、位置独立コード(PIC:Position Independent Code)、共有ライブラリ
- レジスタ間接:高速な動的データアクセス、関数呼び出し時のスタック操作
RISCアーキテクチャ(ARM/MIPS/RISC-V)はアドレス指定方式を限定(主にレジスタ・即値・ベース相対)し、Load/Storeアーキテクチャを採用。CISC(x86)は豊富な指定方式をサポートし命令長可変。
試験での位置づけ
コンピュータアーキテクチャ分野の頻出論点。基本情報・応用情報・組込みシステムスペシャリスト・エンベデッドシステムスペシャリストで毎期出題。アセンブラ言語(CASLII等)の問題でも実効アドレス計算が問われる。
選択肢の発展補足
- 指標アドレス指定(b):8086のセグメント:オフセット形式、ARM のLDR Rd, [Rn, Rm, LSL #2] 等。
- 相対アドレス指定(c):x86のJMP near、ARMのB命令。±数MB範囲の分岐に使用。
- 直接アドレス指定(d):絶対アドレスで参照。位置依存コードの典型。
- 関連用語:ベースアドレス、変位、スケーリングファクタ、SIB(Scale-Index-Base)バイト(x86)、PC-relative addressing、GOT/PLT(共有ライブラリの動的リンク)。
- 現代CPUではキャッシュアクセスパターンの観点から、間接参照を多用するとキャッシュミスが増えメモリ階層の性能が低下する点も実務観点で重要。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 秋期 問9/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。