5

OK、この質問は単純に聞こえますが、私は驚きました。1 メガバイトが膨大な量のメモリだった昔、Intel は 16 ビットを使用して 1 メガバイトのメモリにアクセスする方法を見つけようとしていました。彼らは、セグメントとオフセットのアドレス値を使用して 20 ビット アドレスを生成するというアイデアを思いつきました。

現在、20 ビットは、アドレス指定できる 2^20 = 1,048,576 の場所を提供します。アドレス位置ごとに 1 バイトにアクセスすると仮定すると、1,048,576/(1024*1024) = 2^20/2^20 メガバイト = 1 メガバイトになります。はい、分かりました。

ここで混乱が生じます。古代の 8086 には 16 ビットのデータ バスがあり、一度に 1 バイトではなく 2 バイトにアクセスできます。これは、20 ビット アドレスを合計 2 メガバイトのデータにアクセスできることと同じですよね? データ バスが 2 バイト幅であるのに、各アドレスには 1 バイトしか格納されていないと仮定するのはなぜですか? 私はここで混乱しています。

4

2 に答える 2