Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any architectural disadvantage in a triple core processor compared to a dual or quad core? For example, does a triple core imply some architectural dissymetry that impacts performance?

P.S. Part of the context of my question is I'm considering buying a machine based around the Phenom X3 which seems suspiciously good value.

share|improve this question
Rephrased properly (to be about programming on 3 cores), this might get some interesting answers at Stack Overflow. – benzado Jan 19 '10 at 1:47
Yes, it's true that there are potentially some implications from a programming point of view (there are some divide-and-conquer algorithms that tend to make two-way splits). As a programmer myself, I was interested in hearing the arguments from the point of view of the hardware. – Neil Coffey Jan 19 '10 at 1:55
up vote 2 down vote accepted

My first (cynical) thought was that these may be simply 4-core processors with a faulty core.

And sure enough, at the Hot Hardware link provided by idigas, the first comment says the same thing and the image of the die strongly suggests 4 cores.

Of course, they could have used that image because it was handy.

We can't underestimate the attraction to AMD (and others) of selling a processor which is mostly functional.

share|improve this answer
I remember when HDD's were that way ... different capacities according to what made it out of manufacturing process ... 118Mb disc was actually 124Mb. – Rook Jan 19 '10 at 1:34
Yes, with a list of bad sectors to avoid. – pavium Jan 19 '10 at 1:35
Yes, but they were somehow factory marked. You didn't see them in normal usage (at home/work ...). What I mean you couldn't access them easily ... 'twas a long time ago, I don't remember the details. – Rook Jan 19 '10 at 1:42

Programmers are taught to do try and write code that is multithreaded in multiples of two, since servers had two to four physical CPUs. Over time, they progressed to duals and quads, etc. Everything up to now has been in multiples of two.

There isn't necessarily a performance penalty for a triple core, it's just that a lot of current code is optimized to use cores that are a multiple of two. A triple core's performance should be no worse than a dual core of the same spec if the code is properly written. Overall system performance will be better as there are additional cores to handlw background tasks.

share|improve this answer
We aren't simply "taught" to work with multiples of two; it's a natural product of a system based on electrical signals with only two states: on and off, 1 and 0, binary. – benzado Jan 19 '10 at 1:45
Not sure what you're getting at there. You can certainly represent odd numbers in binary, and 99% of code being written is abstracted from the 1's and 0's of the circuitry that it runs on. I'm talking about threads being spawned in multiples of two, APIs being optimized for processing by CPUs with even numbered cores. Compilers that compile code that is more friendly for an even number of cores, etc. – MDMarra Jan 19 '10 at 2:00
the statement "Programmers are taught to do try and write code that is multithreaded in multiples of two" is inaccurate, to say the least. Other words come to mind, too.Multithreading as programming principle is not subject to multiples of something. You start as many threads as required and/or useful. – Florenz Kley Aug 18 '11 at 9:45

I'd say it is a matter of following some guidelines, and history ... them being rare ... but they do exist: AMD Triple Core Phenoms Announded

Personally, I prefer even to odd numbers ... don't know why, just do. Symmetry is beautiful :)

share|improve this answer
Binary pairs 'n' all, eh? :) – Ƭᴇcʜιᴇ007 Jan 19 '10 at 1:26
yep, this practice going back a long time, back to the venerable 486SX, which was in fact a DX with a faulty (disabled) FPU :) – Molly7244 Jan 19 '10 at 1:39
but the 386 SX/DX was different, the former only had a 16/24/32-bit bus, while the latter had a full 32-bit bus :) – Molly7244 Jan 19 '10 at 2:26
If it wasn't for 'failed' CPUs marked at lower clock rates, there'd be way fewer overclocking fanatics. My Pentium 166 ran at 266 for years. :) – Ƭᴇcʜιᴇ007 Jan 19 '10 at 3:20
You know why they named the Pentium processor "Pentium" ? Because 486+100 = 585.9545 :) – Rook Jan 19 '10 at 3:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .