nightscope

Distinguished
Jan 20, 2007
828
0
18,980
Why are CPU manufacturers (Intel and AMD), instead of improving their cores, have been just adding more? First, there was the single core. Then, the dual, quad, and soon 8 and 16-core cpus. So, my question is: Why not just improve the cores themselves instead of just increasing the number of them? Since coding software to be utilized by more than one core is extremely difficult, why not just improve the architecture of that core to make it run more efficiently?

Some will argue that the Core 2 Duo and soon Nehalem are faster clock-for-clock than previous generations. Though, you know very well that neither Intel or AMD has been working as hard as it should on improving the architecture itself instead of just adding more and more cores.

What do you guys think?
 

dagger

Splendid
Mar 23, 2008
5,624
0
25,780
The future is in multithreading. There comes a point where trying to improving core architecture alone can no longer keep up with Moore's Law. Multithread programing is getting somewhat easier and more mainstream. It's starting to be more cost effective to just add cores rather than spending the effort to switch architecture more often.

Btw, there is no 16 core cpu, only 8 core with ht for 16 threads.
 
Well, AMD is sure trying to figure out a way to change this scenario, so expect architectural changes. As for INTEL, that's how they play: change architecture, wait 18 months or so, change process size and another 18 months or so. Now they are going for the next architectural change with Nehalem, saying goodbye to the FSB and adding an integrated memmory controller. That along with a power managing in-die chip that even has its own firmware, and new dielectric technology that can reduce leakage current on inactive cores. So, they are improving.
 

kamel5547

Distinguished
Jan 4, 2006
585
0
18,990
The issue is that there is only so much cooling a fan can provide at room temperature. In order to improve performance by meaningful amounts every year it is far more efficient to go the multi-core route than to try and deal with the thermal issue.

Multi-cores are architecture improvements... yes you could argue that progressive generations are faster currently, however the improvement in single core arcitecture (looking at clock for clock improvement and ignoring power added by additional cores) is far less than prior years. Its simply become much more challenging, and if that route were pursued we'd see fewer improvements.

The reality is that coding software for multi-cores isn't hugely difficult (As proven by those companies that have decided to pursue that route, the number of which is not insignificant). The truth is that it comes down to a will of developers to make the effort to identify portions during design, and then implement threading (I've written a basic multi-threaded program before, it is somewhat problematic however it is not so much of a challenge to that I would call it extremely difficult, it jsut requires planning). Yes there are programs that will suffer, but most of those that cannot be coded for multi-core designs simply don't use much CPU power anyhow.

Throw in the fact that software coders have had ages to see this coming (the earliest dual processor system I worked with is a Pentium II) and I think the onus is on the developers at this point. The CPU power is there, let the developers take up the challenge.

You can make this argument that many things in the programming environment that are not static and therefore hard on developers (changes to Windows, underlying libraries, revisions to graphic card programming, object oriented languages, the internet), they get paid to figure this out if one company can't I'm sure someone else will.
 

the last resort

Distinguished
Apr 13, 2008
592
0
19,010
imo, i would love to have two computers. one would be a quad, for programs that are multithreaded and really like multiple cores. the other would be a single, maybe, MAYBE, and dual core, but clocked really high for games, etc that will only utilize one core. imo, Intel or AMD could probably make a 4+ GHz single core, but the market isn't right for that type of processor.
 
Single or dual are more than most people need at 4+Ghz, tho it can be argued that quads are as well. For gaming, a killer dual would be nice, but now with x2 gfx cards, we see nice improvements with quads, even cranked to 4 Ghz or higher, youre still seeing improvements. Enthusiasts like us live on the edge, or in other words, we actually use what we can buy/squeeze or cajole from our setups. Average Joe doesnt, and of course, Joes got more money than we do, because of sheer numbers. Currently, theres just not alot of apps thatll really benefit us in a larger part, and certainly average Joe to even need either faster or wider. Once we see the tilt of apps requiring wider, this question wont be asked anymore, but currently we stand at that transition
 

snarfies1

Distinguished
Dec 31, 2007
226
0
18,680


The cores ARE improving. See Intel's Conroe/Kentsfield vs. Wolfdale/Pennryn, for example. Hell, stack those against a Pentium D while you're at it. Or AMD's Athlon64 X2 vs. Phenom. New architectures, new instruction sets, smaller nm, etc.
 

radnor

Distinguished
Apr 9, 2008
1,021
0
19,290


I once slap the two reasons why many-core (8+) will take its time, or go the Itanic way.

■Microsoft Kernel
■Single-threaded apps

I86-64 Bits cpus are mainstream for some years now. And the vast majority of people use the 32Bits Kernel.
This will take bucket loads of time to get mainstream. I know the Linux kernel can manage up to 256 cores, but don't tell me the majority of people+enterprises use Linux.

Unfortunately they don't.

Dual and Quad Core CPUs have legacy from SMP and HT. We are talking YEARS of legacy support in a Microsoft environment. The jump above the 4 cores will bring modest if not irrelevant bump in real speed. Read the Toliman reviews. Basically no applications runs in the third core.

Keep you Yorkfield/Wolfdale overclocked. Nehalem won't bring nothing for you.

 
Admittedly tho, the last truely huge jump was C2D. Its been slower growth sine then. Going from a P4 at 1.4 to a fx57 from 01 to 05, then compare fx57 05 to Nehalem 08. Im talking stock speeds for all. Its slowed, even taking into account the dual and quads
 

shabodah

Distinguished
Apr 10, 2006
747
0
18,980


I agree with the OP and, honestly, I don't see desktop users ever really needing more than four cores. If anything, focus needs to be on I/O and memory performance for the cores that are already there. Processors are still spending too much time waiting for requested info to be fetched. I really like how this is handled in the Ultra Sparc T1 line of processors, and although I obviously can see how that type of situation would increase the pin count of the processor and motherboard, it still seems it would bring much greater gains than massive amounts of idle cores could ever bring. CPUs should be becoming more specific to their environment, and if desktop CPUs keep going the multicore route, they are going to reflect performance "increases" very much like server harddrives currently do in desktop applications.