Я и мой друг проводили мозговой штурм по вопросу, касающемуся физической адресации в реальном режиме, и мы не могли обернуться вокруг этого.Здесь идет.
В реальном режиме 16 умножается на регистр селектора сегмента и добавляется в регистр смещения для получения 20-битного физического адреса.Следовательно, это приводит к возможности перекрытия сегментов.
EG "Селектор сегмента -> 0040 & смещение -> 0010" = "Селектор сегмента -> 0030 & смещение -> 0110"
* 1006мы понимаем, что селектор сегмента сдвигается на 4 бита перед добавлением к смещению.Поэтому, чтобы избежать этой сегментации, почему они просто не сместили селектор сегмента на 6 (умножьте его на 64), прежде чем добавить его к смещению.На наш взгляд, это исключило бы возможность совпадения памяти.
Связано ли это с какими-либо аппаратными ограничениями, с которыми они сталкивались в течение этого времени, или это просто проектное решение.