Die 32bit CPUs können nativ nur ein 32Bit Datenwort auf den Bus legen. Somit lassen sich halt max. 4GByte adressieren.
AFAIK haben die x86 CPUs keine Möglichkeit, den Speicher 2 stufig (low und high nibble) zu adressieren. Dann ließen sich mit ner 32Bit CPU natürlich auch mehr als 4GByte adressieren.

WinXP 32Bit kann sogar nur 3GByte RAM adressieren.