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.
- NaN-boxing—pointers can be packed into double-precision numbers