If you have a OEM unit/mobo goto part 2.
If you have a custom built PC, read on.
Custom mobos usally have the best support for quad cores. If your mobo supports the Extreme line of quad cores (QX6700, QX6800, etc)and you can find one for under 29 bucks, get them. If your mobo does not support Extremes, the best quad is the Q9650. It has 12MB of cache and and runs at 3Ghz. It can be easily overclocked if your mobo supports it.
The most commonly supported of the quad cores is the Q6600. The Q6600 has two E6600 dies in one package and can be found for under 10 bucks on ebay with shipping.
So to round off this section,
QX6700- Fast, unlocked, common- mobo must support it.
Q9650- Fastest non-Extreme quad core you can buy.
Q6600-Is much more common, has the most compatitbility, can be found for the price of a dinner.
Part 2
OEM systems can be limited in terms of upgradability. Most OEM mobos support the q6600 and the Q9650, but not the Extreme quads. Some OEM mobos don't even support quad cores so the E8600 would be the best of the dual cores. OEM units also have crap cooling and PSUs, so if your cooler is tiny and your case has no fans or just a outtake fan, your CPU would thermal throttle, slowing the performance of your system.
So to round off this section,
Q6600-most OEM units support it
Q9650-newer than q6600-some OEM units will not post
E8600-dual core- cheap
Sorry-I can't help you with your GPU without your exact mobo/PSU/Case