Jump to content

CPU core question

Go to solution Solved by Glenwing,

Separating a CPU into multiple cores is basically adding redundant sections and controller logic, cache, etc.  There are many sections that serve different purposes and instead of making a giant one of each, making multiples of each one would give you what we call a multi-core CPU.  The benefit is that these cores, since each one has a complete set of everything it needs, can run calculations independently instead of dedicating the whole CPU to a single task.  Having a dual core can be similar to 2x 1.6GHz processors but it depends on the task at hand.


 


If you had your computers calculate Pi to the first 1 million digits, they would finish at the same time; however if you had them do the task twice, the dual-core would finish twice as fast (and would take no longer than doing it only once) because it can do them concurrently, while the single core would have to do them one at a time.  That's a simplified example but you get the idea.


 


The real world benefit is rarely 2x performance with 2x the cores, but somewhere inbetween, and the level of benefit depends on the type of task.  Complex programs that need a lot of CPU resources are usually programmed to split their calculations into multiple threads if they can, so that multi-core CPUs can complete the tasks faster but depending on the program that is not always possible (for example if each calculation in a series requires the results from the last calculation, that cannot be split into multiple threads so a quad-core will take just as long as a dual-core).


I've often wondered what exactly a cpu core is. Is it basically like having more than one cpu in the same block? Like I have an old single core AMD 1.6 GHz processor. If it was a dual core, would it be like having two 1.6 GHz processors? If not, then please explain why. 

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/
Share on other sites

Link to post
Share on other sites

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573310
Share on other sites

Link to post
Share on other sites

You are correct. A dual core has two processing units that work together to get stuff done faster. It was discovered that parrelelled computing is much better than non parallel. In other words 2 weak cores are better than one core twice as powerful as one of the weaker one because the two can process things in parallel.

"If you do not take your failures seriously you will continue to fail"

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573311
Share on other sites

Link to post
Share on other sites

Separating a CPU into multiple cores is basically adding redundant sections and controller logic, cache, etc.  There are many sections that serve different purposes and instead of making a giant one of each, making multiples of each one would give you what we call a multi-core CPU.  The benefit is that these cores, since each one has a complete set of everything it needs, can run calculations independently instead of dedicating the whole CPU to a single task.  Having a dual core can be similar to 2x 1.6GHz processors but it depends on the task at hand.


 


If you had your computers calculate Pi to the first 1 million digits, they would finish at the same time; however if you had them do the task twice, the dual-core would finish twice as fast (and would take no longer than doing it only once) because it can do them concurrently, while the single core would have to do them one at a time.  That's a simplified example but you get the idea.


 


The real world benefit is rarely 2x performance with 2x the cores, but somewhere inbetween, and the level of benefit depends on the type of task.  Complex programs that need a lot of CPU resources are usually programmed to split their calculations into multiple threads if they can, so that multi-core CPUs can complete the tasks faster but depending on the program that is not always possible (for example if each calculation in a series requires the results from the last calculation, that cannot be split into multiple threads so a quad-core will take just as long as a dual-core).


Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573357
Share on other sites

Link to post
Share on other sites

3.9 with 6 cores versus a 4.2 with 4

 

Clock speeds are not directly comparable. But judging a 3960x and a 3770k the 3960x it depends on the application. Assuming they have exactly the same performance per clock the higher clocked one would finish first if there were 4 threads(don't worry about hyper threading for the sake of the example) in the application but if there were 6 threads the hexicore would finish long before the quad core.

 

Edit: I thought I might add a thread is basically the number of cores an application can use.

"If you do not take your failures seriously you will continue to fail"

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573495
Share on other sites

Link to post
Share on other sites

3.9 with 6 cores versus a 4.2 with 4

 

we can look at the two specs in terms of a percentile boost:

 

a 4.2 GHz chip is about 7% faster than a 3.9 GHZ chip with the same number of cores of the same architecture

 

a 6 core chip is almost exactly 50% faster than a 4 core chip with the same speed & architecture.

 

so the FX6350 (at stock) is about 43% faster than the FX4350 (at stock)

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573504
Share on other sites

Link to post
Share on other sites

we can look at the two specs in terms of a percentile boost:

 

a 4.2 GHz chip is about 7% faster than a 3.9 GHZ chip with the same number of cores of the same architecture

 

a 6 core chip is almost exactly 50% faster than a 4 core chip with the same speed & architecture.

 

so the FX6350 (at stock) is about 43% faster than the FX4350 (at stock)

 

     I see how you got that (2 cores = half of 4 so +50%) but more cores does not make it faster. It just allows the CPU to do things at the same time. So it really depends on how many threads the application has and how evenly distributed the workload is. If a 4 core CPU were told to calculate the first million digits of pi (I really like that example now :)) six times it would calculate it 4 times at x speed then it would calculate the next to at x speed so in the end it calculated pi 6 times in 2X. The six core would calculate all six in X time because it is once per core. So in that scenario the hexicore was twice as fast as quad core.

"If you do not take your failures seriously you will continue to fail"

Link to comment
https://linustechtips.com/topic/117961-cpu-core-question/#findComment-1573546
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×