3.
Addition to 1. - It's not only about DDR2 - I discovered some other false belief, while quickly glancing over the article:
Although complex operations on 64bit integer data (like multiplication and division) are slower* than on 32bit, this is not the case for majority of instructions - the most used ones are amongst them, like MOV, LEA, ADD/SUB, boolean operations, shift/rotate etc. So we would only loose a few percent performance if we completely change 32bit code to 64bit. And for things, which are better done in 64bit or even more (think about crypto stuff, fast string searches in databases etc.), the 64bit code will clearly win against 32bit code even with slower mul instruction (because 64bit multiplications using 32bit are much slower).
But: it's not necessary to use 64bit values. If 32bit are enough, they work as fine in 64bit mode as they do in 32bit modes.
And: the (not mentioned) additional registers (GPRs and SSE2) offer increased performance even for 32bit code.
Never forget: The additional address space and wider registers are not the only benefits.
*) MUL: 1/2 throughput, 2/3 higher latency vs 32bit, DIV needs about twice the time
[
Posted by: Dresdenboy

|
Date: 04/03/04 01:58:24 PM]