Am i behind the times in thinking about CPU speeds?

jbourne84

Distinguished
Jun 10, 2008
185
0
18,680
I know chip architecture has come a long way and multi core is a big difference than the old pentium 4 but as i find myself looking at laptops, and specifically ultrabooks, I see a lot of options where the processor speed starts at sub 2ghz (1.7 ghz with boost to 2.6).

Theres a part of me that just thinks theres no way i can settle for a 1.8ghz chip, regardless what it turbo-boosts up to. Given I have been using at least 2ghz for about ten years.

I want a laptop for webdesign, so nothing too intense but it needs to run Adobe C.S.5 (possibly 6) smoothly, at least dream weaver, illustrator and photoshop. I am looking at a variety of ultrabooks, trying to figure out what makes sense for the money.
I was just looking at the lenovo idea pad u300 which i could potentially spend over $1,400 on and still have a 1.8ghz cpu, and yeah it will boost up to 2.3 or whatever but my quad core 3ghz desktop CPU idles around 2ghz. So will a 1.8ghz idle closer to 1ghz?

Or am i just completely off base being concerned with this, and the changes in architecture will make up for all of this?
 

Cazalan

Distinguished
Sep 4, 2011
2,672
0
20,810
I cringe at the thought of doing web design on an Ultrabook.
Ultrabooks are thin with small screens designed for battery life and portability.


For design you want something that can display the page code and fully rendered page at the same time. Multi-monitor displays, etc.
 
Yes, if you are simply thinking about clockspeed alone, then you are behind the times. Clockspeed is important, but it has taken a backseat to IPC (Instructions Per Cycle). The more IPC a CPU can execute per 1MHz, the faster it can potentially be.

AMD demonstrated the importance of IPC to Intel back when they released the Athlon XP CPUs around 2002 and AMD was able to competitive against Intel until mid-2006. Unfortunately for AMD, they were never able to really gain any market share despite having CPUs that were just as good or better than Intel CPUs for a slightly lower price (however, there were AMD CPU priced higher than Intel CPUs).

Another unfortunate thing that happened was Intel's release of the Core 2 Duo / Quad series which basically left AMD in the dust because Intel was to beat AMD at it's own game... increasing the number of IPCs the CPU can execute. Nowadays, assuming the same clockspeeds, Intel CPUs are on average 29% more powerful than AMD CPUs.

A 2.0GHz CPU from 10 years ago, or even 5 years ago is not comparable to a 2.0GHz (or slower) CPU today... especially if you are talking about an Intel CPU. If you want an UltraBook, then you must "settle" for a CPU with less than 2.0GHz because UltraBooks are meant to be very energy efficient and light. The higher the clockspeed the more power the CPU consumes (less battery life) and the larger the heatsink must be (heavier). There are UltraBooks with CPUs that are faster than 2.0GHz, but naturally they do cost more.

Turbo boost is basically an automatic overclock and it should work fine unless the CPU is getting to hot. If so, then Turbo Boost is automatically disabled. Additionally, the Turbo Boost clockspeed depends on how many cores are being used. If only one core is being used, then the advertised Turbo Boost clockspeed can be achieved. If more than 1 core is being used, then the clockspeed will be around 300MHz lower.

Remember UltraBook = light weight and energy efficient.

If you want a real fast CPU, then simply go for laptop.
 


+100

AMD's Athlon XP processors were able to execute around 4 integer instructions per core per clock cycle while Intel's NetBurst (Pentium 4 through Pentium D) could only execute 3. Thus, Intel had to have a 33% higher operating frequency just to obtain the same integer throughput. Power consumption scales linearly with the number of additional cores, but exponentially with frequency, so its easy to see why higher sustained IPC won out.

Intel learned their lesson and tossed NetBurst into the trash where it belonged. Core 2 got between 4 and 5 instructions per core per clock cycle, more than enough to beat the rival Athlon 64 and Phenom while still having more conservative power consumption.

Since then, Intel has continued to press the importance of IPC. Sandybridge is currently pulling just under 10 instructions per core per clock. Thus, a modern quad core Sandybridge is, on integer metrics alone, more than 12 times more powerful than an equivalently clocked Pentium 4 Prescott processor.

By comparison AMDs bulldozer is struggling to pull even 4 instructions per core per clock (its theoretical maximum is 4,so that's not bad) which is one of the contributing factors to Bulldozer's horrendous linear performance.
 

jbourne84

Distinguished
Jun 10, 2008
185
0
18,680


IPC is not listed in the places i compare processors, such as wikipedia, is this something that varies chip to chip or something that all ivy bridge processors would have the same? where can i find this info?

thanks for all the feedback, very helpful
 

InvalidError

Titan
Moderator

IPC varies from architecture to architecture, from software to software and is also affected by countless other system parameters.

IPC is highly dependent on architecture, the software's code structure and the software's instruction mix. You could have an algorithm carefully optimized for P4 averaging IPC in the neighborhood of 3.5 just as you could have a poorly written algorithm that does the same thing but averages only 2.5 IPC on Ivy Bridge even though IB is technically far superior in every possible way.

So IPC is rarely used because it is a highly circumstantial performance metric. Too abstract for everyday use. Time to complete a task or transactions per second are much easier to measure and are much more intuitive.

Another thing that makes IPC difficult to use is when you start using multi-threaded code. In those cases, it isn't the individual cores/threads' IPC that matter but the chip/system's total throughput.
 


It's not something that you'll find on a design chart anywhere. Each architecture has a theoretical maximum that it's capable of and this is usually publicized deep in design documents. The Integer IPC can be easily obtained by taking the Dhrystone Benchmark rating in MIPS at a fixed frequency and dividing it by the number of physical execution cores (not logical ones caused by SMT AKA Hyperthreading) and then again by the standard frequency.

It is nearly impossible to reach the theoretical maximum but some well coded programs can get very close. Since AMD and Intel processors use a common high-level instruction set (x86) and standard word size this is a good way to compare the relative performance capabilities of each processor.

IPC can also be used to compare processors of completely different architecture, such as Intel's x86 to IBM's PowerPC. While they are of vastly different design, they are both very deep and narrow architectures with very similar structural characteristics.
 

jbourne84

Distinguished
Jun 10, 2008
185
0
18,680
Thanks again this is super informative.

It sounds like its better to just assume the latest CPU architecture (ivy bridge for Intel) is going to have the highest potential IPC (still dependent on the other variables, as you said) and not worry too much further than that.
 


not strictly true, fx is a dog (or perhaps before its time) and the older archs are slightly better. but read the reviews when the come out that compare new to old that will give you the idea when you take several reviews.
 


There's something interesting about the Bulldozer CPUs. It's starting to bridge the gap between the CPU and GPU structurally. Intel seems to be rather adamant about keeping the CPU deep and narrow, so this is really outside of their core competencies to some degree. Given AMDs interest in APUs and the fact that Trinity seems to be living up to expectations, they could be on to something. I think most people will agree that Bulldozer didn't deliver but perhaps the next few iterations will. Fingers crossed
 


Agree, I hope that the next gen FX's are interesting, and APU's could be a great concept, especially if the gpu element is good enough or not wasted when a real gpu is installed.
 


No.

AMD mainstream CPUs from the first 250 nm K7 Slot A Athlon through the last Phenom II are three-issue parts. They are only able to retire at most 3 instructions per clock cycle, and average less than that, sometimes much less. Intel has also had three-issue CPUs from 1995 with the Pentium Pro through the last NetBurst P4/Pentium D. Intel CPUs excepting the Atom are four-issue and AMD's Bulldozer is also a four-issue per integer core CPU.

The actual peak number of instructions per clock in a particular program depends on the program itself but is generally a lot less than the theoretical maximum. 2.0 instructions/clock is good for a modern four-issue CPU- less than half of its theoretical maximum. The P4 in particular averaged at about one retired instruction per clock cycle in most code due to its very long for the time period (Willamette, Northwood) or very long for any time period (Prescott/Smithfield, Cedar Mill/Presler). That's only 1/3 of its theoretical ability.

The rise of multi-core CPUs does certainly increase per-CPU IPC since you are increasing the number of parallel execution resources per CPU. That 10 instructions/clock you quote is what an entire 4-core Sandy Bridge might do in a well-tuned program, or 2.5 IPC/core. You are not getting 10 retired instructions per clock per core in a 4-instruction/clock maximum CPU like Sandy Bridge. The only CPU I know of that can handle 10 instructions per clock is an Itanium 2 or newer Itanium as they are 11-issue CPUs. Good luck in getting them to actually have an IPC of 10/core though, they are strictly in-order cores where your coding ability and the compiler determines how many pipelines are sufficiently fed per clock and not stalled.



Bulldozer is interesting because AMD is trying to increase the per-CPU IPC in a way that has not been done before in the x86 arena. Both makers are trying to increase per-CPU IPC by adding more cores. Intel is trying to increase per-core IPC with HyperThreading (simultaneous multithreading) by adding a second virtual thread that can be executed on its CPUs while the "hardware" thread is stalled or flushed so as to keep the execution units busy. AMD decided to duplicate some of the "key" core resources while sharing some of the less-utilized units with Bulldozer to give closer to two full cores' worth of performance from close to one core's worth of die space. They had some execution issues with Bulldozer that they are trying to fix with Piledriver (faster caches) and Steamroller (independent and beefed up decoders) as well as allowing for legacy software such as MS Windows to catch up to this very different CPU.

The integration of CPU and GPU is tighter on the AMD side as AMD apparently does intend to use their GPUs as "super-FPUs" in the future. AMD bought out ATi for a princely sum and wants to make as much out of the deal as they can. Intel on the other hand has subpar GPU technology but does very well with CPUs so you see things like the Xeon Phi/Knights Corner/Larrabee which uses a bunch of Atom-esque x86 cores to try to act as a big FPU to battle AMD's and NVIDIA's GPGPU products and AMD's Fusion products.