CREEPINGNET'S WORLD
ALL ABOUT RAM
The Hardware side of Random Access Memory
Vintage PC's have three types of RAM to consider, maybe two or less the older you go: System RAM (RAM), Video Memory (VRAM), and Cache RAM (L1, L2, etc).

(System) RAM - System Memory refers to the main memory used by programs while the computer is turned on. These are usually up to 4 banks of microchips, or up to eight slots of little circuit boards known as SIMMS or DIMMS on the motherboard, and measured in Kilobytes and Megabytes on vintage systems (modern systems use Gigabytes). It also can be expanded using "Memory Boards" in either proorietary or standard BUS formats.

VRAM - VRAM, or Video Memory, refers to the memory used by your graphics card. This first turned up as a concern in the EGA era for a little bit (up to 64K), but then died off when VGA with 256K VRAM became standard. It came back however, with the advent of SVGA, with common capacities in 386/486 SVGA systems being 512K, 1024K (1MB), or 2048K (2MB), with the former 2 being the most common. VRAM determines how many colors and how high a screen resolution you can have. I will cover that more in the Graphics section of the site since it's a bit out of scope for right here.

Level 1/Level 2 Cache RAM - 386 and later systems could get a speed boost by adding an external cache to the motherboard. A Cache is where frequently used data and program pieces are stored to be quickly retrieved by the CPU without intervention of various "glue logic" - this allows for faster speeds as the computer does not need to go through the same, longer process as it does for main RAM to retrieve the same data over and over again.


System Memory
On vintage PC's System Memory and System MEmory Limits are determined by the generation of PC.

PC/XT (8088 + Some 8086/80186/80286) - The original IBM PC 5150 had a memory size of between 16 Kilobytes and 128 Kilobytes of RAM. When the IBM PC XT was released, this was bumped up to a maximum of 256 Kilobytes, and later 640KB. This early on, MS/PC-DOS was setup for a maximum available of 640 Kilobytes of RAM - or what we call "DOS RAM" or "Base Memory". There were no "memory managers" per-se. The memory on these systems was typically 4 banks of nine 41xxx series memory DRAM memory chips - eight for the actual RAM, and an extra one called "PArity" which was used as a "truth checker" of sorts against the other chips to find memory errors. The RAM Communicated on a 8-bit wide data address bus.

PC/AT (80286) - The IBM PC AT had a maximum of 16MB of RAM, and just about all computers had a memory limit of multiple megabytes. This memory limit was imposed by the CPU, and by the BIOS. The reason the AT could address all that RAM in 1984, was because it was not just sold with DOS, it was sold with Microsoft's "Xenix" (Unix) operating system as an option, which was in common use in banking and other financial institutions at the time (I remember a whole row of IBM PCs, XTs, and ATs lining the teller wall at Central Bank when I was a kid, it looked AWESOME). Xenix made use of that full 16MB as it could address it, as it ran in Protected Mode (an advanced operating mode of the 80286 microprocessor that allowed for up to 16MB of RAM to be addressed, but incompatible with DOS). Most 286's, however, left the factory with no more than 1 or 2MB of RAM at most, iwth most still sitting in the 512K-768K memory space. Most clones actually topped out at 4MB, like the GEM 286 I used to have (though it did take 16MB in the form of a Panda SIMM 12 SIMM Memory Card). Most used DIP RAM, but a lot of clones started to use SIP and SIMM memory. Memory cards started to dissappear as well since they were a bottleneck for memory performance on faster AT systems, wheras on old 8088 systems, the ISA bus ran at the same speed as the processor, so your 8MHz "Turbo XT" would run it's memory board the same as the RAM on the motherboard. But your 16MHz 286 had the "decoupled" bus running at around 5MHz, but your CPU and motherboard RAM were running at 16. Memory Address space can be 8-bit on some systems, but 16-bit on later systems - meaning some later 286s like my GEM required TWO SIP/SIMM Memory modules to allow it to boot as those are 8-bit memory technology.

386/486 - The 386 era ushered in 32-bit Memory Access with the original 386DX based Compaq Deskpro 386 in it's second revision (via the form of proprietary memory cards). 386 SX machines typically had 4 slots, while 386 DX machines had eight. The reason was, 386 SX machines needed only 2 SIMMs/SIPs at a time to fulfill the full 16- bit externally addressable bus, while 386 DX and 486 machines - which were fully 32-bit inside and outside, need a full whopping 32-bit memory path filled, which required 4 banks of 8-bit Memory SIMMS at a time. Memory limits on these 32-bit CPU were a theoretical 4GB Maximum, but of course, BIOS limitations and O/S Limitations lead to much lower limits of 64MB for most 16-bit DOS/Windows 3.x versions, and BIOS limits of 10-16MB (386SX), 32MB (386/early 486), 64MB (mid-era 486), and 128MB (late era 486 and later) systems. Though a few 486s could address up to 64MB. 386SX Systems communicate with the system bus via a 16-bit data path, and most of these systems use 30 pin SIMM (some use SIP) memory modules, so you will need at least two installed in such as system. 386DX and all 486 systems communicate via a 32-bit data address bus, so they will require FOUR 30 pin memory devices to start up, but will work (usually) just fine with ONE 72 pin Memory Module (32-bit device).

Physical Memory Formats
Most system RAM on these old systems came in specific formats for the era, most of which I mentioned above. However, I have provided a guide below to explain these formats, how to figure them out, and what they mean.

NAME
PICTURE
DESCRIPTION
DIP Memory
DIP Memory, standing for "Dual Inline Package" - a standard term in electronics for the packaging of "integrated circuits" (as memory chips are), were the original way of packaging RAM for a computer, including the original IBM PC, XT, and AT. These chips all were in the 41XXX series of microchips, and have a speed rating aroung 100-150ns (nanoseconds). These chips included the 4164, 41128, and 41256 - with the last three letters being the capacity of one bank of these chips in Kilobytes. Most earlier PC's PRE-AT used a series of jumpers on the motherboard to enable/disable the banks of Memory, while 286 and later used the self-test to determine the memory for CMOS to store. Each Memory chip is 1-bit data width, and it requires at least NINE of them to fill out the full eight bit data address bus on a PC/XT class machine to get it to boot without a memory error - eight chips + 1 for Parity. Memory errors can be easily diagnosed by learning how to read and understand computer memory at a hardware level, and use the hexidecimal codes given to find out WHICH chip is faulty - and then you can proof/truth check your work by MOVING the suspected bad chip to another socket and seeing if the memory error addresses changes.
Memory Expansion Cards These were basically cards, standard, or later non-standard, that were designed to hold massive banks of aforementioned DRAM to allow higher amounts of RAM in 286/early 386 systems. The earliest cards, meant for PC/XT 8088 class machines like the Tandy 1000 or IBM PC XT, were regular 8-bit ISA cards that ran at the same speed as the CPU, because the system BUS ran at the same speed of the CPU. However, with the 286, and a lot of Turbo XTs, it was discovered certain expansion cards would not work properly or at all with a coupled ISA bus, so it was later "decoupled" and forced to run at 4.77MHz or some other, slower speed compatible with odler add-in cards. THis meant that ISA upgrade cards for the AT would lead to a bottleneck in memory speed. However, this also meant, that they could get extra speed using propreitary cards. Some 286s did this as they could address up to 24-bits at a time. The Compaq Deskpro 386 did this to save real estate on it's motherboard for everything else as it was an extremely advanced machine in it's time. So all RAM was off-loaded onto a multi-layer, multiple layers of circuit boards smashed together, plugged into a propreitary 32-bit Memory expansion slot on the far left of the Compaq's case. Clone makers copied this and did so on their own motherboards, which makes shopping for extra RAM for some older 386 systems tremendously difficult.
Another one of those wacky things from the 286/early 386 era of EGA, ESDI, and GameBlaster Cards. The SIP was the precursor to the "SIMM", standing for "Single Inline Package" - adopting it's name directly from the Electronic Engineering term used to refer to an IC that features pins in a single line (and quite confusingly I might add if you do both, like me). It had 30 pins in a row and fit into 30 pin SIP headers on the motherboard, usually in groups of 2, 4, or 8 (386/486). These started about 1988 and continued to be used up until about 1991. I have a circa 1992 BSi/NanTan Notebook FMA3500C that uses such RAM, which must be one of the latest cases of using SIP RAM in a computer. SIPS are 8-bit in width, so on 16-bit systems like a 286, or a 386SX, they need to be installed in pairs, while on a fully 32-bit system such as a 386DX or a 486, they need to be installed in matched quartets. These are an 8-bit memory technology - one SIP = one bank of RAM on an old PC/XT system. So at least some 286 systems and 386SX systems require TWO installed to function, while 386DX/486 systems require FOUR to function to fill out the fully 32-bit address bus. The SIP Was replaced with the 30 pin SIMM Below.
30 pin SIMM The 30 pin SIMM is an improvement on the SIP design. While the SIP Design did reduce the space needed for memory drastically, it also increased a problem of breaking memory parts. Because it had 30 little tiny pins that had to be perfectly aligned with the socket, and were easily broken off when not. So to resolve this, the 30 pin SIMM was created, replacing the pins with flat traces that attached to a socket of 30 "pins" (actually it has contacts on both sides and uses Vias to attach both sides of the board to each other). Same rules apply as to 30 pin SIPS: 2x per upgrade for a 386SX or 286 (matched pair), and 4x per upgrade for a 386 or 486 (ie matched Quad) - as they are an 8-bit memory technology. 72 pin SIMMS replaced these starting in the early 1990's.
72 pin SIMM With raising memory capacities in the early 1990's, and memory manufacturers running out of space for 8-bit SIMM slots - with some 486 DX motherboards having as many as eight or even sixteen (!!!!) to accomodate huge sums of memory in excess of 32MB, and the Pentium just around the corner. The 72 pin SIMM, a 32-bit memory device, was created. Now it had 72 pins, and these could be installed in single rows in a 486 system, and required being installed in matched pairs in a Pentium (Pentiums have a 64-bit Memory Bus Width). Most 486 systems have 2 or 4 slots, while Pentium and later have 4. There were two memory technologies on these to be aware of: Fast Page, and EDO. Fast Page was a slower method of bankswitching between "pages" of RAM, used by 486s, though some late 486's and all Pentiums could use "Extended Data Out" or "EDO". You'd need to check with your computer/motherboard's manufacturer to find out if it supports it (though trying them out could not hurt either). 72 pin SIPs are 32-bit RAM, and therefore a 486 can function with just ONE installed, but a Pentium System - as it uses a 64-bit data path for the system memory, requires TWO to work.

Cache RAM
Cache RAM is used by the system to pull frequently used data/code/etc to the CPU more quickly, resulting in faster performance of the system. This was often referred to as the L2 Cache, even though on 386s there was no L1 cache (486's had an L1 Cache built into the CPU - 8-16 Kilobytes worth). The L2 Cache typically consists of 7-17 chips total - with one chip being a "Tag RAM" chip.

386 and 486 motherboards that have a external cache setup usually manifest as 2 rows of nine chips, or 2 rows of 5 chips, with an addtional chip called the "TAG RAM" chip. These use SRAM (Static RAM), and you must have the rows match, while the TAG RAM usually has to be some kind of specific Chip(s). Usually 15-20NS.

On 386's it's known as just the "Exernal Cache" and makes a bit bigger of a difference than it seems to on a 486 system.

On 486s it's known as L2 Cache because the CPU already has 8-16K on board to use. These typically mainfested, like the 386, as DIPS, but I do know of one motherboard by ZEOS that uses a "485 TurboCache" chip. 486 Cache's range from 128K to 1024K - usually with the last intended for use with a WriteBack enabled 486 DX2/4 or higher with 64MB+ of RAM.

From the Pentium onward, they used a COAST Module for the same, putting it all into a singular module you could plug in. Whether this was copied from the PC Chims M919 486 motherboard that had it's own proprietary COAST module is unknown, but the Pentium units were standardized.

For more on Memory, see the related Operating System Memory Management documents on how to configure the RAM for best performance. I will ahve this for DOS, Windows 3.1, and Windows 9x.
A Bit about Laptop Memory
Okay, let's talk about Vintage Laptop Computer RAM a little bit. Vintage Laptop Computers started off using the same DIP (Dual In-Line Package) 4xxx(x) series memory chips (4164, 4128, 41256, etc...) as any other regular PC/XT and early AT (286) based system. Some opted to SOLDER these chips to the motherboard, but a lot of them still left them socketed because Laptops were a premium and up-and-coming-thing in the late 1980's and early 1990's.

It was around the time of the 386/486 Laptops that we started to get into WEIRD memory technologies that were specific to the specific model range of laptop computers a company made. There were a LOT of different proprietary schemes, so we're going to explore SOME of them.


The 4x 2MB 30 pin SIP Memory in my (CreepingNet's) 1992 BSi Notebook NB486DX33C color notebook (aka NanTan/Kapok FMA3500C). The NanTan 3000 series was a shining example of cutting costs and improving expandability of laptops in the late 80's/early 1990's by using standard desktop components that could be easily bought from places like Dalco or Computer Shopper.

Desktop Memory in a Laptop - Pictured here is a NanTan Notebook FMA3500C with 30 pin SIP Memory like you'd find in some late 286 and early 386 desktop machines. This seems really weird in the early 486 laptop era (this ones a color 486 DX-33) but it probably was a thing for some less expensive manufacturers who were likely also making other desktop products as well (NanTan made Motherboards that went in other generic systems as well, including other generic laptops). Same rules here apply to a 30-pin SIP or SIMM machine - each module can be between 256K-8MB per SIMM (theoretically this one supports up to 32MB in size due to the chipset), and they ALL must match and be installed in a quartet in this machine because a 486 is a 32-bit machine with a 32-bit data bus width, and each SIMM is only 8-bits apiece (4x8=32).


This is a NanTan 9200 Series Memory Module - the very one in my 1995 NanTan Notebook FMAK9200D laptop actually (4MB). This module, while proprietary to NanTan's 9200 series machines, as the machines were sold under numerous brands including the DFI MediaBook NP9225, Duracom 5110D, Milkyway Myradbook, or even just a plain ol' NanTan/Sager/Kapok 9200, a lot of laptops used this module and people were probably not even aware that all these machines were basically the same laptop computer.

Proprietary Memory "Modules" - Pictured here is the memory card from a NanTan NoteBook FMAK9200D - same company as above, but a couple years newer. As we can see, this is a nonstandard memory module. A LOT of companies did this with their mid-late era 486 laptops, and it's really irritating becuase finding the memory modules for such a machine today is like hunting for a needle in a hay loft.


On the left is a NEC Versa OEM Memory Module for the NEC UltraLite Versa/E/V/M/P model laptop computers. On the right is a Card-Type Module issued for the IBM ThinkPad 300/700 series such as a 360 or a 755.

Memory Cards - Some companies with the mid-late era 486 laptops, such as NEC and IBM, chose to make memory a very easy "User Upgradable" affair. NEC on the left, with their (UltraLite) VERSA Series computers, had 3.3v Memory Modules that looked something like a PCMCIA Type I card from the late 80's. These came in capacities of 4/8/12/16/32 Megabytes and were easily swapped by the user by opening a pair of doors on the laptops right side. On the Right, we see a IBM ThinkPad from the 755/350 Series era that had a PCMCIA-like memory card that mounted underneath the CD-ROM/Floppy bay in the laptop, by pulling the lid release latches further forward, releasing the keyboard, and then pulling out the CD-ROM or Floppy Drive, and sliding the card in like a regular PCMCIA card (or the aformentioned NEC Versa). Most Laptops with this sceme come with at least 4 Megabytes of RAM built into the motherboard, so a lot of them don't even have a RAM expansion installed. Surprisingly, the NEC RAM is REALLY easy to find still 30 years later (I have a bunch of modules myself BTW in 4/8/16 MB capacities).


Here's a couple memory modules for a Compaq LTE 5000 and a HP OmniBook, both late 486/early Pentium era laptop computers of much renown in the vintage computing community. They could technically count to stand with the NanTan 4MB Module I posted earlier on this page, but show a little bit of a move to a discreet card-edge affair not unlike the SO-DIMM shown below.

Early Attempts at (Laptop Specific) Memory Modules - Some laptops, such as those above, utilized memory modules that were similar in design to the later well known "SO-DIMM" Format which we still use today for our modern DDR3/4/5 memory modules found in modern laptop computers. However, the majority of these were proprietary and meant specifically for the laptop computer product line in which they were intended to be used.


Here's a vintage, early, standard EDO SO-DIMM memory module as found in Pentium/II laptop computers of the vintage MS-DOS/Windows 9x era. This is a 16mb 60ns module putting it right in that sweet spot just as Laptop memory started to get more standardized

SO-DIMM Memory Modules - The SO-DIMM Memory Module did not become a standard thing until the late 1990's, when the Pentium II and later generations started to become commonplace. These standardized memory modules are what most modern memory technologies evolved from in laptop computers, and were a way the market started to finally keep the laptop a somewhat "standard" (though not fully) platform.