Why do x86-64 systems have only a 48 bit virtual address space?

Because that’s all that’s needed. 48 bits give you an address space of 256 terabyte. That’s a lot. You’re not going to see a system which needs more than that any time soon.

So CPU manufacturers took a shortcut. They use an instruction set which allows a full 64-bit address space, but current CPUs just only use the lower 48 bits. The alternative was wasting transistors on handling a bigger address space which wasn’t going to be needed for many years.

So once we get near the 48-bit limit, it’s just a matter of releasing CPUs that handle the full address space, but it won’t require any changes to the instruction set, and it won’t break compatibility.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)