The Maximum memory that a computer can utilize is fairly hazily documented in many cases. In practice, it tends to be as much as one can afford up to the point where something stops working. In principle, non-financial limits are determined by the smallest of five limits.
- The ability of the CPU to address memory
- The ability of the motherboard/chipset to address memory (The total addressable memoy)
- The ability of the motherboard/chipset to address memory modules (The number of bits allowed to access each memory module)
- The ability of the Operating System to address memory
- The availability of memory modules to fill out the memory space
It is also not uncommon for cache addressing to be useful for only part of memory meaning that memory above the cache addressing limit will not be cached and will be slower to access.
CPU memory limits for common PC CPUs are
8086, 80186 and similar -- 1MB
80286, 386SX, 486SLC -- 16MB
386DX, most 486s, Older Pentiums -- 4GB
Pentium pro, Pentium II -- 64GB
Chipsets often limit available memory to less than the CPU can address and cacheable memory to even less. The following website has memory specifications for many chipsets:
Maximum Memory for various Workstation Operating Systems:
- MSDOS - 1MB (1.06MB for MSDOS 5 and 6) -- but can be extended to at least 16MB
- Windows 3 - 24MB? 64MB? 2GB? (different sources indicate different limits)
- Windows 95, 98 - 1GB (but additional memory to 2GB can be used for disk caching?)
- Windows ME 1.5GB
- Windows NT, 2000, XP 4GB
- OS X: 8GB due to current hardware limitations
- OS 9.x: 1.5GB (no single application can utilize more than 1GB)
- Linux: 64GB
Even when everything else is satisfactory, it may not be physically possible to fill out memory to the maximum that is conceptually permissible. A chipset that supports 512MB of memory can only use 256MB on a motherboard with 4 memory slots if the largest available memory modules are 64MB.
Return To Index
Copyright 1994-2002 by Donald Kenney.