То есть разные разные сегменты и разные офсеты совпадают. Путаница(Очевидно я где-то не догоняю).
Да, избыточность, а не путаница. Если бы на сегмент отводилось 4 бита, то все сегменты были бы жёстко зафиксированы
по сетке с шагом 64 КБ. А речь идёт о временах, когда 1 МБ был теоретическим (недостижимым на практике) максимумом. Часть адресного пространства отводится для разных устройств, и эта часть не обязательно идёт одним куском (устройства не знают друг о друге). Т.е. имеем в адресном пространстве
"дыры", недоступные для ОЗУ. Чем больше шаг сетки, тем больше адресного пространства
теряем. А чем меньше бит адресуют сегмент, тем больше шаг сетки.
Например, какое-то внутреннее устройство занимает в адресном пространстве всего 16 байт, но эта "дыра" не прилегает плотно к другим "дырам". При адресации сегмента по 4 битам мы бы потеряли сразу 64 КБ оперативки (физически она бы присутствовала, но была бы недоступна для адресации), а это очень много, это 1/16 от всего объёма в 1 МБ. Т.е. неоптимально распределённые адреса для всего лишь 16 устройств - и у вас не останется для ОЗУ вообще нисколько, ноль.
А с конфигурированием адресов ОЗУ и номеров IRQ на устройствах всё было очень сложно во времена до появления технологии PnP. От перемычек и переключателей на картах расширения или на материнских платах до ручных настроек в BIOS.
Избыточность в адресации сегментов позволяла очень сильно уменьшить геморрой от потерь адресного пространства. Да, ценой некоторого усложнения механизмов распределения памяти в OS, но пользователь и прикладной программист не наблюдал этих внутренних сложностей.
Так что техническое решение для своего времени было хорошее.