Skip to the content.

最終更新日:2026年10月4日

まず結論

メモリ容量からアドレス線の本数を求めるときは、「何個の場所を区別する必要があるか」を考えます。

n本のアドレス線では、2のn乗個のアドレスを指定できます。

1Mバイトのメモリをバイト単位でアクセスするなら、

1Mバイト
= 1024 × 1024 バイト
= 2^20 バイト

→ 2^20個の場所を指定する
→ アドレス線は20本

ここで、図に D0〜D7 があっても「8本」と考えないことが重要です。

アドレスバス → どこを読む/書くか
データバス   → データを何bitずつ運ぶか

直感的な説明

メモリを「たくさんの引き出し」と考えてみます。

CPU
メモリ
0番、1番、2番…の場所

アドレスバスは「どの引き出しか」を選ぶための線です。

データバスは、その引き出しとCPUの間で「中身を運ぶ」ための線です。

役割が違うので、本数も別々に考えます。

定義・仕組み

アドレスバス

アドレスバスは、CPUがアクセスするメモリや入出力装置の場所を指定するための信号線です。

1本の信号線は0と1の2状態を表せるので、

アドレス線 指定できる数
1本 2個
2本 4個
3本 8個
10本 1,024個
20本 1,048,576個

となります。

つまり、

n本 → 2^n個を指定

です。

データバス

データバスは、CPUとメモリなどの間で実際のデータを転送するための信号線です。

例えば D0〜D7 なら8本なので、一度に8bitを扱えます。

D0〜D7
→ 8bit
→ 1byte

ただし、これは「何個の場所を指定できるか」とは別の話です。

1Mバイトならなぜ20本?

問題で「バイト単位でアクセスする」と指定されていれば、1バイトごとに一つのアドレスが必要です。

1K = 2^10
1M = 2^20
1G = 2^30

したがって1Mバイトでは、2^20個のバイト位置を区別するため、20本のアドレス線が必要です。

科目Aでどう出る?

このテーマでは、まずアクセス単位を確認します。

問題文の情報 見るポイント
バイト単位でアクセス 1バイトを1アドレスとして数える
アドレス線がn本 2^n個の場所を指定できる
D0〜D7 8bit幅のデータバス
1K 2^10
1M 2^20
1G 2^30

試験では次の順番で考えると迷いにくくなります。

1. メモリ容量を確認
2. アクセス単位を確認
3. 必要なアドレス数を求める
4. 2^n と対応させる

どんな場面で使う?

アドレスバスとデータバスは、CPUとメモリの接続やメモリ容量を考えるときの基本です。

例えば「アドレス線が16本なら何バイトまで指定できるか」という問題なら、

2^16 = 65,536

なので、バイト単位なら65,536バイトを指定できます。

逆に「1Mバイトを指定するには何本必要か」と聞かれたら、

1M = 2^20
→ 20本

と逆向きに考えます。

よくある誤解・混同

D0〜D7だから答えは8本?

違います。

D0〜D7はデータバスです。アドレス線の本数を聞かれているなら、A0、A1…側を考えます。

D → Data → データを運ぶ
A → Address → 場所を指定する

1Mだから10本?

1Kが2^10なので混同しやすいところです。

1K = 2^10
1M = 1024K = 2^10 × 2^10 = 2^20

したがって、1M個の場所を指定するなら20本です。

メモリ容量だけ見れば必ず本数が決まる?

アクセス単位にも注意します。

今回のように「バイト単位でアクセス」と明記されていれば、1バイトごとにアドレスを割り当てます。問題文のアクセス単位を読み飛ばさないことが重要です。

メモリそのものの種類を整理したい場合は、DRAM・SRAM・フラッシュメモリ・ROMの違いも確認してください。

まとめ(試験直前用)

  • アドレスバス=どこをアクセスするかを指定する
  • データバス=データを運ぶ
  • n本のアドレス線では2^n個の場所を指定できる
  • バイト単位なら、1Mバイト=2^20個のアドレスなので20本
  • D0〜D7を見て8本と答えず、「何の本数を聞かれているか」を確認する

© 2024-2026 stemtazoo. All rights reserved.