VOGONS


First post, by Aui

User metadata
Rank Member
Rank
Member

Hi, I was wondering if FPU frequencies for 286 and 386 main CPU's are fixed or variable (or both ?). I have seen labels like:

"Intel 387DX-25 A80387DX 25 MHz i387DX Coprocessor"
but also "A80387DX 16-33"

likewise: AMD P80C287-12
but also: i287XL C80287XL - 4 MHz - 12.5 MHz

thanks

Reply 1 of 9, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie

Typically, the FPU for a 286 and 386 runs at the CPU clock, which is generated on the motherboard. Either by a Crystal or Oscillator module, or by a frequency divider/multiplier circuit.

Those ratings just indicate the range of host CPU clock that particular FPU can run at.

Reply 2 of 9, by rasz_pl

User metadata
Rank l33t
Rank
l33t

8087 needed FPU snooping on CPU bus meaning it had to run at CPU clock
287/387 use message passing and can run at any clock you want

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 3 of 9, by kingcake

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2024-11-01, 00:56:

8087 needed FPU snooping on CPU bus meaning it had to run at CPU clock
287/387 use message passing and can run at any clock you want

Is that right? I thought only 287 could run async?

Reply 4 of 9, by PiotrUU

User metadata
Rank Newbie
Rank
Newbie

All 287 can run syn/asyn.
Only Intel 387 can work syn/asyn. The frequency cannot be arbitrary - in practice it can only differ by one step. ( see pdf for intel fpu )
FPUs ( 387 ) from other manufacturers always work with the cpu clock. ( of course apart from x2 models - but those are very rare )

Reply 5 of 9, by Aui

User metadata
Rank Member
Rank
Member

so an "INTEL A80387DX 16-33" would work with a 386DX-25,

and an  i287XL C80287XL - 4 MHz - 12.5 MHz would work with a 286-12 . Is this correct?

thanks

Reply 6 of 9, by kixs

User metadata
Rank l33t
Rank
l33t

It's not as straightforward... Some 287 FPUs divide internal clock by 3, others by 2. Also some don't at all - depending on the signal of one pin. I never went into details myself so can't comment more on this.

Otherwise just install the FPU and it will work fine.

I've tested an overclocked 286-30 (60MHz oscillator) with Intel 287XL and Cyrix 287XL+. So they run at least at 20MHz and worked fine.

Recommended FPU read:
https://mikro.naprvyraz.sk/docs/Coding/Hardware/COPRO16A.TXT

Visit my AmiBay items for sale (updated: 2025-10-29). I also take requests 😉
https://www.amibay.com/members/kixs.977/#sales-threads

Reply 7 of 9, by pentiumspeed

User metadata
Rank l33t
Rank
l33t
Aui wrote on 2024-11-01, 23:02:

so an "INTEL A80387DX 16-33" would work with a 386DX-25,

and an  i287XL C80287XL - 4 MHz - 12.5 MHz would work with a 286-12 . Is this correct?

thanks

Yes to both. You have 386DX-25 and found a Intel 387 16-33, also another choices like IIT, ULSI etc. Suppose you found one that is rated for 40MHz, when plugged in, this will run at 25MHz as well which will work.

Similarly, if you found a 287 coprocessor that is rated up to 12MHz your motherboard have a 286 processor at 12.5MHz and a motherboard is set for less for 287 in async mode at less clocking, or sync mode at 12.5MHz, will still work.

But just to note. Another thing; suppose you found a 387 that is rated for 16MHz and you accidentally plug this ebay cheapie into into the 386-25MHz, that is considered overclocking the 387, in other words, that may work or not. Just don't risk that overclocking always work based on assumption.

Cheers,

Great Northern aka Canada.

Reply 8 of 9, by mkarcher

User metadata
Rank l33t
Rank
l33t
pentiumspeed wrote on 2024-11-02, 00:29:
Aui wrote on 2024-11-01, 23:02:

so an "INTEL A80387DX 16-33" would work with a 386DX-25,

But just to note. Another thing; suppose you found a 387 that is rated for 16MHz and you accidentally plug this ebay cheapie into into the 386-25MHz, that is considered overclocking the 387, in other words, that may work or not. Just don't risk that overclocking always work based on assumption.

You are correct in case the FPU and CPU run at the same clock. On the other hand, if a mainboards supports clocking the Intel FPU at 16MHz and the the 386 processor at 25MHz, this combination will work without any overclocking. Keep in mind that (as already stated in this thread), only Intel 387 FPUs support running at a diffent (but similar) speed to the 386. The FPU gets fed both the FPU clock (for internal operation) and the CPU clock (for the bus interface). Third-party 387 processors (like Cyrix ones) ignore the FPU clock pin and just run at the CPU clock.

Reply 9 of 9, by Aui

User metadata
Rank Member
Rank
Member

Thanks again for the good explanation and advice. I can confirm that it looks ... aehm... works perfectly. Looking forward to all those complex calculations Im going to make in the future!

The attachment 20241108_180916.jpg is no longer available