• Please review our updated Terms and Rules here

386 performance ceiling?

OK now, I've thrown everything I could to my 386 PC. It is now like:

CPU: 80386DX-40 (AMD) / 80387DX (IIT3C87-40)
Mainboard: 4386-VC-HD ( http://stason.org/TULARC/pc/motherboards/U/UNIDENTIFIED-486-4386-VC-HD.html )
Cache: 128K L2 cache
RAM: 32 MB RAM 60ns non-parity ECC
Video card: Tseng Labs ET4000 W32, or S3 928

As you can see, everything is the most advanced I can fit in, apart from the cache, where I tried to add another 128K (from a 486 board) but couldn't get a stable system. The PC still gets its ass handed to it performance wise, compared to a Pentium 133MHz, S3 Trio 64V+ card, 70ns RAM that I have. I was hoping that all these upgrades would somehow bridge the gap, but I guess I was wrong, as the performance difference is still so big that it is obvious without even the need to run a benchmark suit.

Actually, it is not quite it its most advanced configuration. A TI/Cyrix TX486DLC/E-40GA will certainly outperform an AMD 386DX-40. I have a similar system to yours except that I recently swapped my AMD 386DX-40 for a Cyrix TX486DLC/E-40GA. If you enable the 1 KB of L1 cache on the Cyrix, you really get a performance boost.
Cyrix386_GIF.jpg

Please refer to the attached Landmark benchmark comparison, which compares the Cyrix TX486DLC/E-40GA with L1 cache on and off, as well as an AMD 386DX-40, Intel 486SX-25 and Intel 486DX-33. As is evident, the Cyrix TX486DLC/E-40GA performs like an Intel 486SX-25 in ALU operations if the L1 cache is disabled, but it will clobber the Intel 486DX-33 with the L1 cache enabled. This is a synthetic benchmark, so I'm not sure how the two CPUs will compare with a real world application. For FPU performance, my Cyrix TX486DLC/E-40GA system also had a generic 386-era FasMath chip installed, which was no match for the Intel486DX-33's built-in FPU.

In Windows 3.11, using WinPlay3, I was able to play 32 kbps mono mp3s on a 386-40Mhz (Cyrix CX486DLC) without skips or crackles.

I too couldn't get 256 KB of L2 cache stable on my motherboard, even though it has the jumper settings for it. So I am back at 128 KB of cache and 32 MB of RAM. The BIOS will correctly count the 32 MB of RAM, but Himem will not pass RAM check with more than 16 MB of RAM. I can bypass himem and got straight into Windows 3.11, but Windows will crash when it tries to access over 16 MB of RAM. I am wondering if you've run into this problem? Anybody have any ideas?

EDIT:
So I originally attached a 6 KB high quality PNG file, but the forum posted it as a low quality, larger, 15 KB JPEG file. Is there any way to force the image to stay in its original, small, format?
 
Last edited:
I don't know if this is the intent or not, but converting graphics files from one format to another is a good security measure, as malicious code buried in a graphics file is unlikely to survive the conversion. The invalid data gets discarded as part of the conversion process.

Most likely, if this board is converting GIFs and PNGs to JPEGs, it's probably also re-processing the JPEG files that get uploaded.
 
I too couldn't get 256 KB of L2 cache stable on my motherboard, even though it has the jumper settings for it. So I am back at 128 KB of cache and 32 MB of RAM. The BIOS will correctly count the 32 MB of RAM, but Himem will not pass RAM check with more than 16 MB of RAM. I can bypass himem and got straight into Windows 3.11, but Windows will crash when it tries to access over 16 MB of RAM. I am wondering if you've run into this problem? Anybody have any ideas?

Maybe the cache hardware has only enough address lines for 16MB.
 
Maybe the cache hardware has only enough address lines for 16MB.

I had tried with 16MB and it didn't work either. With 128K cache it works with whatever memory size. I'm starting to think it is the TAG RAM, as this boards manual says it wants a 32Kx8 RAM for this job, for 256K configuration and those I have might be 16x8. I tried to use one spear of the data 32Kx8 for tag, but it didn't work either. Maybe it needs something different for the tag
 
I have an ABIT FU340 rev.B board. The manual calls for something odd (to me at least) for the the TAG RAM when 256 KB L2 cache is desired. Instead of using a good ole 32Kx8 U7 TAG, as with many 486 boards, it wants two pieces of 64Kx4 at U14/U15. I think I must have been trying 256KB cache with 16Kx4 pieces instead, which is why it wasn't working.

This, however, does not explain why I cannot use uncached RAM above 16 MB.

A long time ago, I had another 386 board which worked fine with 256 KB cache, but the board called for a single 32Kx8 TAG piece. That board could address up to 32 MB RAM fine. I ended up tossing the board once I noticed how much better the L2 and RAM speed of this ABIT board was. I used cachechk to verify (if I recall correctly, both boards were maxed out in the BIOS for fastest timings).
 
I'm not sure what type the system requires. All I can get out of the spec sheet is 2 pieces of 64K x 4 are required for double-banked 256 KB L2 cache.
http://th2r.no-ip.info/th99/m/S-T/35051.htm

What type do you have?

The U7, U14/15 TAG RAM sockets on the board are 28 pins. So I figure the 64K x 4 needs to be less than or equal to 28 pins. The 16K x 4 module that was originally used for 64 KB L1 cache was 22 pins. Typical 15 ns, 64K x 4, modules I see online are 24 pins, so I figure all DIP-style 64K x 4 are 24 pins. Which modules do you have extras of?

I figure MCM6209CP15, TC55464P-15, HM6708P-15, etc might work, but I don't have the pieces to test. 12 ns should be fine too, like those CY7C194-12PC modules you have in your EISA 486.
 
Last edited:
As stated a 386/40 is about the same as a 486 DX/25 (mostly because of the slow 25mhz bus on the 486 vs 40 for the 386). It took an overclocked 486/133 (to 166) to get into speed of the first Pentium chips, or a Cyrix 5x120 or so which was a Pentium era chip stuffed into a 486 socket.

I'm not even going to presume to compete with that, as it sounds like you probably know more than I do; however, I question if a 386 DX-40 would really compare with a 486 DX-25. I had both back in the day when those were the normal affordable machines at their respective times. The 386 DX-40 was the AMD equivelant to the Intel 386 DX-33 (the AMD was faster, and cheaper by $5 bucks!). The only difference between a 486 SX and DX that I can remember is that the DX had a built in math co-processor, so unless your 386 also came with a co-processor in the math-co slot, it was probably more comparable to a 486 SX.

I suppose one way to boost Orion's 386 would be to swap out the chip with a Cyrix DLC processor or something. (he would just need to make sure to enable the onboard cache).
 
Based on the results people have been sending in on the "Help test a new benchmark" thread, a 486sx-25 was definitely slower than a 386dx-40. A result for a 486dx-25 has not yet been submitted. To be honest, I didn't think a 486dx-25 production computer existed; I'd only ever heard about 486-33s and above.
 
Based on the results people have been sending in on the "Help test a new benchmark" thread, a 486sx-25 was definitely slower than a 386dx-40. A result for a 486dx-25 has not yet been submitted. To be honest, I didn't think a 486dx-25 production computer existed; I'd only ever heard about 486-33s and above.

Wow, I had no idea a 386 DX could actually compete with a 486 of any type...

As for the DX-25. I remember a friend had an old IBM (actual brand) Desktop that had a 486 DX-25 in it... PRETTY SURE, but could be wrong.
 
486DX-25 did in fact exist- http://www.chipdb.org/cat-dx-25-318.htm As did machines with them in installed. Your test isn't conclusive yet Trixter. It would be fairer to say performance is similar given the same setup-video card(seemed to make a huge difference in the two 386DX40s tested), cache etc. Given it's a top of the line 386 and low end 486 that's being compared this does kind of make sense. Not unlike the early Pentiums and high end 486 class chips.

From memory 486SXs were those cpus that were below par on various tests on the production line, one being the co-pro test and instead of being trashed where sold, with co-pro disabled, as an SX. A quick google search shows there were 486SX16 and 486SX20s(really really bad ones on the production line?) cpus as well, which no dought the 386DX40 could well trounce without any effort.

Well maybe not http://vogons.zetafleet.com/viewtopic.php?t=23968
 
Last edited:
Cache makes a difference in speed, but as we all know the real killer is bus speed, and 40Mhz would beat others at the time. See this page for more info: http://redhill.net.au/c/c-4.html

What are you going to access at 40 MHz with that chip? Main RAM in that period wasn't faster than 50ns (40 MHz x 2 cycles). The only benefit the 40 Mhz bus clock would give is potentially faster transfers from L2 if you had L2. Add in the extra latency, and I'm guessing a 486/33 with on die L1 was still faster with most instruction mixes. Any real benchmarks to back up that claim?
 
What are you going to access at 40 MHz with that chip? Main RAM in that period wasn't faster than 50ns (40 MHz x 2 cycles). The only benefit the 40 Mhz bus clock would give is potentially faster transfers from L2 if you had L2. Add in the extra latency, and I'm guessing a 486/33 with on die L1 was still faster with most instruction mixes. Any real benchmarks to back up that claim?

I take it you didn't like the link I gave you. :) That claim was:
The 386DX-40 was the first CPU to run a 40MHz main board bus speed; perhaps this is why it was able to put so many 25 and 33MHz 486 systems to shame, and was able to keep on doing so right up until the day of the 486-66
Although I've got a 40Mhz 386, I haven't done any benchmarking and don't make any claims for myself. However, I see that other people do make claims to the superiority of the 386-40 over contemporary 486s. Another link is a remark by Mike Brutman in this other thread here. They could all be full of hooey for what I know. I'm just doing my research - for what it's worth.
 
Based on the results people have been sending in on the "Help test a new benchmark" thread, a 486sx-25 was definitely slower than a 386dx-40.
that's the problem with synthetics though -- it often doesn't test wide enough a range of operations.

For many things a 486 is literally TWICE as fast as an equivalent speed 386... for example:

ADD reg,reg
386: 2 clocks
486: 1 clock

ADD mem,reg
386: 7 clocks
486: 3 clocks

INC mem
386: 6 clocks
486: 3 clocks

JMP rel16
386: 7 + size of next operation in bytes
486: 3

From that you'd think "hey, a 25mhz 486 is equal to a 50mhz 386" -- But on other operations, the 486 is slower:

STOSW
386: 4 clocks
486: 5 clocks

MUL reg16
386: 9-22
486: 13-26

But notice it's only a wee bit slower. The lower memory 25mhz memory bus is indeed a great hinderance, but on the whole it tends to balance out on 'real world' code against the 386/40.... though to be conservative, I'd be more likely to compare the 386/33 to the 486/25 -- that seems a more fair 1:1... Especially since Intel never made a /40 (so far as I know) and I believe the AM386/40 actually has a few opcode timing differences... and you also have to keep the cache size in mind as that can be a massive game changer.

But for example, if your bench is memory access heavy, the 386/40 is going to win no question; you spend your time doing integer math, bitwise operations and conditional jumps, my money is on the 486/25.

Kind of like the 486DX-50 (the real 50, not the DX/2) vs. the 486DX/2-66 -- most applications they performed about the same, but on memory heavy operations the /50 kicked the DX/2's (and even the DX/4-133) so hard they saw the curvature of the earth.

Part of why back in the day I was running a AMD 586/133 at 3x50... which gave a P90 a run for it's money.

Oh, and for laughs, take a look at shifts on registers, which took LESS clock cycles on a 88/86/286 than the 386/486.
 
Last edited:
that's the problem with synthetics though -- it often doesn't test wide enough a range of operations.

Kind of like the 486DX-50 (the real 50, not the DX/2) vs. the 486DX/2-66 -- most applications they performed about the same, but on memory heavy operations the /50 kicked the DX/2's (and even the DX/4-133) so hard they saw the curvature of the earth.


I remember back in the day I had a 486 DX-50. It was pretty damned awesome for a lot of the games I was playing back then (like Wing Commander Privateer, Wing Commander Academy, etc). I upgraded from that to a 486 DX2-66... and it kind of seemed like I gained little to no performance from it. I went breifly to a 486 DX4/100 until I eventually bought a whole new (used) machine, a Pentium 60 server that I got for $500 bucks.

Heh...
 
Back
Top