Post Reply 
HP-41 - Memory modules
04-10-2019, 04:01 PM
Post: #13
RE: HP-41 - Memory modules
(04-10-2019 11:29 AM)Massimo Gnerucci Wrote:  This brings back memories from 30 years ago, in a similar but different context...

That quote from Gates is apocryphal at best, and completely fabricated at worst. The whole 640K thing mostly came about because IBM had to put the ROMs and memory mapped I/O somewhere, and the upper end of the system's 1 MB address space seemed as good a place as any. They had no idea they were creating a computer whose architecture would persist for decades; that just wasn't really a thing at the time the IBM PC was created. It was only important that a 640 KB max was "good enough" for that specific computer model, until they released something to replace it in a few years. The 640 KB/1 MB memory limit was due to the 20-bit address bus of the Intel 8088 and 8086 used in that computer.

But then MS-DOS and a whole host of real-mode software came along, IBM was met with great success in the desktop computing market, other manufacturers started cloning the machine, and a de-facto "IBM PC-compatible" architecture was born. Lotus, Intel, and Microsoft got together and created the Expanded Memory (EMS) spec, which was just bank-switching RAM from an expansion board in and out of the CPU's address space. This allows real-mode (8086) programs to use considerably more than 640 KB. You can also get EMS on an HP 100/200 LX with a driver that uses the palmtop's memory controller to swap blocks of an EMS file on the RAM disk directly in and out of the EMS page frame in the upper-memory area.

Then the 286 and 386 added protected modes with wider addressing that could directly address more than 1 MB of memory, but the problem is that MS-DOS itself was still real-mode software, as was a great deal of entrenched software designed to run on MS-DOS. These all ran in the CPU's real mode (thus acting exactly like an 8086), or in the case of a multi-tasking OS such as Windows that could run DOS software, in the 386's virtual 8086 mode, where the 1 MB limit still applied. The hardware 640 KB limit has been long gone since the 286, but the software lagged behind, using the legacy modes of the CPU. Software like EMM386 could provide EMS for these real-mode programs by running DOS in the 386's virtual 8086 mode, and using virtual memory to move EMS blocks in and out of address space, but that lower 640 KB was still crucial for these programs.

We've seen a similar thing happen recently with the shift from 32-bit to 64-bit addressing architectures. 64-bit CPUs provide pretty seamless compatibility with 32-bit executables, much like the 32-bit 386's virtual 8086 mode could run the old 16-bit software, but like the memory limits of yesteryear, a 32-bit version of Excel will still be limited to using a couple GB of memory on a 64-bit system. (Yes, I have hit that limit in Excel a couple of times, and no, it wasn't pretty. I had to use a machine with 64-bit Excel to finish the analytics I was trying to do.)
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
HP-41 - Memory modules - albertofenini - 04-08-2019, 07:26 AM
RE: HP-41 - grsbanks - 04-08-2019, 07:59 AM
RE: HP-41 - Jurgen Keller - 04-08-2019, 06:42 PM
RE: HP-41 - grsbanks - 04-09-2019, 07:39 AM
RE: HP-41 - albertofenini - 04-09-2019, 11:19 PM
RE: HP-41 - rprosperi - 04-10-2019, 02:25 AM
RE: HP-41 - grsbanks - 04-10-2019, 05:11 AM
RE: HP-41 - albertofenini - 04-10-2019, 11:19 AM
RE: HP-41 - Memory modules - Sylvain Cote - 04-21-2019, 01:52 PM
RE: HP-41 - Memory modules - rprosperi - 04-21-2019, 03:31 PM
RE: HP-41 - Memory modules - Sylvain Cote - 04-21-2019, 03:48 PM
RE: HP-41 - Memory modules - rprosperi - 04-21-2019, 04:17 PM
RE: HP-41 - Massimo Gnerucci - 04-10-2019, 11:29 AM
RE: HP-41 - rprosperi - 04-10-2019, 12:44 PM
RE: HP-41 - Memory modules - Dave Britten - 04-10-2019 04:01 PM
RE: HP-41 - Memory modules - Dave Britten - 04-10-2019, 07:05 PM
RE: HP-41 - Memory modules - Dave Britten - 04-10-2019, 08:18 PM
RE: HP-41 - grsbanks - 04-10-2019, 11:35 AM
RE: HP-41 - albertofenini - 04-10-2019, 11:42 AM

User(s) browsing this thread: 1 Guest(s)