VOGONS


First post, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

I've never tried this before, but I want to run an intel 387SX-25 FPU in asynchronous mode with AMD 386SX-33 CPU.

The motherboard is Zida 8517 V3.2 (identical to ECS 8517 board, Gemlight GMB-386SAT and 303N1) with AMD Am386SX/SXL-33 CPU. There is an empty socket for a FPU active crystal oscillator (OSC-1) and a jumper to set FPU asynchronous mode (J10) on the board.

The FPU is intel N80387SX-25. It was tested on another mobo (M396F ver. 3.0) with PLL chip and AMD Am386SX-40 CPU and it runs fine in synchronous mode with the CPU only up to 25 MHz i.e. it can't sustain 33 MHz (or more) overclock.

What active crystal oscillator do I need to install for 25 MHz FPU operation frequency - 25 or 50 MHz?

Last edited by analog_programmer on 2025-04-15, 02:40. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 1 of 4, by Horun

User metadata
Rank l33t++
Rank
l33t++

OK let me see if I can recall it proper.... in Sync mode both (386 and 387) use same cpu2 clock/crystal and divides by two.
In Async the cpu still uses cpu2 clock but fpu uses mclock and divides it by two, the ratio of the fpu clock to cpu2 clock must fall between 66% and 133% for solid proper async.
(Someone else needs to check me on that as just got off work and am 1/2 brain drained, have not checked the datasheets and going by memory)....
so in your case a 50mhz clock for 25mhz fpu and 66mhz clock for 33mhz cpu. 50/66 = 0.75 which is within the ranges....
so 50mhz crystal

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 4, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie
Horun wrote on 2025-04-14, 23:52:

OK let me see if I can recall it proper.... in Sync mode both (386 and 486) use same cpu2 clock/crystal and divides by two.

Exactly.

Horun wrote on 2025-04-14, 23:52:

In Async the cpu still uses cpu2 clock but fpu uses mclock and divides it by two, the ratio of the fpu clock to cpu2 clock must fall between 66% and 133% for solid proper async.
(Someone else needs to check me on that as just got off work and am 1/2 brain drained, have not checked the datasheets and going by memory)....

I think this is valid for the older 286 systems, where 287 FPUs use 2/3 or 1/2 of the CPU frequency. But I don't know what the situation is with 386 systems, as no other than intel's 387 FPUs can be used in asynchronous mode.

Horun wrote on 2025-04-14, 23:52:

so in your case a 50mhz clock for 25mhz fpu and 66mhz clock for 33mhz cpu. 50/66 = 0.75 which is within the ranges....
so 50mhz crystal

Yes, the installed oscillator for the 386SX-33 CPU is 66 MHz (OSC-2 on my motherboard), but I'm not sure if intel 387SX FPU also uses 1/2 multiplier, when it's driven by its own oscillator (OSC-1 on my motherboard). And that's why I'm asking what will be the right crystal oscillator frequency for a 25 MHz i387SX FPU with its own oscillator.

Last edited by analog_programmer on 2025-04-15, 07:02. Edited 1 time in total.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.

Reply 3 of 4, by Horun

User metadata
Rank l33t++
Rank
l33t++

OK I see your problem but if the mclock was not also internally divide by 2, like the cpu2 clock for the cpu then you could never run a 387sx on a 386sx, it would not fit the the cpu2 clock (which is divided internally by 2).
From datasheet "4.1.2 Intel387 MATH COPROCESSOR CLOCK 2
(NUMCLK2) When CKM = 0 (asynchronous mode), this pin provides the clock for the data interface and control unit and the floating point unit of the Math CoProcessor.
In this case, the ratio of the frequency of NUMCLK2 to the frequency of CPUCLK2 must lie within the range 10:16 (0.625) to 14:10 (1.40) and the maximum frequency must not exceed the device specifications.
When CKM = 1 (synchronous mode), signals on this pin are ignored: CPUCLK2 is used instead for the data interface and control unit and the floating point unit."
So for a 66Mhz cpu2 clock, the mathco nclock2 (async mode) would have to be 41.25mhz minimum to 92.5Mhz to fit that range. Did Intel make a 40Mhz to 90Mhz fpu?
You cannot have a 25Mhz direct clock for the 25Mhz fpu nclock2 because that would be 0.38 based on above ( range 10:16 (0.625) to 14:10 (1.40) to 66Mhz cpuclk2) ....but the 50Mhz clock (crystal) would be 0.75...
Just going over the logic versus Intels poorly written datasheet.....

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 4 of 4, by analog_programmer

User metadata
Rank Oldbie
Rank
Oldbie

Ok, then I'll bet, that in async. mode i387SX FPU also uses 2 divisor (or 1/2 multiplier, to be correct) for the frequency from its own OSC-1 oscillator. So, if I install 50 MHz active crystal oscillator in OSC-1 socket, my i387SX-25 FPU will work with 25 MHz frequency (which is the right frequency for it) and in specs range for async. mode frequencies when paired with 33 MHZ (50/66 = 0.76) and even 40 MHz (50/80 = 0.625) 386SX CPU.

Thanks, Horun, I'll order a 50 MHz active crystal oscillator.

The word Idiot refers to a person with many ideas, especially stupid and harmful ideas.
This world goes south since everything's run by financiers and economists.
This isn't voice chat, yet some people overusing online communications talk and hear voices.