私と友人は、リアル モードでの物理メモリのアドレス指定に関する質問についてブレインストーミングを行っていましたが、頭を悩ませることができませんでした。ここに行きます。
リアル モードでは、16 がセグメント セレクタ レジスタに乗算され、オフセット レジスタに加算されて、20 ビットの物理アドレスが取得されます。これにより、セグメントが重複する可能性が生じます。
EG "セグメント セレクタ -> 0040 & オフセット -> 0010" = "セグメント セレクタ -> 0030 & オフセット -> 0110"
オフセットに追加される前に、セグメント セレクターが 4 ビット シフトされることを理解しています。したがって、このセグメンテーションを回避するために、セグメントセレクターをオフセットに追加する前に、セグメントセレクターを 6 だけシフト (64 倍) しなかったのはなぜですか。私たちの見解では、これにより、メモリが重複する可能性が排除されます。
その間に直面したハードウェアの制限に関係しているのか、それとも単に設計上の決定なのか.