1Mバイトのメモリを図のようにMPUに接続するとき,最低限必要なアドレスバスの信号線の本数nはどれか。
ここで,メモリにはバイト単位でアクセスするものとし,1Mバイトは1,024kバイト,1kバイトは1,024バイトとする。
正答3
解説
正解は3です。
図では、MPUとメモリがアドレスバスA0からAn-1までのn本の信号線でつながっています。
n本の信号線で指定できるアドレスは2のn乗通りなので、1Mバイトの全番地を指定できる最小のnを求めます。
【計算】
メモリはバイト単位でアクセスするので、必要な番地の数はバイト数と同じです。
1Mバイト=1,024×1,024バイトです。
1,024=2の10乗なので、1Mバイト=2の10乗×2の10乗=2の20乗バイトです。
2のn乗が2の20乗以上になる最小のnは20です。
【選択肢別解説】
1:× 18本では2の18乗=256kバイト分しか指定できません。
2:× 19本では2の19乗=512kバイト分しか指定できず、1Mバイトに足りません。
3:○ 20本で2の20乗=1Mバイトの番地をちょうど指定できます。
4:× 21本あれば2Mバイト分を指定できますが、最低限の本数ではありません。
【ポイント】
図のデータバスD0からD7は8ビット(1バイト)を同時に運ぶ線で、番地の数には関係しません。
「1kは2の10乗、1Mは2の20乗、1Gは2の30乗」は必ず覚えておきましょう。