Computer cores vs. GHz?

MasterVash

Honorable
Jul 4, 2012
2
0
10,510
So a friend is trying to get a new gaming-ish laptop. Which would be better in general? A quad core with a modest GHz (1.4 - 1.8 range) or a dual- or tri-core with 2.6 - 3.0GHz? Are more cores basically always better?
 
That really depends on the CPU and what you are trying to do with it. For games alone in a laptop, especially if its an Intel CPU with hyper threading, i would take the much higher clocked dual core over a slow quad, but if he needs to do some video encoding on it or other highly parrallel tasks the additional cores of the quad would more than make up for the lack of clock frequency.


You cannot say that more cores or more frequency is always better, that always depends on the application and if the two chips involved have the same architecture. If you start comparing AMD to Intel or even between two CPUs of different generations you cannot compare them using clock frequency since their performance per cycle varies.
 
Cores aren't everything, just because a CPU has more cores it doesn't make it better. Look at the benchmarks AMD's processors has more cores but gets beaten out by little dual core I3 CPU's. Like everyone else said it all comes down to the micro architecture.
 

InvalidError

Titan
Moderator
IPC * GHz * TLP * cores

Low IPC negates gains from high clock, low TLP negates gains from having more cores.

Most games heavily favor high IPC and clock rate over TLP and high core count which is what i3/5/7 excel at. Productivity software tends to make better use of TLP and additional cores so loss in IPC and GHz do not affect them as badly, which is where the FX8120/8150 manage to claw some points back as credible competition.
 

MasterVash

Honorable
Jul 4, 2012
2
0
10,510
I appreciate the quick and (very) thorough replies, but...

http://imgur.com/zbJVv
:(

I guess I should've realized it was far more complex than I initially thought. Looks like she and I will have to do quite a bit of research to choose the best computer. Here's the one we're looking at right now. Cheap-ish, and it looks pretty good...

*AMD A6-3420M quad-core accelerated processor 1.5 GHz
*4GB DDR3
*640 GB 5400 rpm hard drive with HP ProtectSmart Hard Drive Protection
*15.6" widescreen HD TruBrite LED-backlit display
*AMD Radeon HD 6520G graphic
*Wifi
*8x SuperMulti DVD
*Windows 7 Home Premium (64-bit)

How's the processor in this one? Will it be able to play the more recent-ish games out, like Team Fortress 2? The graphics card looks pretty good. Or should we try and look for a computer with an i3/i5 processor?

I realize this is branching a bit out of the CPU department. Sorry about that.
 
APU's have good graphics, much better than intel but lacks in performance it's slower than the I3, I5 and I7's. I would go with an I3 or I5. I really don't like APU's and I'm not convinced they are all that great. Yes they have better graphics than Intel there is no denying that but I've read the mobile APU's perform on the level of Intel Atom CPU's. I have an I3 2330M with Intel integrated HD3000 graphics and yes I game with it. I was deciding like you on an APU or I3 and went with the I3. I went with the extra performance and IMO the HD 3000 graphics are good enough for gaming.
 
The point is that neither will give you the performance of a desktop with a high-end graphics card. Don't expect either to flawlessly play Crysis or BF3 at ultra high settings. It sounds dumb but I know a guy who bought a laptop and expected it to play COD on ultra high settings flawlessly like his desktop.
 


Look for a lower thermal dissipation (TDP) if using a laptop above all else. If you are buying a laptop to really be a laptop and be easy to carry and primarily run off battery, battery life, size, and a case temperature that won't roast your nuts are far more importance to better Cinebench scores. Some moderately clocked dual core is about all you need, look for lower voltage models. Put 8 GB of RAM and an SSD inside if you want snappy performance since many laptops lack enough RAM and have a slow 2.5" mechanical HDD which really slow things down. Stuffing a 45+ W CPU in there won't do anything but turn your "boys" into Rocky Mountain Oysters and tether you to the nearest power outlet to run the machine.

If you really want to game, wait until you get back to your dorm/apartment/house and play on a proper desktop. You will have a much better experience. That works for all but a few folks like truckers and soldiers who really do need a very portable self-contained unit. If you are a trucker or a soldier, then ask one of the other guys for advice on a 10# power-adapter-tethered table-top (you will burn your legs and your balls if you put it in your legs) computer.
 
IPC > All

Absolutely...if it's still 2003. I challenge you to turn off all but one core of your "highest-IPC-ever" Ivy Bridge and try to run a game or god forbid, some HPC application faster than a low-clocked "low-IPC" chip like my Opteron 6234. My chip runs at a whopping 2.4 GHz, it should be trivial to wipe it with an overclocked IB running at twice that speed with higher IPC. If IPC were all that and a bucket of fried chicken today you would win handily, but today with multithreaded applications being prevalent, you will just laugh at me for suggesting such a ridiculous proposition because you would lose. A 5 GHz IB will suck my low-clocked and "inefficient" Opteron's dust with only one core lit. You'll need to turn on a 2+ cores to make it competitive...which means that a good balance of IPC and cores is really the best answer. Games currently don't scale well beyond four cores so look for something with four very fast cores like a Core i5-2500K. HPC applications scale very well so a quad Opteron setup like mine with a bunch 'o cores is just the ticket unless you want to sell your house (not joking, prices are around $100K for a complete unit) to buy an 8P Xeon E7 setup.
 
If i knew you're genius a$$ was going to post i would have elaborated and not just thrown that out like that. Using today's processors even if amd gave us an 8 core processor that matched a 3770K i'd still take the less cores and better IPC of Ivy bridge. Haswell is only going to have 4 cores on 1150 but a good 10-15% better IPC which is fantastic. Keep ramping up the IPC intel.

Chasing IPC will improve performance in any situation...but we have been chasing single-threaded performance for many years and the returns are very much diminishing. That's why IPC has risen only slightly in the IB chips from the original Core 2 parts. Nearly all of the per-core improvement has come from clock increases from three process shrinks and the advent of Turbo Boost. And even then, we have parts that are maybe twice as fast in single-threaded performance, six years later. That is way off of Moore's Law suggesting a doubling of performance in 18-24 months. There is more performance left to be had in parallelizing applications and adding more cores than there is in trying to milk a few percent at a time in single-threaded applications, since we have not been doing it as long and that current manufacturing processes allow for boosting core counts much more so than boosting single-core clock speeds.

Consider what's happened over the past 10 years. In 2002 few to no consumer applications were multithreaded. The GHz race where clock speeds increased from about 40 MHz in 1992 to 3 GHz in 2002 was in full swing. The few that were multithreaded either were really workstation applications or were attempting to take advantage of the 3.06 P4B's not very impressive HyperThreading capabilities to show a few percentage gain in performance over the regular P4Bs for those that shelled out the big bucks for the new HyperThreaded model. Now, we realize that heat production limits clock speeds even in single-threaded chips. No gamer will even consider a two-thread chip today because games need at least three threads and preferably four cores for full performance. The multithreading keeps increasing as makers (mainly AMD) keeps rolling out higher-cored chips with similar single-threaded performance as their older chips. The writing is on the wall, more cores is the future as long as there is no paradigm shift in CPU technology that boosts single-threaded performance like we saw in the '90s.

In fact, AMD may very well cause Intel to release their precious six-core chips in the "consumer" socket in the next generation unless Haswell really is all that and a bucket of fried chicken in IPC increases. I highly doubt it will be, given that since the NetBurst mistake, IPC increases in Intel chips has only been a few percent each generation. Sandy Bridge wasn't that much faster than Nehalem, and many here even prefer SB over IB because of the latter newer chip's heat production. Meanwhile AMD keeps cramming more cores on one chip and figures out the flaws in its new Bulldozer architecture. They are already competitive with the 4-core SB/IB chips with the FX-8150...and if PD and its successor keep ironing out the flaws and bring IPC back to Stars/K10-level performance, Intel won't be able to keep pace with only quads. Granted Intel will have no trouble releasing 6 and 8-core chips on consumer sockets, but it's still another nail in the "IPC uber alles" argument.
 

InvalidError

Titan
Moderator

The REAL "Moore's Law" is about doubling transistor count, not performance. On CPUs prior the 486, transistor count was entirely due to execution resources. With the 486, cache started contributing to core size to eventually become the dominant core size driver when L2 got integrated. Now we also have L3 cache, IMC, IGP and PCIe contributing to increased transistor count without increasing CPU execution capabilities much.


The majority of games and applications today are still single or dual threaded. Until this improves significantly, IPC * clock will remain the most important factors.
 

InvalidError

Titan
Moderator
I believe Intel could have easily pushed the IPC gain in each generation by 50% by now but with no competition from anyone whats the point?
There is a limit to how far single-thread IPC can go until the amount of scheduling and execution resources required become unmanageable. Getting more IPC out of a single instruction flow requires larger register files to accommodate higher instruction-level parallelism and more complex circuitry to search the execution queue to find instructions whose dependencies will be resolved before instructions reach execution units (out-of-order execution) and you need more execution units to shove those through. You end up with a situation of exponential complexity to achieve logarithmic throughput improvement with more resources likely going under-utilized and wasting power.

The reason why CPUs have gone multi-core instead of attempting to push ILP/IPC to record highs at any cost is because the industry has reached a consensus that it has reached the practical limits of ILP/IPC, the only practical path forward is TLP either as multicore, multi-socket, SMT or combination thereof.

New process technologies and architectures may yet enable some IPC gains at minimal energy cost but in the age of mobile devices and green computing, nobody will want to sacrifice power efficiency specifically for IPC the way they used to 10 years ago (we'd have 200W CPUs today instead of 35-95W if they stayed on that path) so I do not expect major breakthroughs there much beyond incidental improvements due to optimizations in memory cache algorithms, branch prediction, etc. and rearranging execution pipelines to better cope with new widespread code patterns.
 

Blandge

Distinguished
Aug 25, 2011
316
0
18,810



Agreed. Might I add that many of the incremental architectural improvements that we've come to expect with each update such as branch prediction and cache improvments are approaching theoretical ceilings (Branch prediction being north of 99%). It's costing much more in terms of complexity and transistor count to increase IPC by a very small amount by adding new ISA extensions etc. Even a 10-15% increase in IPC is incredibly impressive.

To put it another way, the standard computing performance goal of the 20th century, to maximize single threaded performance through IPC optimization, has been nearly achieved. In addition, the silicon MOSFET is a 20th centure technology that is being pushed to it's limits in the 21st century.

There is much untapped potential is multicore computing and other new technologies like phase change memory, memristors, graphene etc. It's dangerous to hang on to the last vestiges of the 20th century when the 21st century has already brought so many promising technologies to the table.
 

we_san

Distinguished
Nov 26, 2009
91
0
18,640
No offense folks, but although OP's first question is very technical but in the end he just need to pick which lappy suitable for his need.
@OP
Read Tom's article I showed you than you can choose which system suits your need
 


The increase in transistor count was also a general suggestion of performance increases- or at least was until we hit the clock speed wall in the early 2000s. Performance increases really have tapered off in recent years.

- A 2007 C2Q Q6600 or Q9xxx still can run many things fairly decently today.
- In 2007, a 2.8B P4 or similar Athlon XP from 2002 was pretty slow but could still run some mainly office type applications but generally only on the obsolete Windows 2K or XP, not the new Vista as the motherboards wouldn't handle enough RAM.
- In 2002, still running a 200ish MHz Pentium MMX from 1997? Forget about it.
- Ditto with running a 386 or very early 486 from '92 in 1997.



Most games now use 2-4 threads and games have run two threads for some time. Remember all of the discussion about the C2Qs vs the C2Ds when the quads first came out? By the time Wolfdales had been around a while, that one was definitely settled.
 

InvalidError

Titan
Moderator

And that proves that the performance scaling was not due to transistor count alone, clock scaling was every bit as important by accounting for about half the performance gains.


My P233MMX was in the living room until 2006. With 256MB RAM, that thing remained surprisingly usable for quite a while with Win98SE.
 


Yes, but you can't have the big increase in clock speeds and performance without increasing the transistor budget- they go hand in hand. And you *can* increase performance without increasing clock speed, look at NetBurst -> Core. The multiple pipeline stages, multiple pipelines, caches, SIMD engines, OoO execution, and such were required to limit the performance impact of RAM performance increases not keeping up with CPU performance increases as well as to allow the CPU to become more efficient with performing more complex tasks. If you die-shrunk an 80386 to 22 nm, that would show the impact of only die shrinks. Such a chip would not clock anywhere near as high as say, a single-core IB would. It would be bus/RAM speed-limited. Per-clock performance would be much worse as well. The difference between the two is all of the "other" stuff that sucks up the transistor budget.
 

InvalidError

Titan
Moderator

It might not PERFORM as well but I bet it would clock pretty high since the die area would be so much smaller which cuts down on propagation times within the chip. With modern CPUs with 64bits registers and function units, carry chains are much longer so chips need extra pipeline stages to handle carry ripples through combinational logic.

A 386 with all the modern process tweaks and 22nm lithography would probably hit 5-6GHz with minor pipeline tweaks but without L1 and only primitive out-of-order capabilities, performance would obviously still suck.