CTho9305 is correct.
Just to elaborate on "2":
For AMD64, the virtual space to rumble around in, is fully 16 ExaBytes.
But "only" 4 PetaBytes in that space can be mapped, so that's the limit.
However, that is for AMD'86-64 as such, not for the current K8's.
Current K8's have 256 Terabytes virtual space to rumble around in, but "only"
a total of 1 TeraByte can be mapped, so that's the limit of virtual memory. But again, the space is much bigger, which should be a help for many things, including fragmentation.
Even further limiting is WindowsXP64´addressing scheme, which I understand will give you 'only' 16 Terabyte virtual space, and initially map to only 16GB.
Also, current implementations of iAMD'86-64 processors, both AMD and Intel, are of course more limited in physical address space. In case of AMD, the most constrictive component is the integrated memory controller (currently 16GB). Opterons can use other Opterons memory controllers over HT links to access 128GB. Intel implementations too, might have some issues beyond 4GB (sofar). But the important thing is that the software virtual memory model is not limited. It will have enough addresses.
Originally posted by: Gibsons
Will bit size continue to go up? Will we have 512 bit cpus in say, 20 years? Or is there no need or limiting returns for larger bits at some point?
The need for greater integer width than 32 bits, is primarily pointers.
There will be no need for larger addressing than 64-bit, for a good while.
Processors are already much wider than 64-bit, in terms of how many bits can be committed. That width is apparently going to continue to increase. Intel's Conroe moves on to four execution pipelines. We're likely to see increased width of vector fields too. That width is today 128 bits. Vector instructions represent explicit parallelism, that is easier and more expedient to shedule into execution units.