[KLUG Members] Re: Hearty Thanks ++ -- IBM/Cyrix 6x86/M1 v. Pentium MMX 233MHz

Bryan J. Smith members@kalamazoolinux.org
08 May 2002 12:38:15 -0400


[ Please remove the CC to "members" in all responses ]

On Wed, 2002-05-08 at 11:50, Sirch Namdig wrote:
> #3 "Try the MMX chip anyway.  Even if you don't get more speed, it's
> got a bigger cache."

Depends on the chip.  Intel's Pentium MMXs have more L1 cache (8KB data
+ 8KB instruction, 16KB total) than non-MMX Pentiums (8KB unified was
it?).  IBM/Cyrix M2 chips with MMX have more L1 (64KB unified) than the
older 6x86 (M1) chips too (32KB unified).

The IBM/Cyrix gets its "boost" over the Pentium in nominal performance
*1* out of the fact that it uses a much larger L1 cache.  Hence why
IBM/Cyrix uses a "Pentium Rating" (PR) as discussed below.

> I was hoping to install a 233-MMX chip into a board that had a chip
> performing at 166+.  I brought the board to the meeting to identify
> it so I could hunt down a manual.  Someone pointed out that the board
> said right on it how to jumper it.  Took it home and played with it. 
> After rebuilding it twice, I finally got back to initial state. 
> Then, started messing with the jumpers on the old chip (IBM PR200). 

So you are installing a Pentium MMX 233MHz in a former IBM/Cyrix 6x86/M2
PR200 (aka P200+) system?

First off, IBM/Cyrix 6x86 PR200 chips are 150/75MHz -- yes a 75MHz FSB
(front-side bus -- i.e. CPU to memory/IO) doubled (2x multiplier) to
150MHz internal.  This is very UNsupported on many mainboards because
75MHz usually violates the PCI/ATA specs of 33MHz (1/2 FSB) by pushing
them to 37.5MHz.  At least this is how the 6x86/M1 is -- not sure about
the newer M2 (of which, not nearly as many were sold as the M1/6x86).

Secondly, the Pentium MMX 233MHz is a 233/66MHz -- a 66MHz FSB 3.5x
internally.  It was designed to use the _same_jumpering_ for 3.5x as
1.5x -- hence you _may_ get "100MHz" listed in your POST (power-on
self-test) at first boot.

Third, mainboards _usually_ have different jumpers for different chip
types.  E.g., AMD, IBM/Cyrix and Intel.  That could explain it using a
"+" in the post.

> I couldn't get any more than 166+ out of it.

Unless your mainboard supports a 75MHz FSB, you're only going to get the
IBM/Cyrix PR166 (aka P166+) of 133/66MHz.  Again, PR200 requires
150/75MHz.

> (I don't know what the plus means.)

One word:  Marketing.

> So, I pulled the chip and put in the 233.  She booted right up at
> 133-MMX.

Yes, because the IBM/Cyrix PR166 is actually 133/66MHz.  66MHz FSB
w/2.0x multiplier.  You need to either set 3.5x as the multiplier, *IF*
the mainboard supports it, or 1.5x.  It actually should be the same
jumper config in many cases.
 
> I swapped the jumpers to max and got 200-MMX out of it.

Yes, 200/66MHz -- 66MHz FSB w/3.0x multiplier.  Sounds like your board
does NOT support a 3.5x -- so _try_ 1.5x.  That is _supposed_ to be the
"fallback."

> Wondering what was going on, I rubbed the goo off the old chip and
> surprize, it said it was a 150MHz chip.  So, I guess the 200
> didn't mean 200 MHz.  And, apparently it had been running overclocked
> all that time.

Which chip?  The IBM/Cyrix PR200 is, again, a 150/75MHz chip!  The PR166
is a 133/66MHz chip, the PR150 is a 120/60MHz chip, PR133 is a
110/55MHz, PR120 is a 100/50MHz.  They are fixed with a 2.0 multiplier
and just change the FSB.

> So, here's something I'm trying to figure out.  If the board buss is
> constant, how is it that 2.0x gives me 166+ MHz on the old chip and
> 3.0x gives me 200 MHz on the new chip?  What am I missing? 

IBM/Cyrix's Pentium-Rating (PR), aka P###+ in earlier versions.  Again,
Cyrix 6x86/M1 designs _only_ use a 2.0x multiplier and change the FSB
for speed increases.

> (Incidentally, 2.5x and 3.0x on the old chip caused bootup failures. 
> 2.0x on the new chip gives me 133 MHz)

Yes, because it's 66MHz x 2.0 = 133MHz.  That's the actual speed
_regardless_ of whether or not you use an Intel or IBM/Cyrix.  But the
latter calls 133MHz "PR166" (or "P166+").

-- Bryan

*1* This is debatable depending on the application.  E.g., the Pentium
has a pipelined FPU, whereas the Cyrix 6x86 M1 and even M2 does not. 
Although the Cyrix's ALU load is faster than the piss-poor ALU design in
the Pentium (and even newer Pentium II+ processors), many "Pentium
optimized" (i.e. "Pentium design clusterfuck workarounds" ;-) programs
know this and use the FPU (floating point) to load integers instead of
the ALU (which is supposed to be for integer loading).  It's funny, 4
FPU/ALU opcodes are faster than 1 ALU opcodes for an integer load in the
Pentium!  The result is that the Cyrix and AMD processors are used
INefficiently, which led to the common "misnomer" that the Pentium FPU
is "better" than AMD or Cyrix's.  In the case of Cyrix, yes it is, but
in the case of AMD, AMD's FPU is _far_better_ (but not pipelined hence
the "stalls" when loading all those integers over the FPU when they
should be done via the ALU -- where the K6 was 3x faster than the
Pentium!).

-- 
The US government could be 100x more effective, and 1/100th the
Constitutional worry, if it dictated its policy to Microsoft as
THE MAJOR CUSTOMER it is, and not THE REGULATOR it fails to be.
---------------------------------------------------------------
Bryan J. Smith, SmithConcepts, Inc.   mailto:b.j.smith@ieee.org
Engineers and IT Professionals     http://www.SmithConcepts.com