臭名昭著的Bug们之二:Intel 奔腾浮点除Bug

2024-04-05 03:32

本文主要是介绍臭名昭著的Bug们之二:Intel 奔腾浮点除Bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1994年10月30日,Lynchburg (佛吉尼亚)学院的 Thomas R. Nicely 博士在他的一个试验中追踪到一个未曾预期的结果,是在他的奔腾PC的一个除法问题引起的不正确答案。他将发现发到了Internet上,很快,引发了狂风 烈火,无数人重现了他发现的问题,并发现了其它会产生错误答案的情形。幸运的是,这些情况很少见,只在极端的大量数学、科学和工程计算中会导致错误结果。 大多数人在报税和运行业务时从不会遇到这类问题。

这一事件引人注目的不是bug本身,而是Intel处理这一情况的方式:
  • 在芯片发布之前,他们的软件工程师在自己的测试中发现了这个问题。Intel的管理层决定问题没有严重到足以确保修复,甚至公开它。
  • 当bug被发现之后,Intel试图通过媒体和公开声明减小问题被认为的严重性。
  • 迫于压力,Intel提出更换有问题的芯片,但只是对于能够证明被这个bug影响的用户。

群情激怒,Internet新闻组塞满了愤怒的客户,要求Intel解决这一问题。新闻记事将Intel描绘成对客户漠不关心和不被信任的。最终,Intel为它处理bug的方式道歉,并化费了4亿多美元更换坏的芯片。现在,Intel在它的网站上报告已知的问题,并小心关注Internet新闻组上客户的反馈。毕竟是损失惨重啊!

2000年8月28日,在投产一个月并发货之后,Intel宣布召回所有的1.13MHz奔腾III处理器。问题发现在,特定的指令会造成运行的应用冻结。于是,计算机生产商们制定计划召回已经在客户手中的PC,计算更换有缺陷的芯片的成本。一切又重来一回。

这与技术无关,是管理层错误决策的问题。

 

这篇关于臭名昭著的Bug们之二:Intel 奔腾浮点除Bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877533

相关文章

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo

Pr 入门系列之二:导入与管理素材(下)

◆  ◆  ◆ 管理素材 导入素材后,项目面板中每一个媒体都只是原始素材的“链接”。 所以,视频编辑过程中一般情况下都不会破坏原始素材。 1、在不同视图模式下组织素材 项目面板提供了三大视图 View供选用:列表视图、图标视图以及自由格式视图。 A. 锁定 B. 列表视图 C. 图标视图 D. 自由格式视图 E. 缩放滑块 F. 排序图标 G. 自动匹配序列 H. 查找 I. 新建素材箱 J.

将浮点型算式的中缀表达式转换成后缀表达式并算出式子结果

最近因为需要了解如何将在Win应用程序控制台输入的算式表达式转化成其后缀表达式的算法,所以在网上搜索了一下,看到许多人的程序都只是对应于运算数在0~9的范围内的整型运算式,所以自己就写了一个可以计算浮点型算式的程序,一下是运行时的截图: 式子中的a,b,c是可供用户自行输入的变量。 首先,我先对输入的运算符进行了简单的合法性判断,我的判断代 码如下: //函数的传入参

高精度计算----减法运算(浮点型)

基于上一贴,修改减法运算适合于高精度浮点型计算。 因为减法比加法难度大一点,考虑的地方也要多一些,可能代码有欠缺,欢迎指出。 运算说明: 1、相减函数依旧没改变,包括上一贴的判断被减数与减数的大小函数也没变。 2、增加两个函数,取小数位数函数和结果处理(回归小数点)函数 3、与加法浮点高精度运算相比,这里改变较多的是结果处理函数,加法加完后,位数不减反增,而且最多增一位。减法会消失掉好多

JavaBug系列-解决SpringBoot返回Xml结构的问题

JavaBug系列之SpringBoot返回Xml结构的问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 作者:Java医生 教学: Java企业项目辅导,专注于辅导新入职员工,解决各种问题! V:study_51ctofx 一、关于错误信息 如图,SpringBoot请求返回Xml格式信息 通过以上信息分析,

JavaBug系列- Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class load

JavaBug系列之Mysql驱动问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 Java/一对一零基础辅导/企业项目一对一辅导/日常Bug解决/代码讲解/毕业设计等 V:study_51ctofx 一、关于错误信息 APPLICATION FAILED TO START Description: Fai

【解决bug之路】npm install node-sass(^4.14.1)连环报错解决!!!(Windows)

有关node-sass的深入分析可参考:又报gyp ERR!为什么有那么多人被node-sass 坑过? 主要有如下三方面错误,请自查: 1.node,npm版本需与node-sass版本匹配,像node-sass(^4.14.1)就得node 14.x版本才可以,node 16不行 gyp ERR! build error15 gyp ERR! stack Error: `

排查 MyBatis XML 配置中的 IF 语句与传值名称不匹配的 Bug

文章目录 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,在改一个bug得时候发现一个有意思得问题,就是mybatis得xml中if判断得问题,传值名字不匹配依旧可以进行判断,如下图 传值userName,但是有意思得事情出现了,进了if,并且没有报错,尝试了两次都是这

使用YOLOv10训练自定义数据集之二(数据集准备)

0x00 前言 经过上一篇环境部署的介绍【传送门】,我们已经得到了一个基本可用的YOLOv10的运行环境,还需要我们再准备一些数据,用于模型训练。 0x01 准备数据集 1. 图像标注工具 数据集是训练模型基础素材。 对于小白来说,一般推荐从一些开放网站中下载直接使用,官方推荐了一个名为Roboflow的数据集网站。Roboflow是一个免费开源数据集管理平台,它不仅提供免费的数据集,还

彻底解决魅族手机无法彻底卸载应用的bug

使用Flyme系统的同学可能会遇到一个问题: 卸载了某些软件(例如通过开发者模式调试安装的应用)后,实际这个应用还残留在系统,当你用低版本或者其他签名的apk覆盖安装的时候会提示“安装失败”,要求你卸载后重新安装。 可是无论你从应用列表寻找还是清理垃圾,都根本找不到这个应用。 闹鬼?这个bug一直伴随着flyme,可怜工程师们竟然一个都没发现。 今天笔者教大家一招解决这个问题。