Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What does a multi-core processor mean?

  1. Nov 4, 2008 #1
    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?
  2. jcsd
  3. Nov 6, 2008 #2


    User Avatar
    Science Advisor
    Homework Helper

    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.
  4. Nov 9, 2008 #3


    User Avatar
    Science Advisor

    With a multicore CPU you're sharing one socket across multiple cores which may mean less throughput.
  5. Nov 12, 2008 #4
    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.
  6. Nov 19, 2008 #5
    Less throughput??? :surprised 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?
  7. Nov 19, 2008 #6
    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 eachother (likely working toward the same goal) even while having their own individual global variables, heap, and other process-related data?
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook