Here are boards used to increase memory in early PCs. First of all, let's see why it was needed to increase memory and what types of memory we have in a PC. The first IBM PC, as well as later 8088 computers, had a memory limitation of 1MB. There were just no more address lines for memory management. The first PCs were supplied with relatively small amounts of RAM - 64 or 128kB. This was more than enough for CP/M and most of its programs. As DOS was developed and more software was released, as well as RAM became cheaper, more RAM could be added, sometimes even 512kB.
However, at 640kB, the memory range ends.
Having a 1MB of addressable memory, we use part of this memory map for
device ROMs, BIOS, direct access to devices as well as some system
routines (like BASIC in early PCs). We just cannot go over 1MB. The base
640kB is called conventional memory.
Some mainboards indeed have 640kB, some allow to expand to 640kB with chips, but there are some mainboards which have only a small amount of memory - in these cases the memory board for 640kB is needed. When a full 640kB board is used in e.g. 256kB system, the mainboard memory may need to be removed.
But what if a software requires more? Release of a spreadsheet and database packages like Lotus 1-2-3 or Microsoft's databases made the need for larger memory. Then, Expanded memory (EMS) concept was born.
The area over 640kB, but below 1MB is held for devices and adapters, so you can still read and write there. Of course if yu write into device ROM there will be no effect, but you can write e.g. to printer port controller to send some data to printer. In EMS, a 64kB range there is used as a "porthole" or "window" moving in a larger memory area. Thus, by the cost of access speed it is possible to increase size of RAM. The standard LIM (Lotus Intel Microsoft) EMS specification allows to add even 32MB of such paged memory, although usually there were 1-4MB on memory expansion boards. Some EMS boards allowed even to save the data when computer was off with battery backup, but their support was limited in programs.
Problems should be over with 80286 processor getting more and more
popular, where another standard - XMS as Extended Memory Specification
started to be implemented. The larger memory is then not available in
real mode where 1MB limitation is still in place, but protected mode programs can address over 1MB and reach
additional memory. However, driver such as HIMEM.SYS was needed to make
this memory available. Because 286 boards had larger memory upgrade
capabilities, presence of memory expansion boards for this standard is
uncommon and usually is used when specific mainboard's capabilities are depleted.
The EMS was still used by emulation to run certain older software even in Pentiums and many memory managers had capability to pretend that there is an EMS.
Here we can see some memory boards. Most of them have memory in DIP chips, but in the market there were some rare boards with 30-pin SIMM (or SIPP - SIMM with pins) capability.
|The "64-256K MEMORY CD" is an ISA-8
expansion made by IBM for their early PC computers which
couldn't accomodate more memory on their mainboard than 256kB.
The 256kB on the mainboard and 256kB on expansion board gave
512kB of total RAM. The board was usually filled with 64Kx1
chips and used with early IBM PC mainboards.
manuals with DIP switch settings
|The CT-6280 is a small memory
expansion board for an 8-bit ISA slot. It works where there is
no space for 640kB in the mainboard. The amount of RAM and its
starting location may be configured with DIP switch. The memory
size depends on chip socket contents, 64Kx1 or 256Kx1 chips can
And this is probably an XMS board for 286 which cannot fit more RAM - a MC-M410 is a 16-bit ISA board whose banks can be filled with 256Kx1 chips. The logic is made on PAL chips and, if fully packed, this board can expand PC by 3.5MB of RAM. In 286 computers, only later boards had expansion to 4MB, while early, cheap mainboards kept the limit to 1MB. Unfortunately I don't have settings for it and presence of PAL chips make it hard to figure them out. The board was found with only 512K of RAM installed in bank 0.