Wednesday, March 10, 2010

64bit PC's and memory

Just to refresh my knowledge on the PC platforms, I read the excellent Wikipedia article on the 64-bit x86.

PC processors and 64-bitness


The current 64-bit instruction set is a backwards compatible extension to the Intel instruction set. It is implemented in all typical processors from all common vendors. It has multiple confusing names, all meaning the same: Intel 64, amd64, EM64T, x86_64, x86-64, IA-32e.

Intel Itanium (IA-64) is a completely different thing, and has nothing to do with current 64bit systems.

Not all of the 64 bits are in use today. Some of them are cleverly saved for the future by dividing the virtual address space into two halves. By having the unused gap in the middle as a forbidden zone, the address bits reserved for future use are safe from short term abuse by implementations.

Maximum physical memory in a PC

Having more than 4GB of physical memory is not an issue for 64-bit systems. Even a single process can use more than 4GB.

Using more than 4GB of physical memory has been possible for 32-bit systems as well since Pentium Pro ('90s). Physical Address Extension alters the page table structure to support this. Without PAE, each page table has 1024 32-bit physical addresses. With PAE, a page table has 512 64-bit addresses, even though only 36 will be used. A single process still cannot use more than 4GB, but you could have multiple processes, having mapped up to 4GB physical RAM each.

No comments:

Post a Comment