> Not if the two CPUs are different architectures.  For different
> processors of the same architecture, yes, more or less.

Even then it doesn't work.  During my PCM career (1978-1992) I lost count of the 
number of
times silly amateurs wrote little kernel loops, didn't see what they simplisticly 
expected,
and created no end of pointless work for me to explain their results.

Example - the 3033S was degraded from the 3033U simply by reducing the HSB to 512 
bytes.  If
you wrote a kernel that was small enough to fit in 512 bytes - not hard - you would see
EXACTLY the same performance on a 3033S as on a 3033U.

We all learned from that, so degrading (known in some circles as "golden 
screwdrivering")
became more complex - idle cycles were inserted in microcode, etc.

Even this wasn't enough.  Hitachi degraded the S8 processor (marketed in the USA as 
the NAS
AS/9000 series) in part by inserting idle cycles in the I-stage of the pipeline for 
certain
instructions.  But if the degraded instruction followed an instruction that took 
several
E-stage cycles, the degradation was masked.  I had a customer who upgraded a system 
and saw no
improvement in his silly little kernel - he wouldn't have, because the idle cycles were
deleted from an instruction that was waiting for the E-unit anyway.

General rule of benchmarking - silly little kernels ALWAYS give erroneous results.

--
  Phil Payne
  http://www.isham-research.com
  +44 7785 302 803
  +49 173 6242039

Reply via email to