Firstly, the G4 isn't a 64-bit CPU. Period. It's a 32-bit CPU, just as the P3, Athlon, etc are.
Itanium is 64-bit. UltraSparcs are 64-bit. Alphas are 64-bit. Etc.
Current x86 CPUs convert to 80-bit internally anyway. That doesn't make them 80-bit CPUs. Generally, a CPU is considered an "n-bit" CPU when it can do scalar (not SIMD) computationns on an integer with n-bits.
64-bit processors allow two major things:
- Support for 64-bit integers
- Flat 64-bit addressing
32-bit CPUs have 32-bit addressing, which translates to 4Gb of memory that it can address directly (there are tricks 'n hacks to get above, which I don't understand).
The other part is for 64-bit integers. This way integers larger than 2^32 can be used, whereas right now they can't.
When people say that game consoles are "128 bits" etc, it's misleading. It's misleading for the same reason it's misleading to say the G4 is a 128-bit CPU, because it has 128-bit wide registers. The PIII and P4 have 128-bit integers, and yet no one calls them 128-bit. The reason why is because the size of the largest integer done in scalar mode (not SIMD) is 32-bits. I think SSE2 gives 64-bit integers, maybe even in scalar mode, but I can't quite remember.
Why not jump to 128bit? There's no need really. We've had over 10 years of 32-bit CPUs, and only now getting close to bumping into the 4gb limit. 64-bit CPUs can address...well, they can address as far as 2 ^ 64. That's a lotta ram. Eventually we'll probably bump into that too, just as we always have, but again, it'll be awhile.
Another issue is that pointers would take up 128bits, whereas now they take up 32 (on a 32-bit CPU). The larger the integer you use, the more space and bandwidth it takes up.
Eventually, everything will go up (until computing moves to some other medium). All in due time....
Hopefully others will respond who can do even more for myself
