There are multiple interleaving factors.
First of all, you will never, ever be able to assemble a system that has 264 bytes (16 exibytes) of physical RAM.
Second, just because an architecture uses 64-bit pointers, doesn't mean that all the bits of those pointers are actually used. Notably, current x86-64 CPUs (aka AMD64 and Intel's current 64-bit chips) actually use 48-bit address lines (AMD64) and 42-bit address lines (Intel) (see http://en.wikipedia.org/wiki/X86_64#Virtual_address_space_details ), theoretically allowing 256 terabytes of physical RAM.
Second, motherboards have their own limits on how much RAM they can support, both physically and logically. Physically, there are only going to be so many slots available for RAM. As for the "logical" limits, I don't fully understand why this is still the case for x86-64 (the memory controller having long since been migrated into the CPU itself), but there it is. Presumably corners are being cut on address lines to save a few bucks in design and manufacturing.
Third, an operating system may have internal limitations as to how much RAM it can efficiently support. In part, this is actually to prevent needing overly large data structures to keep track of usage for memory that isn't really there. Last I checked, Linux allows 128TB of virtual address space per process on x86-64, and can theoretically support 64TB of physical RAM.
Fourth, some operating systems (e.g. Windows) will artificially limit how much RAM can be used as a tactic to make users upgrade to more expensive versions if they want more RAM (Windows 7 Starter is limited to 2GB, Home Basic to 8, Home Premium to 16, and Professional and above are 192GB, and Windows Server releases have far higher limits).
Windows uses some of the hardware addresses meant to address memory, for other hardware (like USB, SATA, Disk Controllers, whatever). So some of those hardware addresses cannot be used for your memory. Hence the limit.
To my knowledge, Unix/Linux CAN address a little more than the 3.2GB limit of Windows.
This is because Linux uses a different addressing scheme.
There is also a function called PAE (Physical Address Extension) which makes 32-bit OSes use more than 4GB.
Best Answer
A word, in the majority architectures, is the largest piece of data that can be transferred to and from the working memory in a single operation.
The largest possible address size, used to designate a location in memory, is typically called a hardware word.
So, your CPU will be able to address 64KB (2^16) but will only be able to transfer in a single operation 8 bits.