📝64-bit machines don’t use full 64-bit address space

amd64 ISA defines 64-bit pointers, but current ([2020-11-08 Sun]) 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