• Please review our updated Terms and Rules here

486 DX CPU + 487 FPU in dedicated FPU socket

AriesMu

Member
Joined
Jun 23, 2016
Messages
26
Hi all!

I wonder what would have happened in those good old 486 systems with both CPU and FPU sockets if this scenario were to happen:

• 486 SX CPU replaced with a 486 DX one
• 487 FPU installed in its socket

We would have then 1 CPU and 2 FPUs!

1) Would non-multiprocessing operating systems (like DOS) be able to "see" both the FPUs? Indeed, it wouldn't be a multi-CPU system

2) Would FPU-capable applications (like Excel, AutoCAD) be able to "use" both the FPUs under a non-multiCPU operating system like MS-DOS?

3) Would FPU-capable applications (like Excel, AutoCAD) be able to "use" both the FPUs under a multiCPU operating system like Windows NT?

4) Would a multiCPU operating system like Windows NT be able to "see" both the FPUs?


If the answer is NO to all of the above, which of the following would apply?

...a) The system would crash / not boot
...b) The system would work and both OS and apps would ignore the external 487 FPU
...c) The system would work and both OS and apps would ignore the CPU-integrated internal FPU, using only the external 487 FPU
...d) The system would work and the apps would ask which FPU to use (highly unlikely I guess)

In any case, I wonder: by keeping EVERYTHING ELSE identical (even CPU clock, for example a 33 MHz, same internal and external cache, same RAM, etc.), for IDENTICAL tasks which of the following would produce better floating-point performances?

.......i) 486 SX 33 + 487 33 FPU
.......ii) 486 DX 33

My guess would be ii), because for sure an internal-CPU-integrated FPU must have faster CPU==FPU bus/frequency and maybe even bandwidth in terms of bit... I kind of have a semi-subconscious reminiscence as though a CPU==FPU internal bus would be a 128 bit channel??

.......iii) As a variation of points i) and ii), even though the bits of the internal CPU==FPU bus of the DX are the same as the external FPUed bus, what about a 486 SX2 66 + 487 66 FPU (overclocked from a 40 or 50 MHz if not available, and assuming the overclock performance and efficiency would be identical to that of a native 487 66 MHz FPU if it existed officially) vs 486 DX2 66 comparison? (yes, I saw old computer magazines with ads of stores selling 486 SX2 CPUs, so they should be real). In this scenario, the external bus surely has half the speed of the internal CPU clock. So, my guess is that a 486 DX2 66 would perform better, as CPU and FPU would always communicate at 66 MHz, while in the case of 486 SX 66 + 487 66 the data would have to pass through the motherboard, which bus would be clocked at 33 MHz, correct?

.......iv) From which the question: when a 486 CPU is clock-multiplied (let's say DX2s and DX4s), does the internal FPU operate before or after the internal clock multiplier, aka does it operate at the bus or at the CPU frequency?

In my opinion, the answers are:

• From point 1 to point d → Point c) is the one
• Point ii is true
• Point iii → true is that the DX2 66 is faster
• Point iv → FPU operates at the same clock as the CPU

What do you think?

Thanks so much all!
 
You can try it yourself but IIRC, only the 487 in the 487 socket will do anything. For a person on a budget, a lot of 486 motherboards let someone put a 487 in the 486 socket. The 487 was considerably cheaper than the Intel 486DX and sometimes even cheaper than the 486SX. Remember, the 487 is just a 486DX with an extra pin.

1) No. Even a multiprocessing OS won't be able to see both chips. There is a signal sent from the 487 that shuts down the 486SX or 486DX.

The dual FPU issue can occur. I have a motherboard (486SLC) with soldered in 387 and a Weitek socket. I never tried inserting a Weitek chip to see how it decides between the two FPUs.
 
You can try it yourself but IIRC, only the 487 in the 487 socket will do anything. For a person on a budget, a lot of 486 motherboards let someone put a 487 in the 486 socket. The 487 was considerably cheaper than the Intel 486DX and sometimes even cheaper than the 486SX. Remember, the 487 is just a 486DX with an extra pin.

1) No. Even a multiprocessing OS won't be able to see both chips. There is a signal sent from the 487 that shuts down the 486SX or 486DX.

The dual FPU issue can occur. I have a motherboard (486SLC) with soldered in 387 and a Weitek socket. I never tried inserting a Weitek chip to see how it decides between the two FPUs.

Very interesting, thanks!

Then I guessed correctly that the 487 would have ignored the 486 DX's FPU.

About your experiment, my guess is that once the Weitek socket is populated, it disabled the soldered 387. The reasoning behind the guess is this: why to even equip a 387-soldered motherboard with a Weitek socket? Maybe because they considered the Weitek co-processor more performant than the 387, hence they must have added some mechanism to automatically exclude the 387 from being run.

Another guess (but seems too optimistic) is that, since the possible coexistence of a 387 and a weitek fpu is predicted by the manufacturer of the mobo by soldering the first and predisposing an empty socket for the second, maybe they added circuitery and controls to let the operating system or the software choose what FPU to use: Intel-compatible floating-point software would then see and use the 387, while Weitek-compatible software would use the second....

Interesting test though!
 
The dual FPU issue can occur. I have a motherboard (486SLC) with soldered in 387 and a Weitek socket. I never tried inserting a Weitek chip to see how it decides between the two FPUs.

The 387 and 3167 work differently. The former is a proper co-processor and provides extra instructions that aren't otherwise present. The latter is a memory-mapped I/O device. They are programmed completely differently, so it's the software that "decides".
 
You can try it yourself but IIRC, only the 487 in the 487 socket will do anything. For a person on a budget, a lot of 486 motherboards let someone put a 487 in the 486 socket. The 487 was considerably cheaper than the Intel 486DX and sometimes even cheaper than the 486SX. Remember, the 487 is just a 486DX with an extra pin.

1) No. Even a multiprocessing OS won't be able to see both chips. There is a signal sent from the 487 that shuts down the 486SX or 486DX.

The dual FPU issue can occur. I have a motherboard (486SLC) with soldered in 387 and a Weitek socket. I never tried inserting a Weitek chip to see how it decides between the two FPUs.

what happened to my previous reply?
 
The dual FPU issue can occur. I have a motherboard (486SLC) with soldered in 387 and a Weitek socket. I never tried inserting a Weitek chip to see how it decides between the two FPUs.

Weitek and Intel x87 FPUs are programmed differently. x87 extends x86 instruction set by intercepting and executing FPU instructions. Weitek FPUs are memory mapped peripherals.
I assume you can have both installed, and it will depend on the software which one is getting used. Theoretically both could be used at the same time...
 
Weitek and Intel x87 FPUs are programmed differently. x87 extends x86 instruction set by intercepting and executing FPU instructions. Weitek FPUs are memory mapped peripherals.
I assume you can have both installed, and it will depend on the software which one is getting used. Theoretically both could be used at the same time...

I see, great, very interesting, thanks!
 
Back
Top