On Fri, 2003-11-14 at 04:26, Hans Franke wrote:
Try to see the segment address as a handle given to a
user
task as result of a mempry request to access the requested
memory....
Now, still beeing a strict 16 Bit CPU, this little trick
allows a 16 Bit user process to access up to 65K of 65K
segments.
And we all know no program ever needed more than 64K! Or communicate
with another segment! (Sort of the opposite of Grolsh's Law, Informal).
How many memory realy was available and how it
was organized did not concern to a user programm. While
still beeing on a real mode CPU, the segments allowed it
to programm with all the advantages of a mature OS.
Mature segmented Intel OS?! I dare you to name one :-)
The only thing missing where page faults and boundry
checks. The 286 then added these features.
Sadly, not very well!
And the 68000 -- it had what appeared to be a clean, orthogonal order
code (OK reading too many old books -- "instruction set"), but it was
riddled with address-mode-limitation holes not addressed until later
models. Plus it had many of the accumulator-bandwidth issues of
machines from the 60's, which were fun to code but often inefficient.
The point is, quick-to-market was as important as technical strong
points and weaknesses, we all have our favorites, and we all know only
those chips we worked on, however many or few that might be.