PDA

View Full Version : Some details about using 20 MHz 387SX with a 33 MHz 386SX



Sir_Fartalot
March 9th, 2016, 06:13 AM
Dear all,


I want to add a numerical (mathematical, math) coprocessor co-processor to my motherboard which has a soldered-in 386SX running at 33MHz. More exactly, it is an AMD Am386 SX/SXL-33. The problem is that I have a 387SX running at 20 MHz, so I will have to set up my motherboard for asynchronous work with the NPU.

The motherboard is probably a Biostar MB-1325/1333ACA-S. I say "probably", because I could only determine it by looking at the images of 386 motherboards on Total Hardware. The closest one is http://www.uncreativelabs.de/th99/m/A-B/32442.htm
While some important elements of my motherboard are missing from that diagram, all the jumpers seem to be in the correct locations, so I will work on the assumption that I found my motherboard.

If you look at the page I linked to, you will see that I have to set jumper 7 to close pins 2 and 3 ("Clock mode select asynchronous"). That's the easy part! What you don't see on that diagram is that there is a socket for a crystal oscillator to the left of the 5th and 6th ISA slot. It is marked with "OSC 1". I assume but am not sure that I need to put an oscillator in there, so that the NPU can work at its own frequency. I also assume but am not sure that the frequency of the oscillator should be 20 MHz. However, note that often with motherboards there are frequency dividers and multipliers.

Can you please help me clarify whether my assumptions are correct? Many thanks in advance.

Oh, and BTW, this is my first ever post in this forum.

vwestlife
March 9th, 2016, 09:11 AM
Or you could just get a 33 MHz 387SX for about $20 on eBay:

http://www.ebay.com/itm/111505765996

Sir_Fartalot
March 9th, 2016, 10:22 AM
Or you could just get a 33 MHz 387SX for about $20 on eBay:

http://www.ebay.com/itm/111505765996

I will not do that for obvious reasons.

But in case it's not, here is a listing for two 20 MHz oscillators compatible with the socket in my motherboard. (http://www.aliexpress.com/item/2PCS-Ultra-cheap-discount-original-line-square-20M-20-000MHZ-active-crystal-oscillator/32313096724.html?spm=2114.01010208.3.1.jsGemJ&ws_ab_test=searchweb201556_1,searchweb201602_1_505 _506_503_504_301_10020_502_10001_10002_10017_10005 _10006_10003_10021_10004_10022_10018_10019,searchw eb201603_1&btsid=e7a7dadc-de00-43d6-a2a1-77d8e7945714)

jh1523
March 9th, 2016, 03:34 PM
What frequency is the main oscillator on the motherboard?

Sir_Fartalot
March 9th, 2016, 06:09 PM
What frequency is the main oscillator on the motherboard?

66 MHz.

gertk
March 9th, 2016, 08:04 PM
My guess is that when the jumper is set to asynchronous mode, the whole ISA subsystem will run at a lowered speed, probably the old 14.318 MHz, and the missing oscillator provides just that.
Why not set the CPU speed jumper to 25 MHz, plug in the 387 and see if it runs, I think it will run happily along at 25 MHz. I would try that first, then set the jumper to 33 MHz and see how it goes. Maybe stick a small cooler on top of the 387 if it gets warm/hot.

Sir_Fartalot
March 10th, 2016, 12:09 AM
My guess is that when the jumper is set to asynchronous mode, the whole ISA subsystem will run at a lowered speed, probably the old 14.318 MHz, and the missing oscillator provides just that.
Why not set the CPU speed jumper to 25 MHz, plug in the 387 and see if it runs, I think it will run happily along at 25 MHz. I would try that first, then set the jumper to 33 MHz and see how it goes. Maybe stick a small cooler on top of the 387 if it gets warm/hot.
I think your guess is wrong because the motherboard has also a 14.318MHz crystal (just the crystal, not a 4-pin oscillator).
You are right that I could set the CPU speed to 25 MHz, but this whole exercise with asynchronous clock mode is to maximize the clock speeds of both the CPU and the NPU. And this NPU is an Intel part, and from what I've read the Intel 387 was notorious for not handling overclocking well. Typically it would not complain, but calaclulation would result in gibberish results.

All I am asking here is, what should be the NPU's oscillator frequency.


That said.... yeah, I'll try those, just to see what happens. After all, this is all for fun.

bear
March 10th, 2016, 12:23 AM
Without the manual to refer to, we're all just guessing. But what you've described was a relatively common arrangement for a time, and your conclusions seem reasonable so far. Set the jumper for asynchronous, plug in a 20 MHz crystal, and hope for the best.

Sir_Fartalot
March 10th, 2016, 03:27 AM
Without the manual to refer to, we're all just guessing. But what you've described was a relatively common arrangement for a time, and your conclusions seem reasonable so far. Set the jumper for asynchronous, plug in a 20 MHz crystal, and hope for the best.

All I could find was the page on Total Hardware.I was counting on the patrons of this forum having had some experience in adding 387 NPUs to their motherboards, since I myself have none. I never added an NPU to any motherboard, 386 or otherwise.

I could, of course, add a 20 MHz oscillator. The problem is, it may clock the NPU at 10 MHz, which then I would not be able to detect: the NPU would give correct results, albeit at about half the speed. I could source a 40 MHz oscillator, at a modest additional expense, but i'd rather avoid that if I know it's almost certainly unnecessary. I have a bunch of 8 MHz and 16 MHz oscillators, from back in the day when I used to do embedded development as a hobby, but nothing even close to 40 MHz.

Anonymous Coward
March 10th, 2016, 05:43 AM
If you have a 16MHz oscillator, then the solution to your problem is obvious. Plug in the 16MHz part and see what speed the NPU runs at. If you run benchmark programs it should be somewhat clear if the FPU is running at 8 or 16MHz. Using the results of that test, you can then determine if you need to purchase a 20 or 40MHz oscillator.

I have installed FPUs many times, but I have never once tried an asynchronous configuration.

Trixter
March 10th, 2016, 08:09 AM
I will not do that for obvious reasons.

Reasons aren't obvious to me... why not? Shipping costs?

Sir_Fartalot
March 10th, 2016, 08:15 AM
If you have a 16MHz oscillator, then the solution to your problem is obvious. Plug in the 16MHz part and see what speed the NPU runs at. If you run benchmark programs it should be somewhat clear if the FPU is running at 8 or 16MHz.I am afraid I wouldn't be. I have no idea what any given application is supposed to gain from the NPU. And I would really need to have a good idea of the execution speed increase at any given clockspeed.
I'm still looking for the oscillators. Will get back when I have everything plugged in. (I found a bunch of 2.5 MHz oscillators - two dozens of them! Must have been a very cheap eBay opportunity, no idea...)

Stone
March 10th, 2016, 09:11 AM
http://www.vcfed.org/forum/images/misc/quote_icon.png Originally Posted by Sir_Fartalot http://www.vcfed.org/forum/images/buttons/viewpost-right.png (http://www.vcfed.org/forum/showthread.php?p=405498#post405498)
I will not do that for obvious reasons.


Reasons aren't obvious to me... why not? Shipping costs?Seriously, are you the only one here who's not a mindreader? :-)

Anonymous Coward
March 12th, 2016, 03:25 AM
I am afraid I wouldn't be. I have no idea what any given application is supposed to gain from the NPU. And I would really need to have a good idea of the execution speed increase at any given clockspeed


Unless your software is specifically coded for x87 instructions, there will be no execution speed increase. In any case, why bother trying to eyeball the speed increase when you can use a benchmark program that will report the results in a bar graph and allow you to compare against other systems?

T-R-A
March 12th, 2016, 04:49 AM
Unless your software is specifically coded for x87 instructions, there will be no execution speed increase.

Agreed, and in the era of the 386, there wasn't much that identified whether there was a co-pro available that there would be little if any noticeable benefit (maybe Excel/Access/Autocad):

http://www.informit.com/articles/article.aspx?p=130978&seqNum=20

Sir_Fartalot
March 12th, 2016, 10:01 PM
In any case, why bother trying to eyeball the speed increase when you can use a benchmark program that will report the results in a bar graph and allow you to compare against other systems?Is there a benchmark program for DOS or otherwise wchich would specifically determine the nmerical processor performance? I am not aware of any.

krebizfan
March 12th, 2016, 10:25 PM
Is there a benchmark program for DOS or otherwise wchich would specifically determine the nmerical processor performance? I am not aware of any.

The old Landmark test would test the FPU performance. It can be downloaded https://dosbenchmark.wordpress.com/otherbenchmarks/ amongst other places.

There is also Whetstones. http://www.roylongbottom.org.uk/oldones.htm has some and links to pages where you can compare results to other FPUs.

Sir_Fartalot
March 13th, 2016, 02:42 PM
The old Landmark test would test the FPU performance. It can be downloaded https://dosbenchmark.wordpress.com/otherbenchmarks/ amongst other places.

There is also Whetstones. http://www.roylongbottom.org.uk/oldones.htm has some and links to pages where you can compare results to other FPUs.

Thank you very much!