[RC5] Strange Keyrates

Joe Zbiciak j-zbiciak1 at ti.com
Mon Jun 15 20:10:05 EDT 1998

'Mike Reed' said previously:
| It seems to me that PPro machines are better than MMX ones at doing keys,
| and P2's better than PPros. I figured that PPro machines were quicker than
| MMX because they had more math code on chip. Am I right?

The RC5 code relies pretty much exclusively on integer operations
(adds, rotates, exclusive-ors) for implementing the RC5 algorithm.

Pentiums and Pentium MMX's share pretty much the same integer pipeline,
which allows up to two integer instruction to execute at once in the
the so-called U-pipe and V-pipe. There are some very slight
improvements in the MMX version's ability to pair certain instructions,
but by-and-large, they're pretty much the same core architecture.

What this implies is that most of the speedup you might see going from
a Pentium to a Pentium MMX is due to other factors.  In this case, it's
likely the improved L1 cache.  The RC5 code does touch a fair amount
of memory, as does the OS, so every bit of cache counts.  :-)

The Pentium Pro and the Pentium-II also share almost identical integer
pipelines.  The Pentium-II does have some minor changes aimed at
allowing 16-bit Windows code to run faster.  Most of these changes do
not affect RC5, if I understand correctly.  In both cases, the wider
issue pipeline (I believe it is 3 instructions wide in the P-II/PPro)
improves RC5 performance by executing more instructions per cycle.  

Any differences between a PPro's speed and a P-IIs speed, then, are due
to other factors.  The Pentium Pro has a 256K to 1024K L2 cache onboard
which runs at the same clock rate as the CPU.  Most of the P-IIs available
run their L2 at half the clock rate as the CPU, but also run at higher
clock rates.  So, you will tend to see P-II clients running faster than
Pentium Pro clients in a raw sense, but actually running slower in a 
kkeys/MHz sense.

I believe that the ranking (fastest to slowest) in terms of KKeys/MHz
goes something like this, as a result:

 1.  Pentium Pro  ~2.8 - ~2.9 KKeys/MHz
 2.  Pentium-II   ~2.7 - ~2.8 KKeys/MHz
 3.  Pentium MMX  ~1.3 - ~1.4 KKeys/MHz
 4.  Pentium      ~1.3 - ~1.4 KKeys/MHz

Note that these numbers are rather approximate, and that the order
between 1 and 2, and between 3 and 4 isn't across the board, but that's
the point:  Pentium vs. Pentium MMX is a pretty close call, as is
Pentium II vs. Pentium Pro, at a given clock rate.  The reason for this
is the nearly identical integer pipeline for the Pentium vs. Pentium
MMX, and likewise for Pentium II vs. Pentium Pro.

So have I confused you more?  :-)



  +------- Joseph Zbiciak ------+
  |- - - j-zbiciak1 at ti.com - - -|  "The ability to quote is a serviceable
  | -Texas Instruments, Dallas- |   substitute for wit."
  |- - #include <disclaim.h> - -|                  -- W. Somerset Maugham
To unsubscribe, send 'unsubscribe rc5' to majordomo at lists.distributed.net
rc5-digest subscribers replace rc5 with rc5-digest

More information about the rc5 mailing list