Sujet : 80286 protected mode
De : anton (at) *nospam* mips.complang.tuwien.ac.at (Anton Ertl)
Groupes : comp.archDate : 07. Oct 2024, 08:33:14
Autres entêtes
Organisation : Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID : <2024Oct7.093314@mips.complang.tuwien.ac.at>
References : 1 2
User-Agent : xrn 10.11
jgd@cix.co.uk (John Dallman) writes:
In article <2024Oct6.150415@mips.complang.tuwien.ac.at>,
anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote:
>
I find it hard to believe that many customers would ask Intel
for something the 80286 protected mode with segments limited
to 64KB, and even if, that Intel would listen to them. This
looks much more like an idee fixe to me that one or more of
the 286 project leaders had, and all customer input was made
to fit into this idea, or was ignored.
>
Either half-remembered from older architectures, or re-invented and
considered viable a decade after the original inventors had learned
better.
Here's another speculation: The 286 protected mode was what they
already had in mind when they built the 8086, but there were not
enough transistors to do it in the 8086, so they did real mode, and in
the 80286 they finally got around to it. And the idea was (like AFAIK
in the iAPX432) to have one segment per object and per procedure,
i.e., the large memory model. The smaller memory models were
possible, but not really intended. The Huge memory model was
completely alien to protected mode, as was direct hardware access, as
was common on the IBM PC. And computing with segment register
contents was also not intended.
If programmers had used the 8086 in the intended way, porting to
protected mode would have been easy, but the programmers used it in
other ways, and the protected mode flopped.
Would it have been differently if the 8086/8088 had already had
protected mode? I think that having one segment per object would have
been too inefficient, and also that 8192 segments is not enough for
that kind of usage, given 640KB of RAM (not to mention the 16MB that
the 286 supported); and with 640KB having the segments limited to 64KB
is too restrictive for a number of applications.
- anton
-- 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.' Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>