|
|
|
|
UNDERSTANDING CPU PERFORMANCE
The CPU - one of the most critical parts of performance.
|
|
|
This is a pretty quick
fly-by on the aspects of a CPU's performance, if you feel
you need more basics, then see PowerPC in the MacDojo section, for a more
"lay-persons" breakdown. Or you can see (X) for a more
detailed description about the parts of a PowerPC.
The CPU is the workhorse of your computer - the
equivelent of a motor in a Car. Now the Mac has a much
better motor (the
PowerPC processor), but that is not all there is
to the car (computer). This is probably the most important
part (for most things) but certainly not the only part.
There are many ways to measure CPU performance, these are
called benchmarks, and in almost all of them the Mac comes
out the winner, including the following -
- Byte - PPC has huge lead
- SPEC - PPC has slight lead
- Java timings PPC has huge lead (w/non-JITc)
- Photoshop PPC has lead
- Mathematica PPC has lead
Check the Performance
page to see the how and why (if you care).However, let
me explain what it all means.
Measuring MHz to figure out how fast your CPU is, is like
measure RPM's in a car to decide how fast it will go. A 1hp
motor running at 5,000 rpm's is not going to make the
same car go faster than a 300hp motor at 3,000 rpm's.
However, if you look at the same motor, and one is running
at 500 rpm's and another is running at 3,000 - then it is
likely that the latter will be faster.
So MHz is a silly rating. It rates how fast a
particular chip is going - which is an OK indicator
relative to other versions of that exact same chip, but the
ratings are almost worthless when comparing across
processors. (Most application tests done cross platform rate
the Macs as anywhere from 40%-400% faster than PC's at the
same clock rate or MHz).
Here are some of the contributing parts of processing
speed in a computer (CPU)-
- MHz - how fast the processor is clocked - or how many
millions of times per second the computer tries to
excecute instruction(s). (M = mega / million, Hz = per
second). However, if MHz is what you care about, the
PPC's are usually faster than the pentiums - however the
PPC's are much faster because of the following
reasons.
- Superscalar - this just means that some computers
(PPC's) can excecute more than one instruction at one
time. In fact the PowerPC's can complete 3 or 5
instructions at the same time, and be working on more
than that. Since the PPC's are better at this than
pentiums, the real world results are often superior as
well.
- Cache / Prefetch - since memory is much
slower than the computer is, processor often put special
high-speed
Memory on themselves. One part of the
processor tries to read ahead and keep this high-speed
memory filled for the processor. When the processor does
not have to go to main memory (called a cache stall) it
is much faster. So how fast and good the cache and
prefetch system is, will make a big difference on
processors speed. There is often multiple layers of cache
- labeled - L1, L2, L3 - (Primary, secondary and
tertiary) - they all contribute to performance. PowerPC's
(Macs) generally have larger caches.
- Bus speed - since processors (and cache systems) do
have to go to memory, the speed of the System bus is
important for these conditions.
- Pipelining - this is subtle aspect that designers use
to help with the prefetch system. Think of it as how many
stages in manufacturing process it takes to make
something (an assembly line). Once you get lots of things
coming through all these stages (pipes) then the work
goes fine, but to change everything, you must wait for
all the stuff to clear out, change processes, and then
start up again. So depth of pipe is not as important as
efficiency of its design. But a deep pipe allows for many
people to each do one thing, and can help with a
design.
- Instruction size - some processors deal with larger
amounts of data in the same time. For example, dealing
with 64 bits at a time is faster than 32 bits if you want
to move the same amount of data from one place to
another.
- PC's have more legacy 16 bit code - these
instructions only work with 16 bits at a time (often)
while the PPC's (Macs) often deal with floating point
and 64 bits at a time. This is a reason that newly
written apps can be faster than older apps on the same
processor.
- Instruction set efficiency. Each processor has its
own set of instructions (ways of asking it to do things).
Some descriptions are more efficient in the real world
than others. Primarily the newer the design, the more
efficient the processor is. PowerPC's are based on
designs from 3-5 years ago, while most of the Pentiums
instruction set design comes from the 1970's (that 187 in
dog years). See RISC vs CISC
for more on this.
Conclusion
Processor speed is a pretty complex issue - it is not
just MHz. Overall the Macs are much faster in processor
design - but users often care more about System design and
overall performance (not just the processor speed). So don't
be trapped into thinking that CPU is everything - it isn't,
it is one part of a larger picture. But if you care about
CPU speed, then PPC's and PowerMacs blow the competition
away.
|