基本情報

基本情報 平成25年度 春期 問10|テクノロジ系に関する問題

問題

基本情報 | 平成25年度 春期 | 分野:テクノロジ系

主記憶のデータを図のように参照するアドレス指定方式はどれか。 命令部 アドレス部 アドレス 主記憶 | | 201 | > 20 25 ? -デ (に 25| データ レートコ

命令部・アドレス部から主記憶のアドレスを経由してデータを参照するアドレス指定方式の図(出典: 平成25年度春期 基本情報技術者試験 午前 問10・IPA)

図の出典:出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成25年度春期 午前 問10

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は A
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは a「間接アドレス指定」 です。

命令の中の番号(例:20番地)が、直接データの場所ではなく、もう一段先の住所が書いてある場所を指す方式。

例えるなら「20番地の郵便受け開けたら、中に『本物は25番地だよ』ってメモが入っていて、そっちに行ってデータを取る」イメージ。2回ジャンプするわけです。

👉 覚え方:「間接=間に1人挟む」。直接ではなくワンクッション。

ほかの選択肢:b 指標=レジスタの値を足してずらす方式(配列っぽい)/c 相対=今いる場所から〇個先/d 直接=命令の番号そのものがデータの場所。

なぜこれが正解か

正解は a「間接アドレス指定」。命令のアドレス部に指定された主記憶位置に実効アドレス(実データのアドレス)が格納されている方式。図では20番地の中身が「25」、25番地に実データがある2段階参照を示している。

各選択肢の解説

  • b 指標アドレス指定(インデックス):アドレス部の値+指標レジスタの値=実効アドレス。配列の繰返しアクセスに便利。
  • c 相対アドレス指定:プログラムカウンタ(PC)+アドレス部の値=実効アドレス。再配置可能プログラムに有効。
  • d 直接アドレス指定:アドレス部の値=実効アドレス。最も単純で1段アクセス。

覚え方・ひっかけ注意

「間接=アドレス→アドレス→データ」の2段ジャンプ。直接より遅いがアドレス長を節約でき、ポインタ・テーブル参照に向く。指標と間接の混同に注意: 指標は演算(足し算)、間接は参照(読みに行く)。さらに「基底(ベース)アドレス指定」「即値(イミディエート)」もセットで覚えると完璧。

理論的背景

アドレス指定方式はCPUが実効アドレス(EA: Effective Address)を求める計算規則。代表的な分類は次の通り:

  • 即値(Immediate): 命令中の値そのものがオペランド
  • 直接(Direct/Absolute): EA = アドレス部
  • 間接(Indirect): EA = M[アドレス部](メモリ参照を1段挟む)
  • レジスタ間接: EA = R[i](レジスタの中身がアドレス)
  • 指標(Indexed): EA = アドレス部 + R[index]
  • 基底(Base): EA = ベースレジスタ + 変位
  • 相対(PC-relative): EA = PC + 変位

メモリ参照回数で見ると即値・直接・レジスタ間接が1回、間接が2回でアクセス時間が増えるトレードオフがある。

実務での使われ方

RISC(ARM、RISC-V)はアドレス指定を絞り込み(主にレジスタ間接+変位)、命令デコードを単純化してパイプラインを高速化。CISC(x86)は多様なアドレッシングをサポートしマイクロコードで対応。C言語のポインタ参照は機械語の間接アドレス指定に対応し、`p`がメモリ参照、`(p+i)`が指標+間接の組合せ。OSのシステムコールテーブル、関数ポインタ、仮想関数テーブル(vtable)はすべて間接参照を活用する。

試験での位置づけ

FE午前のコンピュータ構成要素で定番。①各方式のEA計算式、②命令の局所性とアクセス回数、③再配置可能プログラム(相対)・配列処理(指標)など用途と方式のマッピングが頻出。AP/高度ではマイクロアーキテクチャ(命令パイプラインのデコード段でのアドレス計算)まで踏み込む。

選択肢の発展補足

相対アドレス指定はOSが実行時にプログラムを任意の位置にロードしても動作する「位置独立コード(PIC: Position Independent Code)」の基盤で、共有ライブラリ(.so/.dll)で必須。一方、間接指定はセキュリティ攻撃の温床にもなり、関数ポインタの書き換えによる「Return-Oriented Programming(ROP)」攻撃の足掛かりとなる。CFI(Control-Flow Integrity)・Intel CETといったハードウェア緩和策が現代CPUで導入されている。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成25年度 春期 問10
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成25年度 春期 問10/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。