486 FPU Bug

Post new topic   Reply to topic    CPU-World.com forums Forum Index -> Modern Chips (Collectible Chips only)
View previous topic :: View next topic  
Author Message
CPUShack



Joined: 16 Jun 2003
Posts: 34259
Location: State of Jefferson, USA

PostPosted: Fri Aug 26, 2016 12:31 am    Post subject: 486 FPU Bug Reply with quote

So I did a quick write up on the introduction of the 486:
http://www.cpushack.com/2016/08/25/intel-i486-prototype-intels-gamble-with-cisc/

The original 486s had a pair of bugs in the FPU (B4 stepping) that was fixed in the B5 stepping (think this translates to the SX249-SX250 sspec)

Any one have further info on the stepping (or stepping as it relates to CPUID)

_________________
New for 2025! The CPU Shack has a co-processor!

Visit The CPU Shack of microprocessor history and information.
Back to top
View user's profile Send private message   Visit poster's website AIM Address MSN Messenger
bccwchan



Joined: 20 Sep 2004
Posts: 2585
Location: Hong Kong

PostPosted: Fri Aug 26, 2016 4:39 am    Post subject: Reply with quote

I don't know why I have great interests on Intel 486 cpus(Now I have 272). Intel made the wide range of different 486 cpu (SX, DX, DX2, overdrive).

It make us (all collectors) crazy to chase all spec for 486 series. We all know that it's almost impossbile to collect all spec. However, we're still chasing this impossible dream.
Back to top
View user's profile Send private message  
rjluna2



Joined: 27 Oct 2014
Posts: 1302
Location: Hiram, GA, USA

PostPosted: Fri Aug 26, 2016 6:44 am    Post subject: Reply with quote

What makes it harder to to keep track of the same model, but different release year version with different design.
Back to top
View user's profile Send private message  
debs3759



Joined: 18 Jan 2006
Posts: 9477
Location: Northampton, Divided Kingdom

PostPosted: Fri Aug 26, 2016 8:51 am    Post subject: Reply with quote

486 A stepping can be detected by the presence of CMPXCHG instruction (0F A6 /r or 0F A7 /r)
There are various FPU (and integer) bugs in 486 processors, but I have no idea which steppings they affect. If you find out, please let me know as I have started rewriting and updating my CPUID code. I can send you my cpuid.txt file with all the info I have if it helps.

_________________
My graphics card database can be found at http://www.gpuzoo.com.

I can resist anything except temptation.

Debs
Back to top
View user's profile Send private message  
frag_



Joined: 17 Nov 2008
Posts: 4015
Location: Estonia

PostPosted: Fri Aug 26, 2016 6:23 pm    Post subject: Reply with quote

There is well known stepping list:
http://datasheets.chipdb.org/Intel/x86/486/Intel486.htm

Some revision specific bugs/quirks:

BSF r0, r/m1
This opcode finds the lowest set bit in the r/m1
and put it's number in the first r0.
But if r/m1 is zero then early 486's
will load garbage in r0, but later ones will not change r0.
Not a bug but quirk - this case is officially undefined.

CMPXCHG, as debs said.
Two opcodes (0fa6, 0fa7) reused early 386 discarded instructions XBTS and IBTS.
Some old software didn't like it and CMPXCHG opcodes
starting with B stepping were remapped to 0fb0, 0fb1.

INSD
Early 486s may hang if recieving buffer is unaligned to 4.

INVD (and WBINVD)
On some 486 has no effect if executed while filling a line of cache.

JMP short
Only A to C0 steppings affected.
Very unlikely to happen bug, things goes wrong if this jump causes GP Violation while recieving NMI on the sme clock.

MOV
Only A to C0 steppings affected.
MOV TR5, r32
Can hang cpu if r32 bits 0 and 1 are not both zeroes.

Also disabling cache by writing required value to CR0 can change cache data.
(Surprisingly it's a bug, even disabled cahce must hold unchanged data!)

There is also this TR related bug:
http://www.rcollins.org/secrets/TR4Bug.html

FDIV - B4 stepping (and earlier?) as mentioned by John.

FPATAN
Some 486 affected.
Rare combination of commands before (?) FPATAN and data corrupts FPU stack.

FSCALE
Some 486s are not set Invalid Operation exception when they should.

FSINCOS - like FPATAN

There was also FPU bug when FERR# and IGNNE# signal was not handleld properly by FPU on some 486s.

Also SL-enchanted 486SX with A stepping (?!) can hang under certain conditions while running Advanced Power Management mode.

Unfortunately most of it can hardly be used due to all this "can", "in some condidtions".
But at least BSF looks worth testing.
Back to top
View user's profile Send private message [ Hidden ]
Display posts from previous:   
Post new topic   Reply to topic    CPU-World.com forums Forum Index -> Modern Chips (Collectible Chips only) All times are GMT - 5 Hours
Page 1 of 1
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Powered by phpBB © 2001 phpBB Group