Fred Cisin wrote:
640K: 1M address bus, with 384K "reserved"
It really was reserved. No need for quotes. At the 640K barrier lived
the video memory for whatever kind of card happened to be there. At the
very top of memory was the BIOS. The rest of the space was reserved for
ISA cards (which weren't called that until the clones arrived).
Even though the 8086/8088 had a dedicated I/O bus, you'd still need to
be able to access any ROM extensions on the ISA cards and perhaps
whatever shared memory there was available for DMA, etc. The I/O bus
just wasn't enough because you of course couldn't execute code via the
in/out opcodes and some cards required BIOS extensions to say the least.
The 8086/8088's could only address 1MB of memory, so the 640K barrier
was a reasonable one at the time despite the infamous "640K ought to be
enough for anyone" quote attributed to Mr. Gates.
Of course there was nothing to stop you from installing a RAM card in
the rest of the I/O space and getting a few more KB, but a better way
was to use a memory expansion card and bank switch through a 64K window
to access it, which is what the LIM (Lotus, Intel, Microsoft standard
was about.
That is until 286's came out.