📝64-bit machines don’t use full 64-bit address space
amd64 ISA defines 64-bit pointers, but current (
) implementations only use 48-bit address space. That’s enough for a 256 TiB address space.The next step for processors would be 56-bit address space, which allows 64 PiB address space. Intel has implemented a 5-level page table which allows Intel 64 processors to support 57-bit address space (128 PiB).
64 bits is enough to have 16 EiB (exbibyte) address space.
See also
NaN-boxing—pointers can be packed into double-precision numbers