Subject: Re: Cyrix 486DRx66 (Was Re: AMD or Cyrix?)
To: Aron Roberts <aroberts@wolfenet.com>
From: Michael L. VanLoon -- HeadCandy.com <michaelv@HeadCandy.com>
List: port-i386
Date: 05/14/1996 22:15:05
>Anyone have any experience with the Cyrix 386-->486 upgrade chips?

The only ones I know of are Cyrix 486DLC OR 486DRX2 chips, sometimes
repackaged under someone else's name.

I used a Cyrix 486DLC in a 386 for awhile.  It gave me roughly a 20%
performance improvement over a 386.  I don't remember comparisons with
true 486DX's at the time, but rest assured that a true 486DX was
faster.

The newer 486DRX2 chips would give you a bit more boost, since they're
clock-doubled.

The biggest problem was with cache coherency.  Basically, the fact
that there is none.  Of course, this should only matter if you have a
bus-master SCSI controller, like an Adaptec 1542, or better.

Look for the CYRIX_CACHE_WORKS options in locore.s.  You can try to
build a kernel with various combinations of them defined.  The
CYRIX_CACHE_REALLY_WORKS is the most dangerous (and probably won't
work on a 386 motherboard), but gives the most performance boost.

The CYRIX_CACHE_WORKS option turns on the CPUs cache, but sets the
flag where it tells it to flush the cache on every external bus hold
request.  Slower than a true 486, but faster than a 386 (which has no
on-chip cache).  This should work on most motherboards in my limited
experience.

CYRIX_CACHE_REALLY_WORKS should only be used on motherboards
specifically made for the 486DLC/486DRX, which have cache coherency
circuitry.  These are probably hard to find (for good reason --
they're just not cost-efficient anymore, with the prices of real 486
motherboards and CPUs).  This option lets the cache run full out
without flushing on bus holds, like real 486s do.

By leaving them all undefined, you'll get whatever your BIOS sets up
for you.  Since your motherboard is a 386, it's unlikely that your
BIOS will set any of the cache options, and you'll get the least
performance boost, but the machine should run correctly.  If you have
a true 486DLC/486DRX motherboard, or a DLC/DRX-aware BIOS, you may get
some of the performance boose listed above.

It's worth some experimentation.  Your system should fail fairly
quickly after boot if you're turned on the options too agressively.
Then just build a kernel with less aggressive optimizations.  (Of
course, don't overwrite your non-optimized kernel -- you'll need it to
reboot if your new kernel doesn't work!)

>It sounds like a nightmare waiting to happen but I'd like to get a bit
>more useful life out of the old 386 box.

See above.

>I really don't mind if it needs a kludge to get it working. I am just
>interested to know if it is at all possible.

See above, twice. :-)

Now, if there are other 386->486 upgrade chips than these two from
Cyrix, I don't know anything about them, and can't help.

-----------------------------------------------------------------------------
  Michael L. VanLoon                                 michaelv@HeadCandy.com
        --<  Free your mind and your machine -- NetBSD free un*x  >--
    NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
        Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
    NetBSD ports in progress: PICA, others...

   Roll your own Internet access -- Seattle People's Internet cooperative.
                  If you're in the Seattle area, ask me how.
-----------------------------------------------------------------------------