• ベストアンサー

MPU

MPUのアドレス指定で、64KB(64キロバイト)メモリ空間のアドレスバス数が2^16(2の16乗)で16本(16bit)になる理由が解りません。 1B=8bitという事を考慮すると、2^16=65,536(0~65,535番地)に対して、64KBだと 64×1024×8=524,288=2^19となって3bit足りないのは気のせいでしょうか? 解説書やWebサイトの類を見ても理解出来ずにいますので、回答をお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

3ビット、つまり8倍ですね。 ビットアドレスと考えたために8倍してしまったのですね。 バイトマシンのアドレスはバイトアドレスです。

kumikomi29
質問者

お礼

回答有難う御座います。 メモリアドレスの単位であるBYTEと、アドレスバスの本数(2進数の桁数)の単位であるbitを思い切り混同していました。

その他の回答 (2)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.2

1byteごとに1つのアドレスを割り当てている(アドレッシングの最小単位が1byte)ので アドレス幅16bitで2^16byteにアドレスを割り当てられます。

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

64kバイトは1バイトを1024バイトとして計算すると65,536Byteになります。 これを表現するには16Bitが必要です。

関連するQ&A