Sign in with
Sign up | Sign in
Your question
Closed

Basic multi-core CPU architecture question

Last response: in CPUs
Share
November 14, 2010 3:41:27 PM

Hi

While engaging in discussion with my tech-noob friends, I often hear them saying, "wow, a 3.0 GHz dual core, that's 6 Ghz of processing power", and I correct them by saying that the benefits of a 3 ghz dual core exceed those of a single-core 6 Ghz.

I know that one benefit of a multi-core CPU is the ability to crunch 2-4 numbers simultaneously opposed to one number at a time for single-cores, resulting in true multi-tasking as opposed to priority lists.

But what stumped me was ,

'Can a 3 GHz dual core handle an application, that would have required 6 GHz of processing power in a single core processor ? Assume the application has been optimized for any number of processing cores.'

Initially, what I used to think was that it can't be done.

I used to think along the lines that you need an Einstein to work out a difficult program, four retards [Apologies if that offends anyone] can't do that.

But on thinking, I realised that computers can't solve problems that required intelligence. All they do is follow algorithms anyone could do, but they are just too tedious to be done by a human.

What I'm saying is that, what I think is that

One clock cycle does equal amount of work in any processor, be it ENIAC or a single core of a i7 965. What makes modern processors fast is that they complete more cycles in a given time, or lately, multiple cycles simultaneously, as in the case of multiple cores.

Is my line of thought correct ?

So if I am correct, that would mean, the advantages of a 3 GHz Dual Core over a 6 GHz single core are :-

  • Less heat
  • True multi-tasking

    Is that all ?

    PS : I also heard my Physics teacher say that new types of transistors were developed for multi-cores. Can the modification be explained to someone who has just the slighest idea about pnp and npn transistors, like me ?

    Thanks.
    a b à CPUs
    November 14, 2010 4:12:40 PM

    As far as your line of thought, it is actually incorrect. A single clock differs on each architecture. Some processors can actually do more than 1 instruction per clock cycle. A single clock on an intel pentium II is going to do a lot less work than on the very complicated Core i7.

    Heat is a serious issue when making Transistors run at that frequency, its nigh on impossible. A 5.2ghz processor has been created by IBM with modified transistors that generate less waste heat per clock cycle.

    Multitasking allows CPUs to do a lot more per clock cycle, and parralel computing is something that single cores cannot do, which is a step fowards in itself.

    At the end of the day, each core could be clocked at 6ghz anyway, if a single core can then so can a dual or quad, its a simple case of heat dissapation.

    As far as I can see through previous research, they CANNOT make single cores faster than Dual or quads anymore, due to restraints of heat.

    Research on moores law can be very useful for you, transistors made of different materials can yeild completely different results per clock cycle, allowing for modifications of a core architecture not normally available to bog standard transistors.

    Becoming aware of the difference between manufacturing processes can help too, were currently looking at 22nm process, allowing for more transistors to be put on one die. These transistors are no less powerful than those on a 90nm process, infact they tend to be higher quality and they can be moulded to allow again modifications not normally possible, such as on die graphics etc.

    Im not much of a physist but I am clued up with manufacturing processes of CPUs.

    Hope this helps.


    November 14, 2010 9:29:31 PM

    Thanks deadjon - nice to learn somthing new about cpus,
    Dave
    Related resources
    a b à CPUs
    November 14, 2010 11:13:41 PM

    You should probably think of each CPU as an Einstein, the 6ghz is just an Einstein that works out his problems twice as fast as the 3ghz Einstein.

    When you have completely different architectures, though, that will make Ghz equal totally different amounts of work. Even if you turned a core i7 into a single core at 3ghz it would run circles around a 3ghz Pentium 4. This is mostly due to optimizations that that allow the same transistors to work instead of sitting idle.

    Multitasking is different than what you're trying to say. You can multitask with a Single core processor, it's just that the threads aren't running at the same time on the processor, one is killed before the next one starts(except on a Core i7, due to hyperthreading, 2 threads can be executed at a time per core).

    Parallelization is using multiple cores to execute independent threads. Which is basically what you're trying to say. This would be close to a doubling of performance when you move from a single to dual core, but since the cores share their caches(L3 cache and RAM) it won't translate to double the performance.

    Less Heat is one advantage of a dual core, and the fact that processors can't get any faster due to a Physics wall about how transistors work. Even though Silicon can withstand 100C usually processors become unstable even before that, because they aren't supplied enough voltage. Pumping more voltage through a processor can kill it if it's too high(only so many electrons can go through a pipe at once before it starts to break). Leakage is the main issue when you start pushing the volts through, which is why IBM was able to reach 5.2ghz with their processor(they had low leakage parts).

    Best solution

    November 15, 2010 10:29:55 AM
    Share

    Performance and throughput are 2 different things.

    Performance is generally thought of as "how fast can I do a task" and this is measured in clock speed. (there are some efficiency/pipeline/architecture things above that I am not going to bother to get into).

    Throughput is generally "how much stuff can I move from point A to point B in a certain amount of time."

    Think of unloading groceries. If you have one bag, you'd rather have one hand and be fast and run from the car to the kitchen. But if you have multiple bags you'd rather be able to use two hands per trip, even if you have to run a little slower. As a matter of fact, in a perfectly efficient task, you would have to be able to run 2X the speed if you only had one hand.

    If the slower guy with 2 hands could run at 60% of the speed of the one handed guy (1.8GHz vs. 3GHz) he's actually finish faster.
    a b à CPUs
    November 15, 2010 11:36:09 AM

    It's entirely dependent on the code you are running. Some operations can benefit from multiple threads. Some cannot. It's like asking 9 women to make a baby in 1 month. Just adding more workers doesn't necessarily make the work go faster.

    So, if it comes down to it, a single processor running at 6 Ghz is by far preferable to 2 running at 3 Ghz, just because a lot of code is not optimized for multiple processors.
    November 15, 2010 1:06:14 PM

    jf-amd said:
    Performance and throughput are 2 different things.

    Performance is generally thought of as "how fast can I do a task" and this is measured in clock speed. (there are some efficiency/pipeline/architecture things above that I am not going to bother to get into).

    Throughput is generally "how much stuff can I move from point A to point B in a certain amount of time."

    Think of unloading groceries. If you have one bag, you'd rather have one hand and be fast and run from the car to the kitchen. But if you have multiple bags you'd rather be able to use two hands per trip, even if you have to run a little slower. As a matter of fact, in a perfectly efficient task, you would have to be able to run 2X the speed if you only had one hand.

    If the slower guy with 2 hands could run at 60% of the speed of the one handed guy (1.8GHz vs. 3GHz) he's actually finish faster.


    Thanks. You hit the exactly right spot [Along with others]. I was assuming that throughput is same for all processors.

    So why isn't some unit of throughput available in tech specs or why isn't it used to rate processors ? Cores cache and clock are the only things I see being used.

    Or is it that all architectures of a generation commercially used are more or less equally advanced and the difference in throughput between different processors does not matter much ?

    Or is it that throughput is an inherent property of an architecture, and hence, can't be expressed in numbers ? So sites sometimes rate some architectures better than the other ?

    Quote:

    Multitasking is different than what you're trying to say. You can multitask with a Single core processor, it's just that the threads aren't running at the same time on the processor, one is killed before the next one starts(except on a Core i7, due to hyperthreading, 2 threads can be executed at a time per core).


    Lol, trust me, if anybody would know that, it'd be me. I've been running an AMD Athlon 2400+ all these years.

    I guess I didn't explain what I knew about these well. What I was saying was that single cores manage multi-tasking by prioritizing different processes, while multi-cores can actually process multiple processes at the same time. Thanks for that reply.

    Quote:
    As far as your line of thought, it is actually incorrect. A single clock differs on each architecture. Some processors can actually do more than 1 instruction per clock cycle. A single clock on an intel pentium II is going to do a lot less work than on the very complicated Core i7.........

    .........Im not much of a physist but I am clued up with manufacturing processes of CPUs.

    Hope this helps.



    It did, actually. Thanks for the quick reply.
    November 22, 2010 2:58:33 AM

    Best answer selected by kkiddu.
    a b à CPUs
    November 22, 2010 10:26:52 AM

    This topic has been closed by Mousemonkey
    !