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
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. |