"Basic performance for a traditional microprocessor can be measured by multipling the clock speed with the number of instructions per clock cycle (IPC). Now, not all instructions are created equally, because some instructions, of course, do more work than others. That makes it impossible, for example, to compare the performance of , say, a 32-bit x86 vs. a 64-bit x64 system, or an x86 processor and a PowerPC chip, simply by multiplying clock speed x IPC. But all things being equal, with the instruction set and microarchitecture you can judge relative performance by multiplying clock speed x IPC.
So, how do you get more performance? Traditionally, everyone increased the clock speed, from 4.77MHz 25 years ago to over 3GHz today. However, semiconductor physics makes this increasingly difficult. Also, a faster clock speed makes the chip draw more power and need more cooling than a slower clock speed. So, these days, chip makers like Intel look for other ways to improve performance beyond rewing the clock. That means focusing on the efficiency on the IPC part of the equation. That is, getting more actual work done per clock tick.
Another way of increasing performance, of course, is to add cores. That makes the oversimplified equation performance = clock speed x IPC x ( number of cores x efficiency factor). What's the efficiency factor? Well, a dual-core processor doesn't have exactly twice the performance of a single-core chip of the same clock speed, as there is some fall-off because of shared resources.
This efficiency factor is a multiplier that I made up to indicate this. In my experience, a dual-core PC nowadays has an efficiency factor of about 1.5-1.7, depending on the specific processor and chipset, operating environment and the types of applications it's running. It's squishy factor - but an important one, because as with the IPC part of the equation, perhaps we can find ways of improving that efficiency facotr. Our goal should be to improve the factor so that, for example, a dual-core chip comes closer to producing 2x the performance of a single-chip, and a four-core chip comes closer to an efficiency factor of 4.
That's where the Intel Core microarchitecture succeeds. It improves IPC by getting more performance out of each clock tick by making some old two-tick operations execute in one tick; by reducing the wait states that stall the processor; and by cramming more operations into a single tick by using a trick called macrofusion. It also improves my multi-core efficiency factor through cache sharing. "
所以,这里讨论了如何提高CPU速度的历史, 从提高主频, 遇到物理限制, 到增加内核,虽然很简单的想法, 但切实的让单位时间里能做执行更多的命令. 但我们要做的是如何让我们的软件开发最大限度的利用多核, 提高 EFFICIENCY FACTOR.