In 8086 architecture memory is addressed by
segment:offset scheme, where the 20-bit linear address is formed as
address=segment*16+offset. This looks needlessly complicated and doesn't allow to further extend physical address width without changing instruction set, despite the logical address having two 16-bit components (and
A much simpler way seems to be
address=segment*65536+offset. Also, in this case it'd be trivial to extend physical address width — by simply giving meaning to higher bits beyond originally used (lower 4 bits of
segment and 16 bits of
offset). Also, in such a case the CPU wouldn't even have to perform any addition to form the physical address.
Why was the actual address formation scheme chosen instead of the more straightforward one? Was it meant to say something like "any extension must be radical", like a change to 80286 addressing model?