- ベストアンサー
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サイトの類を見ても理解出来ずにいますので、回答をお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
3ビット、つまり8倍ですね。 ビットアドレスと考えたために8倍してしまったのですね。 バイトマシンのアドレスはバイトアドレスです。
その他の回答 (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が必要です。
お礼
回答有難う御座います。 メモリアドレスの単位であるBYTEと、アドレスバスの本数(2進数の桁数)の単位であるbitを思い切り混同していました。