TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Intel's $475M error: the silicon behind the Pentium division bug

378 pointsby gslin5 months ago

22 comments

kens5 months ago
Author here if anyone has Pentium questions :-)<p>My Mastodon thread about the bug was on HN a few weeks ago, so this might seem familiar, but now I&#x27;ve finished a detailed blog post. The previous HN post has a bunch of comments: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42391079">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42391079</a>
评论 #42539938 未加载
评论 #42535746 未加载
评论 #42538127 未加载
评论 #42537164 未加载
评论 #42538878 未加载
评论 #42545985 未加载
evanmoran5 months ago
The bug is super fun, but I also find the Intel response to be fascinating on its own. They apparently didn’t replace everyone’s processor with a non faulty version who wanted it, resulting in a ton of bad press.<p>To contrast, I’ve been thinking a lot about the Amazon Colorsoft launch, which had a yellow band graphics issue on some devices (mine included). Amazon waited a bit before acknowledging it (maybe a day or two, presumably to get the facts right). Then they simply quietly replace all of them. No recall. They just send you a new one if you ask for it (mine replacement comes Friday, hopefully it will fix it). My takeaway is that it’s pretty clear that having an incredibly robust return&#x2F;support apparatus has a lot of benefits when launches don’t go quite right. Certainly more than you’d expect from analysis.<p>Similarly I haven’t seen too many recent reports about the Apple AirPod Pros crackle issue that happened a couple years ago (my AirPods had to be replaced twice), but Apple also just quietly replaced them and the support competence really seemed something powerful that isn’t always noticed.<p>Colorsoft: <a href="https:&#x2F;&#x2F;www.tomsguide.com&#x2F;tablets&#x2F;e-readers&#x2F;amazon-kindle-colorsoft-yellow-stripe-defect-now-has-a-culprit" rel="nofollow">https:&#x2F;&#x2F;www.tomsguide.com&#x2F;tablets&#x2F;e-readers&#x2F;amazon-kindle-co...</a><p>AirPods Pro: <a href="https:&#x2F;&#x2F;support.apple.com&#x2F;airpods-pro-service-program-sound-issues" rel="nofollow">https:&#x2F;&#x2F;support.apple.com&#x2F;airpods-pro-service-program-sound-...</a>
评论 #42537288 未加载
评论 #42537446 未加载
评论 #42536983 未加载
评论 #42538425 未加载
评论 #42536879 未加载
hinkley5 months ago
&gt; Intel&#x27;s whitepaper claimed that a typical user would encounter a problem once every 27,000 years, insignificant compared to other sources of error such as DRAM bit flips.<p>&gt; However, IBM performed their own analysis,29 suggesting that the problem could hit customers every few days.<p>I bet these aren’t as far off as they seem. Intel seems to be considering a single user, while I suspect IBM is thinking in terms of support calls.<p>This is a problem I’ve had at work. When you process a 100 million requests a day the one in a billion problem is hitting you a few times a month. If it’s something a customer or worse a manager notices, they ignore the denominator and suspect you all of incompetence. Four times a month can translate into “all the time” in the manner humans bias their experiences. If you get two statistical clusters of three in a week someone will lose their shit.
评论 #42535889 未加载
WalterBright5 months ago
&gt; It appears that only one person (Professor Nicely) noticed the bug in actual use.<p>I recall a study done years ago where students were supplied calculators for their math class. The calculators had been doctored to produce incorrect results. The researchers wanted to know how wrong the calculators had to be before the students noticed something was amiss.<p>It was a factor of 2.<p>Noticing the error, and being affected by the error, are two entirely different things.<p>I.e. how many people check to see if the computer&#x27;s output is correct? I&#x27;d say very, very, very few. Not me, either, except in one case - when I was doing engineering computations at Boeing, I&#x27;d run the equations backwards to verify the outputs matched the inputs.
评论 #42541866 未加载
评论 #42537268 未加载
WalterBright5 months ago
I remember that bug. Because I could not control what CPU my customers were running on, I had to add special code in the library to detect the bad FPU and execute workaround code (this code was supplied by Intel).<p>I.e. Intel&#x27;s problem became my problem, grrrr
stickfigure5 months ago
Reminds me of a joke floating around at the time that captures a couple different 90s themes:<p><pre><code> I AM PENTIUM OF BORG. DIVISION IS FUTILE. YOU WILL BE APPROXIMATED.</code></pre>
评论 #42545743 未加载
dboreham5 months ago
Another great article from Ken. I remember this particularly because the first PC that I bought with my own money had an affected CPU. Prior to this era I hadn&#x27;t been much interested in PCs because they couldn&#x27;t run &quot;real&quot; software. But Windows NT changed that (thank you Mr. Cutler), and Taiwanese sourced low cost motherboards made it practical to build your own machine, as many people still do today. Ken touched on the fact that it was easy for users to check if their CPU was affected. I remember that this was as easy as typing a division expression with the magic numbers into Excel. If MS had released a version of Excel that worked around the bug, I suspect fewer users would have claimed their replacement device!
评论 #42537119 未加载
urbandw311er5 months ago
What an interesting and utterly dedicated analysis. Thank you so much for all your work analysing the silicon and sharing your findings. I particularly like how you’re able to call out Intel on the actual root cause, which their PR made sound like something analogous to a trivial omission. But, in fact, was less forgivable and more blameworthy, ie they stuffed up their table generation algorithm.
ThrowawayTestr5 months ago
&gt;Smith posted the email on a Compuserve forum, a 1990s version of social media.<p>I hate how this sentence makes me feel.
评论 #42537239 未加载
评论 #42536953 未加载
评论 #42547318 未加载
Sniffnoy5 months ago
Given that the fixed table is a much simpler one (by letting out-of-bounds just return 2, rather than adding circuitry to make it return 0), I wonder why they didn&#x27;t just do it that way in the first place?
评论 #42537833 未加载
评论 #42536716 未加载
评论 #42536700 未加载
评论 #42536939 未加载
评论 #42537434 未加载
Jean-Papoulos5 months ago
&gt;Since only one in 9 billion values caused the problem, Intel&#x27;s view was that the problem was trivial: &quot;This doesn&#x27;t even qualify as an errata.&quot;<p>This sounds utterly insane. You are making a CPU, if any calculations are wrong it needs to be fixed ?? I supposed this only came to light very late into testing and it was very impractical to bin every cpu, so they rolled the dice.
ijustlovemath5 months ago
&gt; Curiously, the adder is an 8-bit adder but only 7 bits are used; perhaps the 8-bit adder was a standard logic block at Intel.<p>I believe this is because for any adder you always want 1 bit extra to detect overflow! This is why 9 bit adders are a common component in MCUs
评论 #42541463 未加载
chiph5 months ago
I&#x27;m surprised they took the risk of extending the lookup table to have all 2&#x27;s in the undefined region. A safer route would have been to just fix the 5 entries. Someone was pretty confident!
评论 #42542830 未加载
hyperman15 months ago
How did idiv work on the pentium. Was it also optimized, or somehow connected to fdiv, or just the old slow algorithm?
keshavmr5 months ago
At the 2012 Turning Award conference in San Francisco, Prof William Kahan mentioned that he had a newer test suite available in 1993 that would have caught Intel&#x27;s bug. Still, Intel did not run that.. Prof. Kahan was actively involved in its analysis and further testing. (I&#x27;m stating this just from memory).
CaliforniaKarl5 months ago
&gt; The explanation is that Intel didn&#x27;t just fill in the five missing table entries with the correct value of 2. Instead, Intel filled all the unused table entries with 2.<p>I wonder why they didn&#x27;t do this in the first place.
评论 #42543418 未加载
Unearned51615 months ago
From someone who had to mentally let go once you started talking about planes crossing each other, thank you for such an amazingly detailed writeup. It&#x27;s not everyday that you learn a new cool way to divide numbers!
tgma5 months ago
Intel $475B error: not building a decent GPU
评论 #42536947 未加载
评论 #42538128 未加载
fourseventy5 months ago
Didn&#x27;t Intel have floating point division issues more recently as well?
评论 #42535716 未加载
评论 #42535707 未加载
coin5 months ago
&gt; He called Intel tech support but was brushed off<p>I laughed when I read this. It’s hard enough to get support for basic issues, good luck explaining a hardware bug.
pieterr5 months ago
Reminds me of part 2 of day24. Some wrong wirings. ;-)<p><a href="https:&#x2F;&#x2F;adventofcode.com&#x2F;2024&#x2F;day&#x2F;24" rel="nofollow">https:&#x2F;&#x2F;adventofcode.com&#x2F;2024&#x2F;day&#x2F;24</a>
fortran775 months ago
&quot;At Intel, Quality is job 0.9999999999999999762&quot;