VOGONS


First post, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie

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!

Last edited by aries-mu on 2018-12-05, 19:04. Edited 1 time in total.

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 2 of 10, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Koltoroc wrote:

Effectively nothing. The i487 is in fact a 486 DX that completely deactivates the host CPU.

Oh I didn't know that, thanks!
Then, the questions remain!!

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 3 of 10, by fitzpatr

User metadata
Rank Member
Rank
Member

Just to amplify on what Koltoroc said, the 487 is quite unlike the earlier 8087, 80287, and 80387 processors. The earlier Floating-Point Unit chips added floating-point functionality to the x86 processors.

the 487 was actually a 486DX in disguise. Rather than adding functionality to the existing processor, it completely takes over for the 486SX.

As a consequence of this, any board with a 487 socket is not designed to be a dual-processor system. It will only be able to use the 486 or the 487, but not both.

MT-32 Old, CM-32L, CM-500, SC-55mkII, SC-88Pro, SC-D70, FB-01, MU2000EX
K6-III+/450/GA-5AX/G400 Max/Voodoo2 SLI/CT1750/MPU-401AT/Audigy 2ZS
486 Build

Reply 4 of 10, by Koltoroc

User metadata
Rank Member
Rank
Member
aries-mu wrote:

Oh I didn't know that, thanks!
Then, the questions remain!!

487 deactivates host CPU, multi processing is not a thing. For that you need to find a dedicated multi CPU systems like the NCR systems found in this thread NCR System 3450: The Dual 486 110 Pound Monster.

the 487 wasn't really a thing for too long anyway. so only reasonably early boards will even have a socket for it and those will mostly predate clock doubled CPUs, so they likely would need an overdrive or evergreen upgrade to support clock doubled CPUs anyway (which incidentally DID exist for the 487 socket). There also never was a clock doubled 487. The original 487s are reasonably rare already because they were only marginally cheaper than a full DX anyway, which is not surprising since that is exactly what 487 is anyway, just with a slightly different pin layout to make it incompatible with the normal CPU socket. People figured that out rather early so that whole scheme was done away with rather quickly outside of boards with soldered SX CPU and I don't remember those being particularly popular even among OEMs

While 486 SX/2 CPUs were a thing, the 487 SX/2 were not. intel only made them for OEMs (I am aware only of sx/2 50) and the only other manufacturer I know for certain that made them was UMC (incredibly rare). TI might have made some but I'm not certain.

Also Clock multiplication applied at that time for the entire CPU. Selectively applying multipliers to different parts of a CPU is only a rather recent thing and granularity is generally on a per core basis.

Reply 5 of 10, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Koltoroc wrote:
487 deactivates host CPU, multi processing is not a thing. For that you need to find a dedicated multi CPU systems like the NCR […]
Show full quote
aries-mu wrote:

Oh I didn't know that, thanks!
Then, the questions remain!!

487 deactivates host CPU, multi processing is not a thing. For that you need to find a dedicated multi CPU systems like the NCR systems found in this thread NCR System 3450: The Dual 486 110 Pound Monster.

the 487 wasn't really a thing for too long anyway. so only reasonably early boards will even have a socket for it and those will mostly predate clock doubled CPUs, so they likely would need an overdrive or evergreen upgrade to support clock doubled CPUs anyway (which incidentally DID exist for the 487 socket). There also never was a clock doubled 487. The original 487s are reasonably rare already because they were only marginally cheaper than a full DX anyway, which is not surprising since that is exactly what 487 is anyway, just with a slightly different pin layout to make it incompatible with the normal CPU socket. People figured that out rather early so that whole scheme was done away with rather quickly outside of boards with soldered SX CPU and I don't remember those being particularly popular even among OEMs

While 486 SX/2 CPUs were a thing, the 487 SX/2 were not. intel only made them for OEMs (I am aware only of sx/2 50) and the only other manufacturer I know for certain that made them was UMC (incredibly rare). TI might have made some but I'm not certain.

Also Clock multiplication applied at that time for the entire CPU. Selectively applying multipliers to different parts of a CPU is only a rather recent thing and granularity is generally on a per core basis.

Wow man, thanks!
Technically, though, I wasn't wondering about multi-processing, rather about "multi-Frocessing" (just multiple floating-point units). However, the fact that the added 487 disables the 486 CPU, makes it of course impossible.

fitzpatr wrote:

Just to amplify on what Koltoroc said, the 487 is quite unlike the earlier 8087, 80287, and 80387 processors. The earlier Floating-Point Unit chips added floating-point functionality to the x86 processors.

the 487 was actually a 486DX in disguise. Rather than adding functionality to the existing processor, it completely takes over for the 486SX.

As a consequence of this, any board with a 487 socket is not designed to be a dual-processor system. It will only be able to use the 486 or the 487, but not both.

Thanks man, very interesting, I had no idea about that. I thought that the FPU in its own socket worked only as FPU together with the previous CPU.

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 6 of 10, by kixs

User metadata
Rank l33t
Rank
l33t

Weitek 4167 is a dedicated 487 FPU. Only early 486 boards have a socket for it. It was way faster than integrated 486DX. But software has to support it. Later when DX2 were released the 4167 was obsolete.

Comparison 486DX vs 4167:
https://www.youtube.com/watch?v=7w-ZCrvxBek

Requests are also possible... /msg kixs

Reply 7 of 10, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
kixs wrote:

Weitek 4167 is a dedicated 487 FPU. Only early 486 boards have a socket for it. It was way faster than integrated 486DX. But software has to support it. Later when DX2 were released the 4167 was obsolete.

Comparison 486DX vs 4167:
https://www.youtube.com/watch?v=7w-ZCrvxBek

Woooooow very interesting!!!!

Then, those 486 SLC motherboards with soldered Intel 387 but also empty Weitek socket, does it mean that if the Weitek FPU was installed they could handle both the FPUs at the same time, letting each software/app to use the preferred FPU?

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 8 of 10, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

SLC systems never had weitek sockets. Sometimes DLC boards did...and yes in theory you could use both at the same time.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 9 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++

The Weitek FPUs were available for 386(DX) and 486 mainboards.
In essence, these co-processors were memory-mapped devices.
This means that they did use memory a memory region (a window) to pass-through the data.
In some way or another, this is akin to how Expanded Memory worked.
EMM386 had an activation switch for these Weiteks.

So why wasn't Weitek widely supported ?
Well, I'm not sure if I can answer this. 😐
I think it had to do that the Abacus series was meant for fast single precission,
and required V86 or at least a Memory Manager.

That made it less compatible with older equipment at the time.
Also, with the advent of the 486, with his higher integer+floating point performance,
the Weiteks became less spectacular among professional users.

Woooooow very interesting!!!!

Haha, yes, I couldn't say it any better! ^^
If you like to see some Weiteks in action, have a look at these videos.

https://www.youtube.com/watch?v=7w-ZCrvxBek
https://www.youtube.com/watch?v=wAT7hbIOhgg

Edit: If you're interested in FPUs and vintage graphics in general, you may also like tohave a look at these:

Everything you want to know about math-coprocessors

Autodesk 3D Studio (DOS)

https://www.youtube.com/watch?v=zHq4tdb7Agg
https://www.youtube.com/watch?v=Sgq10etls5k

https://www.youtube.com/watch?v=UjVVi-k_IJc
https://www.youtube.com/watch?v=OkUfee1RQ0Y

Autodesk Animator (DOS)

https://www.youtube.com/watch?v=P359Z4vVtD8

Inmos Transputer CPU
https://www.youtube.com/watch?v=o7byWAv6qCk

Edit: Here's even more information on the Weitek Abacus..

Weitek 4167 Datasheet

http://www.geekdot.com/weitek-abacus-fpu/

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 10, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote:
The Weitek FPUs were available for 386(DX) and 486 mainboards. In essence, these co-processors were memory-mapped devices. This […]
Show full quote

The Weitek FPUs were available for 386(DX) and 486 mainboards.
In essence, these co-processors were memory-mapped devices.
This means that they did use memory a memory region (a window) to pass-through the data.
In some way or another, this is akin to how Expanded Memory worked.
EMM386 had an activation switch for these Weiteks.

So why wasn't Weitek widely supported ?
Well, I'm not sure if I can answer this. 😐
I think it had to do that the Abacus series was meant for fast single precission,
and required V86 or at least a Memory Manager.

That made it less compatible with older equipment at the time.
Also, with the advent of the 486, with his higher integer+floating point performance,
the Weiteks became less spectacular among professional users.

Woooooow very interesting!!!!

Haha, yes, I couldn't say it any better! ^^
If you like to see some Weiteks in action, have a look at these videos.

https://www.youtube.com/watch?v=7w-ZCrvxBek
https://www.youtube.com/watch?v=wAT7hbIOhgg

Edit: If you're interested in FPUs and vintage graphics in general, you may also like tohave a look at these:

Everything you want to know about math-coprocessors

Autodesk 3D Studio (DOS)

https://www.youtube.com/watch?v=zHq4tdb7Agg
https://www.youtube.com/watch?v=Sgq10etls5k

https://www.youtube.com/watch?v=UjVVi-k_IJc
https://www.youtube.com/watch?v=OkUfee1RQ0Y

Autodesk Animator (DOS)

https://www.youtube.com/watch?v=P359Z4vVtD8

Inmos Transputer CPU
https://www.youtube.com/watch?v=o7byWAv6qCk

Edit: Here's even more information on the Weitek Abacus..

Weitek 4167 Datasheet

http://www.geekdot.com/weitek-abacus-fpu/

Oh WOOOW Jo22 I missed this!!! this is all FANTASTIC material for my retrocomputing archive!! THANK YOU SO MUCH!!!! And sorry for the delay in replying!!! been piling up a 5-pages of Gmail inbox backlog...

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you