I dissagree that huge ammounts of ram is necessary to see improvements with dual processors.
As a programmer I frequently write code that runs in multiple threads. Not because I assume there are multiple processors or because I assume I have huge ammounts of memory, but because it is the best way to do something. Any ole servers in an exe run in their own process. Think about all the services you have running at the moment, each (well most) tray icon has its own process tied to it, and the list goes on. Hopefully you don't hear you machine swapping constantly now, why would you why you have multiple processors? Sure any swapping that has to happen would be desired faster, but if you machine is swapping much now, get a memory upgrade for the extra $120. If not, get another processor. Programs don't need support for multiple processors, the OS does. Most programs now will run multiple threads. Looking as the task manager, I don't have a single program running at the moment that only has 1 thread. ie ALL my programs will benefit from a second processor. Well, that is not quite true. You can set a processor affinity to a thread, and perhaps a process. But this means the programmer explicitly says they don't want to run on multiple processors. This is typical in multi media apps where to get perfect timming, the thread runs on a single CPU. However, the other threads in that MM app, and processes on the machine will be more than happy to take the other processor.
Just my 2 cents
Moohoo