OK, so someone tell this aging guy about the difference between the chips I’m used to, which appear to be singular and this whole ‘dual core’ chip thing. Does having a dual core 2.1Mhz mean just a 2.1Mhz processor or what? And what’s the advantage of such?
Dual core means that there’s actually 2 processors in the package. The advantage is that software that’s written to take advantage of having multiple processors can run up to twice as fast.
By the way, the chipset is totally different. It’s not the CPU.
Edit: And unless we’re talking about 1980’s era processors, I think that you meant GHz, not Mhz.
Suppose you have two threads on a single core CPU, with the threads executing in “parallel.” Aside from some hyperthreading nonsense, which provides only a 5% increase in many real world uses, these threads are not really executed in parallel. They compete for processor usage in a very tight loop.
Now suppose you had two computers, and put one thread on each. But suppose that these threads needed to communicate with eachother. That is, the processing done on one computer depending on the processing done by the other computer. In that situation you would want to have a very fast, low-latency interconnect between the two computers in order feed the processors. In reality this is a very tough problem - you can use ethernet, or myrinet, or some other kind of proprietary fast interconnect, but its always going to be slow.
Now suppose you had two cores on the same chip, and you are running two threads, one on each core. Because the cores are directly connected to eachother by a very very high speed bus, its more realistic to keep both cores fed, without having one core wait for the other.
Now suppose you had n cores and n threads. This is really the situation we find ourselves in with the state of the art chips, and the problem again is how to feed the cores. We’ve essentially solved the hardware problem and don’t yet know how to write the software level communication layer to keep all these tightly linked cores fed.
Mock at will, my friend. Mock at will. I find myself befuddled.
So when something is listed as 2.1Ghz Dual Core does that mean it can handle just 2.1Ghz requirement software or are both chips running 2.1Ghz?
Each core runs at the same frequency. Its not that reliable of a measure - the industry has been moving away from it. I’ve seen intel CPUs overclocked to 10GHz, but its not that amazing of an improvement.
So with both chips running 2.1 would that lead to 4.2 performance or is it two 1.05 chips combining for the 2.1?
It’s not that easy. Basically, the two chips will combine to give you the equivalent of having one chip somewhere between 2.1 and 4.2*. What the performance will end up being will depend on how well the software you run can use the two chips, and what kind of work you’re doing(if one chip will spend a lot of time waiting for the hard drive, changing it so that two chips are waiting on the hard drive won’t improve things all that much).
- With the big caveat that clock speed, whatever Intel’s marketing department might say, isn’t a complete measure of computer performance. But for the purposes of this discussion, it doesn’t really matter.
My brand new not totally horrible work computer in Dec. 95 had a 75 Mhz processor so we’re not quite going back to the 80’s.
Yeah, but 2 MHz?
Hahhahaha… sorry about that, you’re right. :smack:
I do appreciate the extra info as well. Thanks.
Here’s the way it was explained to me. Imagine that the speed (3.0 Ghz) is the speed limit on a road.
A single core = one lane road
Dual core = two lane road
etc.
Now, you have information going both ways through the processor (not exactly true, but bear with me). The info can go at speed of the processor, but when you have info going both ways and you have a one lane road, you get a burst going one way at 3 ghz, then a burst the other way, the more the first way, etc. So, overall, the speed gets bogged down.
Now, add a lane (dual core), and information can go at top speed, uninterrupted, in both directions.
So, the processing can never be faster than the processor speed, it can seem twice as fast due to separate threads running in parrallel.
It’s not limited to dual core either. They make quad cores (4 actual chips) too
Says the person who read the thread, lolz.
For real world usage, you might simplify it into saying that you can run two processes at 100% capacity on one chip, with the caveat that the process only requires the resources available in one processor.
That is to say, you could - for instance - render a film in a program like Final Cut Pro while playing a computer game simultaneously. That’s the idea, at least - in practice, most programs and applications are not designed that efficiently.
While multiple cores won’t - in and of themselves - run a process faster than a single core could, another core can be dedicated to maintaining peripheral processes (Windows, keyboard input, sound output, anti-virus, et cetera) and thus freeing up resources for the main process. And, in that way, lead to a smoother and more stable experience since your single core wouldn’t have to juggle multiple tasks and therefore is far less likely to chug and slow down.
That is as far as I have understood the problem. I am neither educated nor a computer expert.
Wouldn’t that be a more appropriate metaphor for half duplex/full duplex networking? It seems a little stretched in this context.
Perhaps a better way to visualise it is like this: each core is a worker. Now if you have several tasks that need to be done, you can have
-
One worker, who does a bit of one, then drops it and does a bit of another, and by switching very fast between tasks appears to be doing more than one thing at once.
-
More than one worker, which actually allows different things to be done at the same time.
Clearly, the more workers you have, the more things get done in the same time, but if workers need to wait for each other and communicate, then their overall efficiency will drop. This is why you get a performance benefit with a dual-core processor, but not necessarily twice the performance, unless your software is written to always keep two cores constantly busy. When you deal with more and more cores, the problems become increasingly complex. In fact, for some applications, increasing the number of cores can actually hurt performance, as processors end up fighting each other for resources.
In a 2.1 GHz dual core, both chips are running at 2.1 GHz and the processor will be able to handle software that requires at least a 2.1 GHz processor. Software requirements are usually listed only for single core processors, AFAIK. If a dual or quad-core processor is an absolute requirement, I’d expect to see that listed specifically.