From: David Bridgham
how the GE processor mapped each segment to physical
memory on its own
while the x86 maps the segments into a single 2^32 byte linear address
space first and then maps that to physical memory.
Oh, right, I remember there was a 4GB limit on physical memory (which I
mentioned in an earlier message in this thread), but I'd forgotten the
details.
The paging is done on that 4GB linear address space, so it's separate from
segmentation - on the 645 at least, the two are jumbled in together, which I
find over-complex. I like the clean separation between paging and segments.
The x86 got this one wrong, in my opinion, as it means
you can't have
full-sized segments if you have more than one effective segment.
Well, but that's in the implementation, invisible to the user (in a properly
done OS). The user-visible architecture is 16K segments (8K local, 8K
global), of up to 4G each, or 2^46 total address space (per process).
Yes, not more than 4GB of them can be resident in memory at any one time, but
I'm not convinced that's a problem.
Noel