What will you do with the new pc?
If you want to play games, spend your money on a good vga card. The 8800GTX, 8800GTS-512, or the 9800GTX are all in about the same performance class. They are about as good as it gets, and will play any game reasonably well.
SLI has been a poor upgrade path in the past. It should be used only by
those who will not currently be satisfied by the fastest available single vga card
which is currently the 9800GX2.
To get SLI. you have to spend more up front for a SLI capable mobo, and a
more powerful SLI capable PSU. Upgrading a single card later with a
second equal card does not get you 2x increase, it is more like 1.1x to 1.5x depending on the game.
At that time, you will still be paying top dollar for a card that is closer to
being obsolete. A higher end card will likely appear before summer. It would be better to sell the old card and use the proceeds
towards a better new generation single card.
The performance advantage of pci-e 2.0 today is miniscule(<1%?). My the time that changes, nehalem will be upon us, and current motherboards will be obsolete.
EVGA,XFX and BFG are considered the best vendors.
No, you can't add the mhz for multi core cpu's.
At the level of the E8500 or Q9450, the vga card is much more important for gaming than the cpu.
At that level, overclocking is good for bragging, but it will not net you as much increase
in FPS as a better vga card will. Today, very few games can make use of more than two cores.
Flight simulator X is an exception. It is not a trivial matter to code multi threaded programs,
and game vendors will not sell too many games that require quads to run.
I don't see this changing in the next couple of years, and then nehalem will be upon us.
Net: E8500 for the increased clock speed.
re: memory for the C2D:
Right now, DDR2 memory is king. It is MUCH less expensive than DDR3.
4gb of DDR3 costs $540.
4gb of DDR2 costs <$100.
The C2D processors are not very sensitive to memory speeds.
Real world application tests(vs. synthetic benchmarks) show
no difference in performance between DDR2 and DDR3 memory. In fact,
there is less than 2% difference between the slowest and the fastest modules.
If you are trying for record overclocks, then all bets are off, and faster is better.
In my opinion, it is unwise to build a system around DDR3 today.
You are better served by starting with 4gb of DDR2-800 memory. Eliminating
just a few hard page faults is worth it.
Pick a 4gb kit in a 2x2gb configuration. It is usually cheaper than a 4x1gb kit, and you preserve the option to go to 8gb.
ASUS and Gigabyte seem to be the favored motherboard vendors.
MY suggestion for gaming:
P35 based motherboard
4gb of ddr2-800 quality memory in a 2x2gb configuration.
9800GTX or 8800GTS-512 vga card
A quality 500-600watt psu from corsair, seasonic, or PC P&C. or a tier 1 or 2 unit from this list: http://www.xtremesystems.org/forums/showthread.php?t=10...
Onboard sound, at least to start.
"Future proofing" is quite pointless, especially with the nehalems right around the corner. You're better off just getting a cheap, reliable mobo now and upgrading to a ddr3/nehalem/pcie 2.0 later, when they actually mean something. Gigabyte Ga-p35-ds3l, asus p5k series, and abit ip35 come to mind. You can't run SLI on any intel chipset, so if you want sli, you're limited to nvidia chipsets. (Btw, are there even any nvidia boards that have both ddr2 and ddr3 compatibility?)
Don't get an 8800gtx. They are power hogs, hot, and overpriced. Get a 9800gtx, far superior.
About your cpu question, if the programs are optimized perfectly, then yes. However most of the times, applications (if they are even capable of taking advantage of more than 1 core), won't use a second core at 100% efficiency (for example, lets say you are converting a video file, in 1 minute a single core converts 50% of the file, adding another core with the same frequency may only increase the amount of the file encoded in 1 minute to 75% of the file. Despite having twice the processing power there is only a 50% increase in this program). However you can run program A on core 0 and program B on core 1 and they will both be independently running at the advertised speed.