Mark said:
Maybe very slightly, but I doubt you'd notice much difference...
Pretty much...
64-bit is really only of benefit if you have more than 4Gb RAM or you have
a specific need to run 64-bit software...
It won't be too long before 8Gb RAM is fairly common, and Microsoft have
released 64-bit Office - that's when 64-bit Vista will really take off...
Really? Explain why?
A 64-bit CPU does not perform arithmetic instructions any faster than 32-bit
CPU. 1 cycle = 1 cycle...period. And the time it takes for 1 cycle is
determined by clock rate.
So if a 64-bit addition command takes 1 cycle then adding 32-bit numbers
does not take HALF a cycle. It still takes 1 cycle. Same with 16-bit, 8
bit, etc.
Now explain to me again what use a word processor has for 64-bit?
There are only a few things that have any benefit from 64-bit CPUs:
More than 4 gigs of RAM. As far as Windows goes, with its tendancy to
expoentially increase its resource requirements with little added benefit I
can see why it will eventually need more than 4 gigs of RAM just to boot
up...
Applications, besides a bloated operating system, that even need more than 4
gigs of ram and therefore even have any *need* to address past 32-bit
boundaries.
Applications that perform lots of 64-bit arithmetic. By this I mean, they
are not adding "5+5" using 64-bit registers. I mean they are actually
performing arithmetic with numbers and results larger than 2^32.
Hint: Average office and user needs don't really fall into this category.
However, there also are some disadvantages in case of 64-bit that can
extremely easily outweigh any gains.
- 64-bit programs consume twice the space 32-bit programs do as an
instruction is now twice as wide. This may not affect your hard drive space
terribly much, but it does affect the space a program takes up in the
internal CPU cache. If, just to pick a number, a CPU has a 1 meg
instruction cache it can only store half as many 64-bit instructions as
32-bit instructions. That can adversely affect its performance.
- How wide is the memory bus? Even if the CPU is 64-bit capable but the
memory bus is only 32-bit wide then the CPU now has to do *two* memory
fetches instead of *one*. The memory bandwidth remains the same in that
scenario as with a 32-bit CPU, but you have to move twice the data across
it when accessing instructions not in cache or accessing 64-bit memory
data.
That essentially means that in a best-case scenario it takes the *same*
amount of time to move data to / from CPU and Memory.
That only applies with a 32-bit memory bus though, that goes away if the
memory bus is actually 64-bits wide but I am not sure if any normal 64-bit
systems actually have a 64-bit memory bus? I kind of doubt it as you could
no longer use the standard memory with it used in 32-bit systems or at a
very minimum would be required to use two 32-bit memory modules to act as 1
64-bit module.
- Due to the 64-bit alignment of data, a 64-bit CPU actually suffers a
performance penalty when accessing 32-bit data not on a 64-bit boundary.
The same effect occurs when a 32-bit (or 64-bit) CPU has to access 8-bit or
16-bit data on a non-32bit boundary. The reason is that non-aligned memory
accesses, while possible, carry a performance penality to move the data to
the correct location.
Simple example:
An 32-bit value located at memory address 4 would not carry a performance
penalty when loading it because it is on a 32-bit aligned address. One
operation.
However the same 32-bit value is not on an even 64-bit boundary. It is
halfway in between. So in order to load the value, it has to be loaded and
then shifted so that the bits are in the correct located of the register.
Two operations.
This is one of the reasons why 32-bits apps may not perform as well on
64-bit CPUs. Many times data will simply not be properly aligned and has
then to be aligned manually increasing cycle time for the instruction that
is affected.
Bottom line really, you are not likely to see any performance gains from a
64-bit word processor over a 32-bit word processor. Unless you are working
with unicode text and asian languages, chances are you don't ever need more
than 8 bits per character! And even with unicode text, it is 32-bits for a
bonded pair in a worst case scenario if I remember correctly.
Applications that need an extreme amount of precision are mostly what can
benefit from 64-bit arithmetic.
Just to really make the difference clear:
32-bit could map a distance of 4,294 kilomters with 1 mm precision. Plenty
precise enough position text on a 8.5 inch by 11 inch piece of paper.
64-bit could map a distance of 123,308au with 1 mm precision.
1 au = 149,598,000 km (92,955,887 miles).
Just to put that into some more perspective, Pluto is ~39 AU from the sun.
Such precision is a little overkill for positioning text don't ya think?
--
Stephan
2003 Yamaha R6
å›ã®ã“ã¨æ€ã„å‡ºã™æ—¥ãªã‚“ã¦ãªã„ã®ã¯
å›ã®ã“ã¨å¿˜ã‚ŒãŸã¨ããŒãªã„ã‹ã‚‰