What is meant by multi-core CPUs

Anusha

Member
Jun 13, 2006
25,864
5
0
From what I see, there is a lot of confusion among people about what multicore CPUs mean.

All the desktop processors released by Intel and AMD up to 2005 were single core CPUs. However there were multi-processor systems before that; that technology is somewhat older (going back to Pentium 2 days).

What is a core?

Core is the actual processing unit of the CPU. It includes the Arithmatic and Logic Unit (ALU; which does pretty much all the operations), a lot of registers (which are super fast memory units, going up to a maximum of 8 bytes per register for a 64bit processor) and higher level cache (L1 most of the times).

So a core is pretty much like a complete processor.

When multiple cores are made in one single semeconductor die + lower level cache like L2 and L3, it is a multi-core CPU. (You can have separate dies and combine them from outside the dies, and this is how the first Quad Cores were made; they combined two Core 2 Duo dies and make a Quad Core; not putting all 4 cores into one die)

What is the difference between Multi-core and Multi-processor systems?

In Multi-core, it is one CPU. In Multi-Processor, it is many CPUs. There is resource sharing in a multi-core system. These resources are lower level cache (L2 or L3), Memory Bus and Memory too! In a Multi-Processor system, it is like two computers. Each processor has its own memory buses and its own memory.

So what is efficient? Multi-core! Why? Because it shares resources. (Weird how AMD's dual-core systems is faster than dual-processor system; maybe it has something to do with the Integrated Memory Controller and Super fast Hypertransport Bus)

Another important thing is that software developers consider multi-processor systems as multiple PCs! For example, you can install Windows XP Pro only up to a dual-processor system, but you can install it on a 1000-core system and more. The license for Windows XP Pro edition states that you can't install it on a system with more than 2 processors.

How do they differ from a single-core CPU when operating?

Processors execute instructions sequentially. They can't process anything simultaneously. You may feel like many things are happening at the same time, when you listen to music and browse the internet, but it doesn't. The CPU switches between the processes rapidly to serve them. How much it spends on one process is decided by the Operating System. Scheduling, which is the term used for this CPU resource allocation is an advanced topic that comes under Operating systems.

Anyway...like I said, instructions are executed sequentially, not parallely.

How can you make a new CPU faster?
  1. You can increase the clock speed
  2. You can increase number of intructions executed per clock
  3. You can separate independent portions of a process, and execute them on separate resources, in this case multiple cores or processors

Increasing the clock speed is not easy. It increases the power requirements, and the transistor switching times cannot be lowered easily. New researches need to be done on that. New transistors have to be developed with fast switching without sacrificing power.

Even if you increase the instructions per clock rate, it is still executing sequentially. It is efficient that increasing the clock speed because you get to keep the processor power consumption (which is predominently a function of voltage and clock speed) at a low level while getting the same performance.

Multi-core is the true winner, because you can design a system with very low clock speed, and which can shut down all the cores except one, to lower the power consumption. And you get true parallalism. Higher the parallelism, higher the responsiveness of the system, because there is enough resources left to do many things.

But remember, the software developers have a big role to play, because they have to design them to work in multiple threads, to get the advantage of SMT (Simutaneous Multi-Threading)

Many-core vs Multi-core

What? Is that different? Yeah! wtf! :rofl:

Multi-core means that the cores are homogeneous (are exactly same). Many cores means the cores can be different. For example, CPU + GPU core system is a many core system. They are not called multicores.

Hyperthreading vs Multi-core

Hyperthreading is something Intel brought because of their vastly inferior netburst architecture on Pentium 4, to put some of the wasted CPU cycles for something useful. It achieves multithreading by duplication of certain units inside the CPU, but not the ALU as far as I know.

The operating system sees them as logical processors, not physical processors as in Multicore or Mutiprocessor systems. It doesn't really matter to the Operating System. The scheduling is done similar to a multicore system. It does speed up, because there is some degree of parallelism, but not as much as a multicore or multiprocessor system. Better than nothing :P
 
Last edited:

fazaal24

Member
Nov 10, 2006
33,026
18
0
Carbon Canyon Dehiwala
Intresting Article..(Now im little bit intrested in these stuff:P)...Can u expalin what is overclocking and how can i do that to my PC in simple english coz i checked some articles, and did not understand a thing:lol:
 

Anusha

Member
Jun 13, 2006
25,864
5
0
fallenzeraphine said:
great Read buddy and very thorough good work, keep it going
Edit: Corrected some mistakes, and added few new things. I think it is well polished now. :D
 

Anusha

Member
Jun 13, 2006
25,864
5
0
fazaal24 said:
Intresting Article..(Now im little bit intrested in these stuff:P)...Can u expalin what is overclocking and how can i do that to my PC in simple english coz i checked some articles, and did not understand a thing:lol:
Maybe someone else can do it...I'm fed up with overclocking! :lol:
 

fallenzeraphine

Active member
  • Jan 29, 2008
    1,385
    9
    38
    fazaal24 said:
    Intresting Article..(Now im little bit intrested in these stuff:P)...Can u expalin what is overclocking and how can i do that to my PC in simple english coz i checked some articles, and did not understand a thing:lol:

    overclocking is very system specific and a general guide wont do u any good, but ill post a article abt this subject as simple as i can lool, or Anusha might do it if he got the time all the same,
     

    fazaal24

    Member
    Nov 10, 2006
    33,026
    18
    0
    Carbon Canyon Dehiwala
    fallenzeraphine said:
    overclocking is very system specific and a general guide wont do u any good, but ill post a article abt this subject as simple as i can lool, or Anusha might do it if he got the time all the same,

    Wont do u any good?then for what the hell am i asking it for:lol:

    Anusha is fed up of it...:rofl:
     

    heshan123

    Member
    Jan 12, 2007
    3,422
    3
    0
    40
    SrI lAnKa
    fallenzeraphine said:
    :oo: he posted a nice article and all u can think abt is his avatar
    hehe. True point. Well the thing is i know this guy. So dont worry about what I say. And I already have a pretty good idea about most of the articles he would post.
     

    fallenzeraphine

    Active member
  • Jan 29, 2008
    1,385
    9
    38
    fazaal24 said:
    Wont do u any good?then for what the hell am i asking it for:lol:

    Anusha is fed up of it...:rofl:
    cuz there are a million general OC guides on the on internet and u said ur self u dont understand them,:oo:
     
    Last edited:

    cha_sl

    Well-known member
  • Dec 2, 2007
    4,069
    38
    48
    43
    Colombo
    i alrdy decided to move for a dual core, money is the main barrier, not the semi conductors.. he hee,, nice article,, thanks..
     

    zCexVe

    Active member
  • Sep 12, 2006
    8,550
    22
    38
    Where I'm now
    The last thing I want is a OC article.Man everybody is writing articles for OCing these days.Its a lie you if you say you cant find a one according your taste.:D