基本情報技術者 2016年 秋期 午前(科目A) 問11
問題文
1Mバイトのメモリを図のようにMPUに接続するとき、最低限必要なアドレスバスの信号線の本数nはどれか。ここで、メモリにはバイト単位でアクセスするものとし、1Mバイトは1,024kバイト、1kバイトは1,024バイトとする。

選択肢
ア:18
イ:19
ウ:20(正解)
エ:21
1Mバイトのメモリを接続するときのアドレスバス本数【午前2 解説】
要点まとめ
- 結論:1Mバイト(1024×1024バイト)をバイト単位でアクセスするにはアドレス線が20本必要です。A0〜A19で各バイトを個別に指定します。
- 根拠:1kバイト=バイト、1Mバイト=バイトなので必要なアドレス数は、線数は本です。
- 差がつくポイント:問題文の「バイト単位」や「1k=1024」の定義を必ず確認。ワード単位や10進表記だと答えが変わります。
正解の理由
正解: ウ
メモリ容量が1Mバイトで、かつバイト単位でアクセスするという条件から、アドレスで区別する単位数は バイトです。
アドレス線を本用意すると表現できる異なるアドレス数は個になるため、となり、です。したがってアドレス線は20本必要で、信号線はからまでとなります。
メモリ容量が1Mバイトで、かつバイト単位でアクセスするという条件から、アドレスで区別する単位数は バイトです。
アドレス線を本用意すると表現できる異なるアドレス数は個になるため、となり、です。したがってアドレス線は20本必要で、信号線はからまでとなります。
よくある誤解
- 「1M=10^6(1000000)とする」:この問題では1k=1024と明記されているため、2進の定義を使います。10進で計算すると端数処理が発生し混乱します。
- 「データバスが8本だからアドレス線も8本必要」と混同する:データバス幅(データの単位)とアドレスバス本数は別で、ここではアドレスはバイト単位で行われます。
- 「An-1の表記でオフバイワンを起こす」:アドレス線が本ならラベルはとなる点を忘れないこと。
解法ステップ
- 問題文の定義を確認:1kバイト=1024バイト、バイト単位でアクセス。
- 容量を2の冪で表す:バイト。
- アドレスで区別する個数がなので、より。
- 結果としてアドレス線は〜の20本。
選択肢別の誤答解説
- ア: 18 — バイト(約256kバイト)で不足。1M()を表現できません。
- イ: 19 — バイト(約512kバイト)で依然不足です。
- ウ: ウ — バイト(1024×1024)でちょうど1Mバイトを表現できるため正解です。
- エ: 21 — バイト(約2Mバイト)で表現は可能ですが必要以上の余裕があり過剰です(最小限ではありません)。
補足コラム
- 「バイト単位」ではなく「ワード単位(例:16ビットワード)」でアクセスする場合、必要なアドレス線数は変わります。例えばワードが2バイトならアドレス対象数はで、アドレス線は19本です。
- MPUとメモリ間のアドレス線数は最小で表現可能なアドレス数に一致させるのが一般的です。デコーダや拡張を考える場合は余裕を持たせることもありますが、問題では「最低限必要な本数」を問われています。
- アドレス線のラベルは0始まり()である点を常に意識してください。An-1という表記は総本数が分かれば上限インデックスを示します。
FAQ
Q1: 「もし問題で1kを1000と書いてあったらどうなる?」
A1: その場合1Mはバイトとなり、なので切り上げて20本必要になります。ただし設問の定義に従って計算してください。
A1: その場合1Mはバイトとなり、なので切り上げて20本必要になります。ただし設問の定義に従って計算してください。
Q2: 「データバスが8本(D0〜D7)と書かれている意味は?」
A2: データバスは1回転送で扱えるビット幅を示しますが、アドレス線の本数には直接影響しません(ただしワード単位の定義と関連する場合があります)。
A2: データバスは1回転送で扱えるビット幅を示しますが、アドレス線の本数には直接影響しません(ただしワード単位の定義と関連する場合があります)。
Q3: 「An-1と書かれている図で本数が数えにくいときは?」
A3: 図は一般形を示すだけです。問題文の容量とアクセス単位から数学的に本数を求めれば正確に答えられます。
A3: 図は一般形を示すだけです。問題文の容量とアクセス単位から数学的に本数を求めれば正確に答えられます。
関連キーワード: バイトアドレッシング、アドレスバス、アドレス線数、2の冪、メモリ容量、ワードアドレッシング、バス幅、MPU接続

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

