IA32 and the 4 GB memory problem

Found some information in two of Intels chipset datasheets about this issue:

The board utilizes 4 GB of addressable system memory. Typically the address space that is allocated for PCI Conventional bus add-in cards, PCI Express configuration space, BIOS (firmware hub), and chipset overhead resides above the top of DRAM (total system memory). On a system that has 4 GB of system memory installed, it is not possible to use all of the installed memory due to system address space being allocated for other system critical functions. These functions include the following:

  • BIOS/firmware hub (2 MB)
  • Local APIC (19 MB)
  • Digital Media Interface (40 MB)
  • Front side bus interrupts (17 MB)
  • PCI Express configuration space (256 MB)
  • MCH base address registers, internal graphics ranges, PCI Express ports (up to 512 MB)
  • Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI Express add-in cards

And the other note:

Memory between 4GB and 4GB minus 512MB will not be accessible for use by the operating system and may be lost to the user, because this area is reserved for BIOS, APIC configuration space, PCI adapter interface, and virtual video memory space. This means that if 4GB of memory is installed, 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit.

One thought on “IA32 and the 4 GB memory problem

  1. I think this one might be better filed under Windows rather than just all Operating Systems. As most other OSes had fixed this problem years ago. Essentially we’ve been living under the hat of x86_32 Windows XP for the past six years and due to initial issues with Windows XP x64, many users avoided it like the plague in my opinion. Though this is more informative than answers I have found myself. Thanks for posting!

Leave a Reply

Your email address will not be published. Required fields are marked *