32 bit systems can't handle more than 2^32 bytes of ram because they are unable to manage it, address wise. So it's not just "not detecting" your RAM, it's simply unable to use it.
To imagine that, you have a hotel with 100 bedrooms but only a clipboard with ten lines. You won't be able to hold more than ten customers at once.