平成28年度 秋期 午前 問11
コンピュータ構成要素
アドレスバスの信号線の本数n
1M バイトのメモリを図のように MPU に接続するとき,最低限必要なアドレスバスの信号線の本数 n はどれか。ここで,メモリにはバイト単位でアクセスするものとし,1M バイトは 1,024k バイト,1k バイトは 1,024 バイトとする。
図(接続図):
MPU ── アドレスバス ── メモリ側の端子 An−1, An−2, An−3, …(中略)…, A2, A1, A0 MPU ── データバス ── メモリ側の端子 D0〜D7
- ア18
- イ19
- ウ20
- エ21
答えと解説を見る
✓ これが正解ウ20
解説
1M バイトは2の20乗なので信号線は20本です。
アドレスバスの信号線は1本につき0か1の2通りを表すので、n本あれば2のn乗通りの番地を区別できます。設問はバイト単位でアクセスすると断っているので、区別したい番地の数は、そのままバイト数と同じです。1M バイトは1,024k バイト、1k バイトは1,024 バイトですから、1,024×1,024=1,048,576 バイトになります。1,024は2の10乗なので、これは2の10乗と2の10乗の積、すなわち2の20乗です。したがって2のn乗が2の20乗と等しくなるnを求めればよく、最低限必要な本数は20でした。なお、データバスが8本であることは1回にどれだけの幅を運ぶかという別の軸の話で、番地をいくつ区別できるかには効いてきません。ここを混ぜないことが大事です。
ほかの選択肢はなぜ違うのか
- ア18:18本では2の18乗、すなわち262,144 バイト分の番地しか区別できません。必要な1,048,576 バイトの4分の1にとどまるので、後ろのほうの番地には信号線が届かず、そこを読み書きできなくなります。
- イ19:19本では2の19乗、すなわち524,288 バイト分までしか区別できず、必要な広さのちょうど半分です。1本足りないだけで届く範囲が半分に減ってしまうため、最低限としては不足しています。
- エ21:21本あれば2の21乗、すなわち2,097,152 バイト分を区別できますが、これは必要な広さの2倍です。設問は最低限必要な本数を問うているので、足りてはいても1本多くなっています。
出典:平成28年度 秋期 基本情報技術者試験 午前 問11
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)