I wanted to learn more about systems and so I was reading about x86 global descriptor tables for memory segments as one does, and I came across this table from here:
I think I understand why all the information is needed, but I don't understand why values are broken up in this way.
In particular, why did the designers prefer the above layout over something like:
first 32-bits: base
next 20-bits: limit
next 12-bits: access-byte and flags
?
I've come across lots of places that seem to describe the table entry layout, but it seems to be harder to find information about why things turned out this way.