These are older 32-bit-only machines. All machines with a 64-bit processor (and compatible motherboard with a BIOS made for accepting a 64-bit processor, i.e. not a 32-bit motherboard with an adapter to install a 64-but processor) will recognize more than 2GB.
And you'll get almost 4GB usable in the OS, if you use it this 64-bit machine with a 32-bit OS, even if each process is invidually bound to a 2GB limit (the rest will be used by concurrent processes, or for mapping the PCI hardware, or could be usable as a system cache with a driver, or as memory used for graphics or other similar devices needing more memory (by swapping 64-bit memory pages in the virtual 32-bit space, specifically in the driver, just like what EMMS did in the old MSDOS and Windows 3.x and Windows 95 time which allowed 16-bit applications to use all the 32-bit space within a virtual 16-bit space). It is possible only because the OS just needs to reserve some pages in the virtual 32-bit space for allowing it to page-in/page-out some 64-pages in that small shared 32-bit space. But such paging has a small performance impact (it is however much smaller than paging-in/paging-out to disk).
Today, everyone should use a 64-bit OS; it also has the advantage of extending the paging space on disk, so that even with just 4GB of physical RAM, you'll still get much more virtual 64-bit space usable for applications (paging I/O to disk is still faster than having to free memory in applications, by dropping precomputed data in order to regenerate it later).
A 64-bit OS also allows you to map giant files in memory using the memory manager, which is MUCH faster than conventional I/O (read/writes to files), because it saves a lot of overhead from the filesystem. This means that Windows can also start any application without having to read it completely in memory, it just maps the executable file in memory, and then the memory manager will load the pages only on demand: this considerably accelerates the application loat time, as well as the boot time, because most contents in the required files are not read completely, but only on-demand (on the first access.
Who wants to use XP today ? Go with a 64-bit OS. It is much faster !
Note: a 32-bit OS is still perfect if you run it within a VM as a guest OS, within a 64bit OS using an hypervisor; you get even better performance for this 32-bit OS today in such VM environment than what you got over a native 32-bit installation, because the 64-bit OS handles paging much faster, and virtualizes completely the filesystem to save lots of I/O performed by the hosted 32-bit OS.