Question: I am planning on getting a new CPU and am looking at a quad core i5.

The reason for the quad-core is that I generally multi-task a lot for example running Visual Studio, Eclipse Aptana, Photoshop, Lightroom and lots of Chrome browsers all at once.

1. I am wondering if it is possible to allocate certain processes such as Visual Studio permanently to use a particular core, and is there a tool better than Windows Task Manager to achieve this?
2. Will this give me a snappier multi-tasking experience or will I not notice the effects?
3. I am also planning on moving to 8GB from 3GB as I experience severe thrashing after a couple hours of web development with multiple IDE's open and using Chrome's developer tools. Will the additional RAM be enough, or do I need a faster CPU? (currently running Core 2 Duo E6750 @ 2.66ghz)

Answer: 
Generally you will not notice the effects of putting particular processes on particular cores as Windows is generally pretty good at scheduling items between cores, especially on Windows 7 which was designed with this kind of thing in mind.

I have found that in general a busy task will spend most (generally >60% for normal apps and >95% for single threaded games) of it's time on one core and Windows will schedule other tasks on other cores as things get busier so I wouldn't worry about it. I seem to remember reading that windows 7 is able to tell which cores are "preferred" in a system, so on an Intel system that uses their [Turbo Boost](http://www.intel.com/technology/turboboost/) feature (which uses the activity on the first core to tell if it needs to boost) and Hyperthreading then Windows will tend to schedule single threaded tasks on the first core and then multithreaded tasks will preferentially be assigned to the "real" cores before the hyperthreaded "virtual" cores. I've seen this at work on my i7 (quad-core, 8 hyperthreaded cores) and it works pretty well with games almost exclusively using the first core and then moderate use on the alternate "real" cores.

The only time that I find specifying the affinity to be useful is when watching video using certain media players that are multiprocessor friendly but seem to have timing issues. [Mediaplayer Classic Hometheater Edition](http://mpc-hc.sourceforge.net/) seems to "jump" quite a lot when you start skipping forward in a video, presumably because it is using multiple threads to decode and they aren't well synchronised across cores and in that case setting it to only use one cpu stops the jumping.

In case you do need to change CPU affinity there are a couple of tools:

[Runfirst](http://www.activeplus.com/us/freeware/runfirst/) helps to fix older programs by making sure they only run on the first cpu available in the system.

[This review](http://www.tomshardware.com/reviews/bang-dual-processing-buck,815.html) on Toms Hardware has a tool that will automatically reassign task affinities for you, but the link they have seems to be broken, and it appears to be a bit difficult to find these days. I think this program has to be kept running all the time you want it to be assigning affinities. Looks like you might be able to get it [here](http://www.app-stick.com/appDetail.php?appid=taskassign)

In general though I do not think you will see any real benefit to manually assigning affinities and I think the practise has pretty much died out as software has gotten better.

I would honestly expect that 8GB of ram would be more than enough to suit your needs, but I've no real experience using the tools you are using. I can say that on a 6GB system I have never had the system feel slow due to hard drive thrashing when I've been running multiple virtual machines and an IDE (eclipse) running...
Jamie is correct BUT, there are some mainstream programs that run much better on a single thread like AutoCAD and I do assign it to a single core and it runs faster with less lags. That being said there are other components of AutoCAd such as printing that will then seem a bit slower doing this as those processes may lend themselves to multi-core functionality. I am sorry to say that the software is not well optimized for multi-core systems still!!!