Originally posted by Catfish_Man
What exactly would a 64 bit OS do for you? Allow you to use 64 bit addressing? Panther does that.
If so, please explain how? Is it true 64-bit, so that the standard
malloc call returns a 64-bit pointer? Do all system calls (I/O, graphics, frameworks) accept 64-bit pointers?
Or is there a mutant 64-bit malloc, e.g.
malloc64, that returns a 64-bit pointer while the standard call returns a 32-bit pointer.
If there are two different sizes of pointers, do you get two different classes of memory? Do you have to copy data between 32-bit buffers and 64-bit buffers in order to do I/O with it?
All we know for sure is that Panther's O/S is able to use more that 4 GiB of physical memory, and to divide that up among 32-bit processes. Just like Windows and Linux do on x86 systems with up to 64 GiB of RAM today. Just like 32-bit VMS did on Alpha systems, just like 16-bit PDP-11 operating systems did 30 years ago.
If you have proof of application-level access to extended virtual addressing, please post it.
Originally posted by Catfish_Man
Allow you to do 64 bit math? Panther does that.
My 32-bit Windows and Linux systems do native 64-bit floating point, with full 64-bit datapaths.
The only difference with the PPC970 is that 64-bit integers become native - on x86 you need to use the SSE2 for 64-bit integers or (more commonly) synthesize using multiple 32-bit integer operations.
For the small number of applications which have significant 64-bit integer code, this is a win for the PPC970. How much of a advantage is open for speculation - since the superscalar O-O-O-E chips like the x86 can run multiple integer operations in parallel. Only benchmarks of 64-bit integer-heavy apps will be able to answer this question.
(BTW, are you sure that it is possible to use 64-bit integers while in 32-bit mode on the PPC970? I was trying to read the PPC documentation to determine this, and some references imply that the "32-bit mode" sets the effective integer register width, which would mean that a 32-bit program could not do native 64-bit integers.)
Anyway, thanks for the list of non-stylistic enhancements.