Skip to main content

Timeline for Intel CPU bug in the 90s

Current License: CC BY-SA 4.0

34 events
when toggle format what by license comment
Nov 2 at 14:28 comment added cup It is very rare that a bank would use sine or cosine - that is more for engineering companies. Banks would normally use square roots, and the 4 math functions. and maybe a bit of bit-shifting for the cryptology. The arithmetic that monetary applications use don't get more complicated than that but they do require high precision.
Nov 2 at 9:57 answer added Ofek Shilon timeline score: 2
S Feb 18, 2023 at 21:46 history suggested Sep Roland CC BY-SA 4.0
corrected grammar and spelling ("did not find" vs "haven't found")
Feb 18, 2023 at 19:18 review Suggested edits
S Feb 18, 2023 at 21:46
Oct 15, 2020 at 17:26 comment added supercat ...but rounding would bump the value up to 1000.0, which actually has four digits to the left of the decimal).
Oct 15, 2020 at 17:25 comment added supercat @DougWarren: What's the difference between Windows 3.1 and Windows 3.11? The calculator knows. Go to the Windows Calculator and type 3.11-3.1=. On Windows 3.10, the calculator will display "0.00", On Windows 3.11, the calculator will display "0.01". This issue is somewhat similar to a bug that was in in the printf for Turbo C 2.0 but fixed in 2.1, where printf("%1.1f", 999.96); would output 000.0 [it would determine that the value was at least 100 but less than 1,000 and thus needed three digits to the left of the decimal...
S Oct 15, 2020 at 16:17 history suggested Andreas Rejbrand CC BY-SA 4.0
improved grammar and typography
Oct 15, 2020 at 15:32 review Suggested edits
S Oct 15, 2020 at 16:17
Oct 14, 2020 at 17:36 comment added Mooing Duck More recently, AMD Ryzen 3000 had an issue where random number generation would always return -1. arstechnica.com/gadgets/2019/10/…
Oct 14, 2020 at 13:22 comment added Doug Warren A joke I heard at the time was: "At Intel, quality is job 0.999999999."
Oct 14, 2020 at 3:26 comment added Peter Cordes So basically Skylake now (with those microcode mitigations) has some performance glass-jaws that can limit throughput for small loops, which didn't exist in previous CPUs like Haswell. Ice Lake fixes some of that, (e.g. re-enable the loop buffer), but unfortunately many of the skylake-derived uarches like Coffee Lake don't.
Oct 14, 2020 at 3:13 comment added Peter Cordes @forest: and also disabled the hardware lock elision part of TSX, and sometimes RTM. That might partly be due to a new class of vulnerabilities being discovered (Spectre and then MDS) that weren't even anticipated when Skylake was being validated. But regardless, TSX has been a real Charlie Brown football situation: present in Haswell, disabled due to bugs. Present in Broadwell, disabled due to a different bug I think? Present in Skylake, then disabled due to security(?) bugs.
Oct 14, 2020 at 3:08 comment added Peter Cordes @forest: More recently, former Intel principal engineer, François Piednoël has said Skylake was more buggy than most previous designs. That matches up with the 2014 timeline that those anonymous sources report for Intel making changes to reduce QA / validation time: Skylake launched in mid 2015. It has bugs that required microcode updates to disable the loop buffer LSD, promote mfence to serializing OoO exec, disable the uop cache for JCC at a 32-byte boundary
S Oct 14, 2020 at 2:41 history edited Peter Cordes
fixed grammar of last sentence
S Oct 14, 2020 at 2:41 history suggested CommunityBot CC BY-SA 4.0
fixed grammar of last sentence
Oct 13, 2020 at 20:49 review Suggested edits
S Oct 14, 2020 at 2:41
Oct 13, 2020 at 16:19 answer added supercat timeline score: 26
Oct 13, 2020 at 15:44 vote accept gomd
Oct 13, 2020 at 15:33 comment added reirab @user3528438 So true about the errata. These can be really annoying when you run into them. A digital signal processor that we used on a project back over a decade ago - a product which we still manufacture to this day - had a couple of rather unfortunate silicon anomalies. One of them sometimes resulted in corruption of the DMA control registers when using the USB controller's DMA mode 0. The only listed workaround was to use mode 1. The other resulted in occasional corruption of the DMA control registers when using mode 1... with a listed workaround of using mode 0...
Oct 13, 2020 at 11:32 history edited Raffzahn CC BY-SA 4.0
deleted 8 characters in body
Oct 13, 2020 at 10:56 answer added Bagnus timeline score: 32
Oct 13, 2020 at 2:53 comment added forest Unfortunately, Intel has recently gotten rid of its validation team: danluu.com/cpu-bugs/#update
Oct 12, 2020 at 22:30 history became hot network question
Oct 12, 2020 at 21:43 comment added user3528438 Also every CPU has a tremendous bugs historically and now, google for "xxxx processor errata", e.g. ARM A77 errata is 59 pages: developer.arm.com/documentation/101992/0009
Oct 12, 2020 at 21:38 comment added user3528438 FYI fsin is a different bug that came much later, caused hard coded pi not large enough to handle very large inputs: cpushack.com/2014/10/15/…
Oct 12, 2020 at 20:08 comment added Tommy @mannaggia off the top of my head, since markets react to numbers they're in part big feedback systems; wherever there is feedback there is a chance for harmonic motion. So a classic case of if f''(x) = -f(x) then f(x) = cos(x)? I'm not a quant, I'm speculating wildly.
Oct 12, 2020 at 18:04 comment added mannaggia There were also bugs in the 80386 with 32-bit integer multiplication in the A1 and A2 stepping, but that was in the mid 80's. Not sure how sin/cos would be used in banking...
Oct 12, 2020 at 16:55 comment added Euro Micelli Such bugs do happen (see infamous FDIV bug mentioned by others), but this particular story appears to be a bit distorted. It's hard to imagine what use could a bank have for trigonometric functions, and the values of trigonometric functions have been tabulated for decades if not centuries to high precision - any discrepancy could be easily verified without hiring someone to examine algorithms. The FDIV bug is not a close match because Intel was indeed wrong on that one (and the error was not algorithmic but a missing column in a lookup table). Looking forward to a closer match.
Oct 12, 2020 at 15:30 comment added peterh There was a problem with the floating point multiplication. I did not hear about a sin/cos bug.
Oct 12, 2020 at 14:35 answer added Stephen Kitt timeline score: 91
Oct 12, 2020 at 14:34 answer added dave timeline score: 4
Oct 12, 2020 at 14:30 review First posts
Oct 12, 2020 at 15:30
Oct 12, 2020 at 14:30 comment added dave It's true. I got a CPU change out of it. I'll see if I can find a reference.
Oct 12, 2020 at 14:26 history asked gomd CC BY-SA 4.0