盘点英特尔、苹果、高通、AMD 处理器重大 Bug,硬件的坑软件能填?

640?wx_fmt=jpeg

来源:21ic电子网


英特尔的CPU存在两大漏洞 ——Meltdown 和 Spectre,波及自 1995 年以来所有使用英特尔芯片的硬件设备。不止 Linux、Android、Windows、苹果 OS X 等操作系统,AWS、Azure、谷歌云等云计算提供商均受到影响,其威胁范围之广,令人咋舌。


其中,Meltdown 可以允许低权限的用户和应用“越界”访问系统级内存,从而造成数据泄露; Spectre 可骗过安全检查程序,直接通过应用访问内存任意位置。对于以往的 软件安全 Bug 仅需修复打个补丁即可,但是此次的漏洞存在于处理器端,与硬件相关,Intel 无法通过微代码的方式修补漏洞,需要操作系统厂商进行弥补,然而,据悉,不同的操作系统都要从内核层面进行漏洞修复,而修补该漏洞之后会让处理器的性能最高下降 30%。


如今微软、谷歌、苹果、亚马逊等公司已经相继发布了解决方案,其他一些厂商也正在加急的修复中,不得不说,巨头的一个 Bug,整个业界都要抖三抖。事实上,这并非是第一次 CPU 出现 Bug,那么以往 CPU 出现 Bug 都是如何处理的呢?接下来,我们将一一盘点曾经的 CPU Bug 事件。


不会算数的奔腾 FDIV Bug


1994 年 6 月,在英特尔首次推出奔腾处理器的前几天,其技术人员发现奔腾芯片的除法运算会发生一些偏差,即 FDIV 缺陷。奔腾 CPU 的 FPU 单元有严重缺陷的产品,影响到 FDIV(浮点除法运算)指令。例如:


正常电脑计算器运算结果:962306957033÷11010046=87402.6282027341

带有 Bug 的奔腾 CPU 运算结果:962306957033÷11010046=87339.5805831329


对于以上偏差,Intel 测试人员表示 90 亿次除法运算中才可能出现 1 次错误,因此怀着侥幸心理无视了该问题,但是严谨的学术人员还是在这个几亿分之一几率中找到这个除法 Bug。


640?wx_fmt=png

图片来源:太平洋电脑网


解决方案


起初,英特尔只决定为部分已经证明受影响的用户更换 CPU。但是,这引起了用户的不满,因为连最基本运算的正确都不能百分之百的保证,何来对 CPU 的信任。后来,在用户以及竞争对手(IBM等公司)的压力下,英特尔于 1994 年的 12 月对外宣布自身 CPU 的缺陷并召回了受影响的 CPU。


显然,奔腾 FDIV Bug 并不能通过软件的方法修补,为了解决问题,英特尔召回的成本甚至高达 4.75 亿美元,结合通货膨胀率,这大致相当于现在的 7.88 亿美元。


死机的奔腾 F00F bug


这是一个在 1997 年发现的 CPU Bug,影响了奔腾 MMX 和奔腾 OverDrive 处理器等基于 P5 微架构的 CPU。这个 Bug 会导致电脑出现死机之类的情况,需要重启才能继续使用电脑。这也是一个影响深远的 Bug,以至于现在很多硬件设计的缺陷都用 F00F 来命名。


640?wx_fmt=png


解决方案


英特尔通过更新处理器的步进修复了奔腾 F00F bug,B2 步进已经解决了相关的问题。不过对于之前出现错误的 CPU,也可以通过操作系统的更新来修复,因此这是一个可以通过软件修复的 CPU Bug。


矿渣奔腾 III 1.13GHz


2000 年,英特尔为抗衡 AMD 发布的 1GHz CPU,迅速的推出 Pentium III 1.13GHz。却未料,大部分用户在安装 Pentium III 1.13GHz 之后,发现处理器在使用中发生了执行部分软件时死机、不稳定等情况。


640?wx_fmt=png

图片来源:太平洋电脑网


解决方案


因英特尔草率地推出 Coppermine 架构的奔腾 III CPU,其在发售不到一个月后便召回了所有的 CPU。


蓝屏及死机的英特尔 Broadwell MCE Bug


随着英特尔 Broadwell 的广泛推广,不少 Broadwell 处理器用户发现在使用时,会经常出现蓝屏死机,Linux、Windows 系统报错是 MCE( Machine Check Exception,机器异常检查)。这个问题是有 SpeedStep 节能技术导致的,关闭了 SpeedStep 后,问题就不会出现。


640?wx_fmt=jpeg


解决方案


当然,就算可以关闭 SpeedStep 来避免 Bug,用户也不会当是没事发生过,而且某些设备例如笔记本、平板电脑关闭了节能技术的话,会发热、能耗大增,甚至已经影响正常使用了。英特尔通过微码更新来修复了这一问题,只要更新 BIOS,Broadwell MCE Bug 就能够得到修复,因此这也是一个可以通过软件更新来解决的 CPU Bug。


黑客可控制计算机的英特尔 ME 漏洞


在 2008 年后,英特尔在 CPU 中内置了一个低功耗子系统 Management Engine 也就是 ME。ME 可以协助专业人员远程管理计算机,深受企业用户欢迎。不过,这个 ME 系统却爆出了问题,它原本设计用于远程维护,但由于存在漏洞反倒让黑客有可能通过 ME 后门进而控制计算机。


640?wx_fmt=jpeg


解决方案


英特尔很快就公布了相应的修复方法,释放了相应的代码,用户可以通过更新主板 BIOS、操作系统和相应的软件、驱动来修复 ME 相关的漏洞。通过软件就能修复这个 CPU 漏洞,也算是不幸中的大幸吧。


以上是作为全球知名芯片制造商的英特尔近些年 CPU 发生的一些重大 Bug,然而,不仅仅是英特尔,AMD、高通、苹果也曾遇到过一些大的处理器漏洞。


折翼的 Phenom TLC Bug


AMD 的第一代 Phenom(羿龙)处理器被赋予了迎击 Intel 酷睿处理器的重任,首次使用了三级缓存的设计。然而不幸的是,率先登场的 B2 步进的 Phenom 竟然存在 TLB 的 Bug。TLB 是用来连接内存和 CPU 缓存的桥梁,在有 Bug 的 Phenom 处理器中,TLB 会导致 CPU 读取页表出现错误,出现死机等情况。出了 Bug 后,AMD 就提供了软件方案来解决问题。


640?wx_fmt=jpeg

图片来源:太平洋电脑网


解决方案


AMD 通过系统补丁及 BIOS 的方法避开了这个硬件 Bug,但会造成性能下降 AMD 发布了一个新 BIOS,也为 Win 系统提供了一个补丁,无论是那种方法,其作用都是屏蔽某段页表乃至 CPU 缓存。这当然可以避免 Bug 的出现,不过也会造成性能降低。可以说,这个软件修复的方案只是权宜之计,其实并不完美。此后 AMD 推出了 B3 步进的 Phenom 处理器,从硬件上修改,才彻底解决了问题,步进改动后的 CPU 还从 9X00 改名为 9X50,可见此次修补之重要。


火炉的高通骁龙 810


2015 年,高通旗下高端 CPU 骁龙 810 发生发热问题。事实上,骁龙 810 芯片推出的主要原因是为了跟进苹果 A7 处理器的 64 位寻址的竞争,骁龙 810 使用 ARM 公版 64 位A 57/A53 架构,而自家一直研发的 Krait 架构 64 位寻址在短期内尚未实现,于是只能用公版四个高性能核心+四个低性能核心的组合,高通在 Krait 架构上积累的经验无法套用到 ARM 公版上来,于是导致了 810 惨淡收场的后果。


640?wx_fmt=png

图片来源:太平洋电脑网


引发退货潮流的 iPhone 6S A9 处理器


2015 年,iPhone 6S A9 处理器上有两个版本,一个是出自台积电,而另外一个是三星,前者基于 16nm 制程,而后者则是 14nm 制程,由于工艺上的不同,导致它们性能、续航上有了不同,由此引发的“芯片门”备受关注。


640?wx_fmt=jpeg


解决方案


后续苹果官方迅速表态,不同 iPhone 6S 芯片之间功耗差距极小,仅 2%~3%。但部分用户并不买账,要求退货,在中国,不少港台地区用户换货成功,大陆用户似乎并未受到太大影响。


总结


Bug 不仅仅会出现在软件方面,在硬件上也会时常发生。整体而言,硬件上的问题似乎要比软件漏洞更为严重,而作为程序员, CPU 上的部分 Bug 也完全可用软件来修补。虽然缺陷会不可避免的存在,但是厂商还是应该加强自身管理及测试,避免牵一发而动全身的两难局面出现。同时作为普通消费者,要时刻关注软件更新,将已有的漏洞带来的威胁降到最低。


参考来源

http://pcedu.pconline.com.cn/1064/10641944_all.html

http://diy.pconline.com.cn/707/7074402_all.html#content_page_4


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java读写html文件时出现中文乱码问题的解决方法

最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来。然后,替换相关标签写到指定的文件中。无论是读写,都遇到了中文乱码问题。试过多种方法,发现下面一种可以避免中文乱码。(无论读取还是写入一定要进行编码转…

Android实现网络音乐播放器

本文是一个简单的音乐播放器 布局代码 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layo…

【干货51页PPT】深度学习理论理解探索

来源&#xff1a;专知普林斯顿大学计算机科学系教授Sanjeev Arora做了深度学习理论理解探索的报告&#xff0c;包括三个部分&#xff1a;Why overparametrization and or overprovisioning?Optimization in deep learningTheory for Generative Models and Generative Adversa…

新星计划·第三季【博文流量密码公开课】

一、优质的内容 刚开始写博客的小伙伴&#xff0c;其不可漫无目的的写&#xff0c;到头来对自己的技术沉淀毫无帮助&#xff0c;升职加薪跳槽也不加分&#xff0c;更无法通过付费专栏等方式进行变现&#xff0c;到头来一无所获&#xff01; 强烈建议大家提前规划写什么方向的…

百度地图开发之定位

本文主要讲述利用百度地图API实现定位功能 第一步:下载SDK与申请KEY 参考链接&#xff1a;Android 百度地图 SDK v3.0.0 &#xff08;一&#xff09; - Hongyang - 博客频道 - CSDN.NET 注意 百度地图SDK与百度定位SDK已经分开了&#xff0c;如果在工程中同时导入这两个包…

Java与Http协议

Java与Http协议 引言 http&#xff08;超文本传输协议&#xff09;是一个基于请求与响应模式的、无状态的、应用层的协议&#xff0c;常基于TCP的连接方式。HTTP协议的主要特点是&#xff1a; 1.支持客户/服务器模式。 2.简…

《Python 黑科技》一键分析评论关键词,制作精美词云

本文重点&#xff1a; 学会抓取文章评论 学会文本分词、制作词云 目录 &#x1f351; 一、抓取全部评论 &#x1f35e; 1、找到评论接口 &#x1f34f; 2、Python 获取评论 &#x1f3c8; 二、文本分词、词云制作 &#x1f34b; 1、文本分析 &#x1f350; 2、生成词云…

PANS最新脑神经科学研究:激活一种新语言并不费力气

来源&#xff1a;中国生物技术网美国纽约大学的一项新研究发现&#xff0c;我们在不同语言之间切换时的大脑工作模式&#xff0c;这使我们对双语现象有了新的理解。纽约大学博士生Esti Blanco-Elorrieta是这项研究的第一作者&#xff0c;他解释说&#xff1a;“多语言能力者的一…

百度地图之添加覆盖物

本文主要讲解如何实现在百度地图上添加覆盖物 1.承载数据的实体 我们从服务器返回的数据部分&#xff0c;最终可能是个Json数组&#xff0c;我们需要转换为实体集合&#xff0c;即下面的Info.java 我直接在实体类中声明了一个静态列表集合&#xff0c;模拟从服务器返回的数据…

能力认证计划 -- 名企内推保 offer 直通车

CSDN 能力认证的目的&#xff1a;清晰定义工程师能力模型&#xff0c;面向开发者、技术爱好者、在校大学生等群体&#xff0c;通过机试&#xff08;真人露脸、全程录屏、限时提交&#xff09;测出应试者的真能力&#xff0c;筛选合格软件人才&#xff0c;建立应聘者与企业之间的…

fprintf 和 perror 的理解1

程序中的两种出错处理&#xff1a; 第一种: 用fprintf 2: #include <string.h> 3: #include <errno.h> 4: #include <stdlib.h> 5: 1: #include <stdio.h> 6: int main(void) 7: { 8: FILE *fp; 9: 10: if((fp fopen("1.c…

全文!《2018中国IoT报告》!

来源&#xff1a;5G9月15-18日&#xff0c;我国物联网领域规格最高、规模最大的国家级博览会——2018世界物联网博览会将在无锡举行。作为2018世界物联网博览会的重要活动之一&#xff0c;9月14日受大会组委会委托&#xff0c;中国经济信息社在无锡发布《2017-2018年中国物联网…

CSDN客户端实现

本文主要讲解实现了一个CSDN的安卓客户端&#xff0c;主要知识点如下 java爬虫获取网页数据 将java程序打包成jar包 FragmentviewpagerTabPageIndicator实现Tab效果 gestureImageView实现放大缩小图片imageLodar实现异步加载图上 XListView实现下拉刷新 java爬虫获取网页资源…

抓住金三银四的尾巴,解锁程序员面试《刷题神器》

点赞 ➕ 评论 ➕ 收藏 三连再看你最帅 刷题 不仅能掌握知识&#xff0c;快速学习进步。 更能轻松搞定面试&#xff0c;尤其是有的大厂 钟爱问算法题&#xff0c;你不刷就不会&#xff0c;就会被pass。同时&#xff0c;刷题能陶冶情操&#xff0c;避免老年痴呆 &#x1f60b; …

腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋

来源&#xff1a;腾讯AI 实验室腾讯AI Lab机器学习中心今日宣布成功研发出世界上首款自动化深度学习模型压缩框架——PocketFlow&#xff0c;并即将在近期发布开源代码。这是一款面向移动端AI开发者的自动模型压缩框架&#xff0c;集成了当前主流&#xff08;包括腾讯AI Lab自研…

【拿走不谢】大数据高效查询神器--bitmap

背景 在hive中使用Roaring64Bitmap实现精确去重功能 主要目的&#xff1a; 提升 hive 中精确去重性能&#xff0c;代替hive 中的 count(distinct uuid)&#xff1b;节省 hive 存储 &#xff0c;使用 bitmap 对数据压缩 &#xff0c;减少了存储成本&#xff1b;提供在 hive 中…

Android之智能问答机器人

本文主要利用图灵机器人的接口&#xff0c;所做的一个简单的智能问答机器人 实现 由于发送与接收消息都是不同的listView&#xff0c;所以要用有两个listVeiw的布局文件 接收消息布局文件 <?xml version"1.0" encoding"utf-8"?> <LinearLa…

5张图告诉你:同样是职场人,差距怎么这么大?

点赞 ➕ 评论 ➕ 收藏 养成三连好习惯 在职场中&#xff0c;我们常常会听到各种各样的抱怨&#xff1a; &#x1f469;‍⚖️‍ 小A: 凭什么别人每次述职绩效都是优秀呀&#xff1f; 感觉TA也没干啥呀! &#x1f575; 小B: 凭啥这个事情&#xff0c;领导指派TA去对接呀&#…

史上最强阵容,BAT大佬携手AI顶级大咖齐聚上海话AI

来源&#xff1a;网易智能9月17日上午&#xff0c;齐聚各路大佬的2018世界人工智能大会在上海西岸艺术中心开幕。不得不说&#xff0c;这次大会的嘉宾阵容&#xff0c;为中国科技界史上最强&#xff0c;没有之一。今天主论坛亮相会议并发表演讲的大咖&#xff0c;除了聚集了BAT…

没错,列式存储非常牛。但是,Ta还可以更高效

很多数据仓库产品都采用了列式存储。如果数据表的总列数很多而计算涉及的列很少&#xff0c;采用列存就只读取需要的列即可&#xff0c;能够减少硬盘访问量&#xff0c;提高性能。 特别是数据量非常大时&#xff0c;硬盘扫描和读取的时间占比很大&#xff0c;这时候列存的优势…