Helping people with computers... one answer at a time.
The way dual core processors work is quite complex. They allow the computer to do two things at a time, but that may only help for programs that are written multi-threaded.
Is it possible for a dual core processor to run a program that specifies a faster single core? I've read your article on how some programs are designed to work with single core processors and some with more. I'm just not sure which is the case here. In particular, I'm wondering whether or not I'll be able to run a game which is asking for a 2.6 GHz processor with no core specifications (so presumably single) on a laptop with a 2.3 GHz dual core. That's not a great difference. I'm also wondering how much a dual core might be able to compensate for even greater differences, if it can at all. I'm not well versed in the working of computer hardware.
In this excerpt from Answercast #22, I walk through the process that multi-threaded programs use to take advantage of dual cores and one way to test if it's working.
There's a fundamental misconception here that I want to try and clear up. It's a little complex, but I'll see if I can do it:
Programs aren't necessarily written for a specific number of cores.
Most programs aren't even aware of how many cores are present on a machine.
They're either written multi-threaded or not.
If they are written multi-threaded then, when they are on a processor that has multiple cores, they may be able to take advantage of more than one core.
Windows, even on single processors, mimics the presence of multiple cores. It fakes out the software; it makes it look like there are more cores on the machine than there really are.
That's what allows multi-threaded programs to run in Windows even on a single core processor.
When you've got dual cores then, of course, two things can happen at once. If the software is written to take advantage of multiple threads, then the software can, of course, do that.
Now, the question is if you have a program that is written to use multiple cores and it specifies you need a 2.6GHz processor, will a multiple core 2.3 GHz dual core processor work?
Maybe. I honestly don't know.
If the program is not written to run multiple threads and it specifies a 2.6 GHz processor, will a 2.3 GHz dual core help?
Probably not. A single-threaded program is only going to use one core and that one core will be running at a speed that is lower than the 2.6 GHz than it seems to be requiring.
The problem is we don't know how this software is written.
They don't specify the number of cores because literally programs honestly don't care.
The difference is: has the program been written in a multi-threaded fashion? It's a fundamental architecture decision when software gets written. Unless we know that (and there really is no way to know that), there's no way to know whether or not a dual core processor will help.
You can't necessarily say that software that runs well on a single processor with 2.6 GHz will run okay on a multiple processor with fewer GHz. There's just no general rule of thumb. It's much more complex than that.
So, in short, the only real answer I can give you is (if you want to, I don't know if there's expense involved), but give it a try. See what happens. If it works for you - great! Then, you can probably assume that the process is written using dual cores.
In fact, run Process Explorer and monitor the CPU usage. If, when the program is running full tilt, you're only using 50% of the CPU then you know that the software is written to use only one core; because one core on a dual core processor represents 50% of the available CPU usage.
So that's one way to find out how that program might be written. But, of
course, that's after the fact. That's after you've installed it and are giving
it a try on your 2.3 GHz dual core machine.
Next from Answercast 22- How do I login to my old Hotmail account after I create a new one?
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.