On Mon, 6 Sep 2004, thewade wrote:
Is there any advantage to using pure data on a 64 bit machine (if it works)?
Or does the 64bit just mean more precise calculations?64 bit simply means that programs are able to address larger blocks of memory. It may also mean more precise numbering if by default ints are 32 or 64 bits instead of 16, but I think thats a compiler thing, not a hardware thing. char=8bits int=16bits float=32 double=64 (I think)
Int is 32 bits, unless you compile for DOS or some kind of old architecture, eg Commodore-64 or DEC PDP-6 ...
You may try it with this very small C program: ------------------8<--------cut-here--------8<------------------ #include <stdio.h> #define z(T) printf("sizeof(%s)=%d\n",#T,sizeof(T)); int main(void){z(char)z(short)z(int)z(long)z(long long) z(float)z(double)z(long double)z(void*)z(wchar_t) return 0;} ------------------8<--------cut-here--------8<------------------
just remove any parts not supported by your compiler, if any.
There might in the future be something like write combining where two sets of 32 bit values are combined, as it takes just one cpu cycle to move 64 bits as opposed to two cycles for normal x86 machines.
This is supported by the P1 and all 586-type machines, and is pretty much _the_ definition of a 586-type machine. Guess why those CPUs had 64-bit busses back then. However they don't use SIMD for that kind of job, they use "superscalar execution", which is about executing two separate instructions at once.
Mathieu Bouchard http://artengine.ca/matju