What does a multi-core processor mean?

  • Context: Calculators 
  • Thread starter Thread starter michinobu
  • Start date Start date
  • Tags Tags
    Mean Processor
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 16K views
michinobu
Messages
53
Reaction score
0
I've heard it compared to, over-and-over again, stated by people that having a dual-core processor is the same as having two processors and the same as the cores increase. But, I doubt this. Besides the obvious cache issue, how different is a 2.0 dual-core CPU from having two 1.0 uni-core CPU's?
 
Physics news on Phys.org
michinobu said:
I've heard it compared to, over-and-over again, stated by people that having a dual-core processor is the same as having two processors and the same as the cores increase. But, I doubt this. Besides the obvious cache issue, how different is a 2.0 dual-core CPU from having two 1.0 uni-core CPU's?

Some multicore processors have shared caches, some have different caches for each core.

Aside from cache, the main difference is that two cores can pass information between themselves faster than two independent processors could.
 
Less throughput...

With several sockets, you'd have more throughput IF each processor had its own RAM, which isn't generally the case in PC nor servers.

Few servers have been built with one RAM per processor. And then, communication between them needs special channels. Also, Windows isn't optimised for this architecture (but other OS certainly are!). Newer Windows (Server 2k8 I think) are designed for it.
 
Enthalpy said:
Less throughput...

With several sockets, you'd have more throughput IF each processor had its own RAM, which isn't generally the case in PC nor servers.

Few servers have been built with one RAM per processor. And then, communication between them needs special channels. Also, Windows isn't optimised for this architecture (but other OS certainly are!). Newer Windows (Server 2k8 I think) are designed for it.

Less throughput? Are you sure? I'm sure there's always room for another processor, especially when concerning servers. If nothing else, one single processor can do all the scheduling while other processors can provide whatever individual service they are meant to do.

BUT, this isn't what I was asking about. I am not talking about actual multiple, stand-alone processors, but rather those multicore processors. What's the difference between those and the other things?
 
CRGreathouse said:
Some multicore processors have shared caches, some have different caches for each core.

Aside from cache, the main difference is that two cores can pass information between themselves faster than two independent processors could.

So, it sounds more like it's ideal for multi-threading since threads oftentimes communicate with each other within the same process? If that is the case, how does this differ from Hyperthreading? I imagine that that a core is more closer to a stand-alone processor than a virtual processor implemented in a Hyperthreaded cpu. To what extent do they differ?

Does this improve throughput with two complete processes which communicate with each other (likely working toward the same goal) even while having their own individual global variables, heap, and other process-related data?