• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

3ghz quad core is 12Ghz in theory?

You don't make any sense whatsoever

ok sorry for my poor english

if cpu makers as in Intel or AMD, didn't start making multi-core cpu, as in dual core, tri-core or quad core or even six core and continue producing single core cpus.

then a 12 ghz cpu would be a reasonable standard for today.

my post reflect on my absolute personal opinion
 
No worries

ok sorry for my poor english

if cpu makers as in Intel or AMD, didn't start making multi-core cpu, as in dual core, tri-core or quad core or even six core and continue producing single core cpus.

then a 12 ghz cpu would be a reasonable standard for today.

my post reflect on my absolute personal opinion

No, because chip makers are hitting physical (heat/density) limitations on the standard transistor designs of CPUs, which is why they started thrashing out cores rather than eeking out more MHz
 
No worries



No, because chip makers are hitting physical (heat/density) limitations on the standard transistor designs of CPUs, which is why they started thrashing out cores rather than eeking out more MHz

yes we understand that

but for the less intelligent few who has no clue about computers

i would have may be use the same method to explain to them that
"look the i7 2.66ghz is faster than the p4 3.8ghz"

yes it is wrong to advertise it as a 12ghz
but its a way to explain to the noobs.

would you rather sit for hours explaining density, heat bla bla bla
or just go "look the quad-core 3ghz is like a 12ghz cpu"
there job done.

this sort of crappy advertising on ebay happens on all sorts of items not just computer hardware.

technically wrong but its like a dummy language for the stupid.
 
Probably worth also noting that even the "4 cars" analogy used in this thread isn't entirely applicable as those 4 cars are independent of each other while a multi-core system is not.

You may have 4 3Ghz cores, but you only have one set of transport links. Sure chipset manufacturers double things up and do clever scheduling etc., but it is still the case that one processors call for data at a specific memory location may be different to anothers and potentially they may do so at the same time, so this has to be managed at the hardware level. They all also have to send the data down the same set of physical pathways and mostly use the same sets of cache as a shared resource.

Multi-core processing is MUCH more complicated than most people imagine. Not only are there multiple cores trying to share singular resources from the hardware perspective, as others have said you also have to program to make efficient use of them. To go back to the 4 car thing, all 4 can't be driving at the same time if we only have one driver! So as programmers we need to intelligently split up the processing work into multiple "threads" of execution. That in itself has overhead. So even in a perfect hardware world where 4 cores means 4 totally independent computing systems that you somehow have instantaneous access to from the same operating system, the simple act of work splitting, scheduling and joining answers back together inevitably means you get less than the sum of your parts.

To give you an idea, lets assume we somehow have access to 32 cores, if my program was all processed using 1 thread this is our baseline (and in theory each core would be loaded at a little over 3% each). If we then split that out to 4 threads, we would not see an equivalent decrease in processing time, rather I would expect processing time to perhaps halve (at a guess) and like so many things, the process succumbs to the law of diminishing returns, so if we split out into 32 threads, we wont be 32x faster than with 1, we would be lucky to be 16x faster. At a certain point you would even start to become slower (assuming we keep our 1:1 mapping of cores to threads) as the overheads of splitting the work up becomes larger than the speed-ups gained by doing so.

Multi-threaded and cored computing has made things so so much more complicated :)

So to sum up, no I don't think its reasonable to claim a quad core 3Ghz chip is equal to a 12Ghz chip as it is mis-selling the chips capabilities on the most fundamental level.
 
Probably worth also noting that even the "4 cars" analogy used in this thread isn't entirely applicable as those 4 cars are independent of each other while a multi-core system is not.

You may have 4 3Ghz cores, but you only have one set of transport links. Sure chipset manufacturers double things up and do clever scheduling etc., but it is still the case that one processors call for data at a specific memory location may be different to anothers and potentially they may do so at the same time, so this has to be managed at the hardware level. They all also have to send the data down the same set of physical pathways and mostly use the same sets of cache as a shared resource.

Multi-core processing is MUCH more complicated than most people imagine. Not only are there multiple cores trying to share singular resources from the hardware perspective, as others have said you also have to program to make efficient use of them. To go back to the 4 car thing, all 4 can't be driving at the same time if we only have one driver! So as programmers we need to intelligently split up the processing work into multiple "threads" of execution. That in itself has overhead. So even in a perfect hardware world where 4 cores means 4 totally independent computing systems that you somehow have instantaneous access to from the same operating system, the simple act of work splitting, scheduling and joining answers back together inevitably means you get less than the sum of your parts.

To give you an idea, lets assume we somehow have access to 32 cores, if my program was all processed using 1 thread this is our baseline (and in theory each core would be loaded at a little over 3% each). If we then split that out to 4 threads, we would not see an equivalent decrease in processing time, rather I would expect processing time to perhaps halve (at a guess) and like so many things, the process succumbs to the law of diminishing returns, so if we split out into 32 threads, we wont be 32x faster than with 1, we would be lucky to be 16x faster. At a certain point you would even start to become slower (assuming we keep our 1:1 mapping of cores to threads) as the overheads of splitting the work up becomes larger than the speed-ups gained by doing so.

Multi-threaded and cored computing has made things so so much more complicated :)

So to sum up, no I don't think its reasonable to claim a quad core 3Ghz chip is equal to a 12Ghz chip as it is mis-selling the chips capabilities on the most fundamental level.

Like I said it pretty much depends what your doing in the code. If a thread is running an in-memory calculation for most of the time and dumping the data back to the main thread after some time you will get pretty much the full speed. If your synching data back to the main thread on a regular basis you will induce waits while you pass the data back. If you making IO calls then again this will cause the thread to wait. All threads at some point will usually synch back to the main thread.

Writing multithreaded software can be very complicated and is a pain to debug because of the asynchronous nature of threads. Apps that might work fine on 4 cores can suddenly fall over with 8 cores.

All the software I write is multithreaded with some apps using 50+ threads.
 
Like I said it pretty much depends what your doing in the code. If a thread is running an in-memory calculation for most of the time and dumping the data back to the main thread after some time you will get pretty much the full speed. If your synching data back to the main thread on a regular basis you will induce waits while you pass the data back. If you making IO calls then again this will cause the thread to wait. All threads at some point will usually synch back to the main thread.

Writing multithreaded software can be very complicated and is a pain to debug because of the asynchronous nature of threads. Apps that might work fine on 4 cores can suddenly fall over with 8 cores.

All the software I write is multithreaded with some apps using 50+ threads.

That's another point actually, multi-threaded programming to one developer isn't necessarily the same as for another. Personally the majority of my multi-threaded code is for scientific purposes, so generally I am splitting up the work of one very long running loop (by long I'm talking hours, maybe days)

If you are developing software that will be doing lots of little calculation tasks, then your type of threading model becomes appropriate, spawning many and allowing the OS to handle their distribution.

Both methods require different thinking to get the balance right.

To sum up, multi-core processors cannot be considered as simply being the sum of their parts, there is just too much else at work.
 
You get similar performance to 12Ghz but it's not 12Ghz since 12Ghz is a frequency.

To use a car analogy it's much the same as how owning 4 Bugatti Veyron's doesn't give you a 1000mph top speed, but you can transport the same amount of stuff in the same amount of time as a single 1000mph Veyron (if such a thing existed).

We really need a new benchmark for measuring CPU performance because Mhz is meaningless anyway, overall FLOPS or something like that would be better.
 
We really need a new benchmark for measuring CPU performance because Mhz is meaningless anyway, overall FLOPS or something like that would be better.

Mhz is pretty meaningless as you say. Compare P4D, and Core 2 Duo for example. Both dual core processors, both quad pumped FSB, both rely on northbridge for memory controller, and if you ignore Smithfield P4D, the Presler is even based on the same 65nm technology.

However the IPC on the Core2 is considerably better than on P4D, to the extent that a 1.83Ghz E6300 Core 2 duo was easily a match for a 3.0Ghz P4D "Presler".

Why.. Because Core2 duo can execute up to 4 (and rarely 5) instructions in any given clock tick, and handles 128bit SSE natively in a single clock tick, while the P4 was bearly able to keep 2-3 instructions per clock with most applications, and SSE instructions were broken into 2x64bit commands and executed over several clock ticks.

Trouble with FLOPS, MIPS, and various other ways of measureing cpu power, most have generally been abused, or manipulated. By using specific compilers and optimizations its possible to get vastly different results from the currently recognised benchmarking suites such as specint, and specfp.

Mhz, flops, specint etc, they can all give you a feeling for how 1 processor from a family of chips will perform compared to another processor from the same family (for example i7 920 -> i7 950), but to compare i7 to AMD.. well to be honest, personal benchmarking of your normally used applications is the best way inho, otherwise find a web/review site you trust and follow that :)
 
Hi all,

A friend of mine has stated that because he has got himself a quad core processor running at 3 Ghz he now in theory has a 12 ghz o processing power, Is this correct? i was under the impression that he still only has 3Ghz of processing power but can run 4 processing threads at 3Ghz?

Thats like have a shot of 40% Vol whisky and saying its 80% Vol because you had a double instead of a single ;)
 
Back
Top Bottom