Alan from NY :
So you mean if the operating system turns from 32-bit to 64-bit, all those transistors in the memory chip magically double in number and all the memory locations magically double in width? That doesn't sound right.
Nope, not at all.
The memory space for most computational devices has been more or less universally standardized as being byte-addressable. This means that in any memory hardware architecture, the atomic unity of manipulation is an 8-bit byte.
If your PC has 2 gigabytes of memory installed, this means that there are 2 * 2^30 (memory uses the base 2 gigabyte which is equal to 1,073,741,824) individually manipulatable bytes of memory. If your PC has 4 gigabytes of memory installed, this number is raised to 4 * 2^30.
That's the memory side of the equation.
The microprocessor side of the equation is different. Whereas the address space operates on byte manipulation, microprocessors operate on what's known as
word manipulation where a word is typically an arrangement of two or more bytes. The definition of a
word is device dependant, an x86 word is 16-bits (two bytes) in size, but many other devices use 32-bit words (4 bytes). Intel's original 8086 microprocessor could operate on bytes (8 bits) and words (16 bits). Intel's 80386 microprocessor expanded this to include double words (32 bits), and with the introduction of 64-bit extensions in 2005, quad words (64-bits).
The important thing to note here is that a 64-bit operating system or a 64-bit program does not have to use 64-bit data types. A 64-bit application can still perform arithmetic on bytes, words, and double words; it also has the option to perform arithmetic on quad words if it so desires and this can result in large performance increases. Some data types, such as absolute memory addresses, do need to be promoted to a larger size to accommodate changes in the microarchitecture, and this does result in 64-bit operating systems and 64-bit applications having slightly larger memory requirements.