32х битная система может адресовать максимально 4гб памяти. Но это не только ОЗУ, но и остальная память, используемая оборудованием, например видеопамять, буфера сетевых адаптеров, контроллера диска и т.п. Система самостоятельно распределяет адреса между устройствами следующим образом: адреса ОЗУ отсчитываются от нижней границы к верхней, остальное оборудование — от верхней планки в 4ГБ вниз. Вот в итоге из-за ограничений, накладываемых архитектурой, 32 битная система и видит память в размере 3-3,5 ГБ