当前位置:首页-智讯News-正文

硬控你5分钟 给CPU打补丁这事儿是怎么发明的?

今年酷睿14代CPU的电压飘移问题、锐龙AI 300 CPU跨CCD核心的延迟问题,无论Intel还是AMD,仅仅通过更新BIOS就把问题解决了,根本不需要召回、返厂维修这些。那么,CPU究竟是怎么通过“打个补丁”就解决BUG的呢?

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第1张

1994年Intel发布了第一款Pentium CPU,然而这是噩梦的开始——这款CPU有一个先天缺陷:FDIV Bug,说简单点就是它会出现浮点计算错误,概率大概是千万分之一。这个FDIV Bug的浮点计算错误究竟严重到什么程度呢?答案普通消费者一辈子可能都遇不到。但是对用来进行科学计算、统计运算的用户来说,这个千万分之一的错误却是致命的。

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第2张

对Intel来说,CPU出错了根本没有任何补救的措施,它不像软件一样修改一个版本就好了,实物造出来了就无法更改,唯一解决的途径就是召回。为此Intel历史上第一次召回就这样发生了,在当时直接损失高达4.75亿美元。

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第3张

真金白银的损失加上商业信誉受损,让Intel痛定思痛——必须想出一个办法能够让CPU也有机会“亡羊补牢”,最好是通过软性手段实现,这样可以避免更大的商业信誉损失。就这样CPU微代码出现了,未来当CPU内部出现问题的时候,通过微码(Microcode)就能修复部分缺陷。

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第4张

所谓CPU微码(CPU Microcode)只是英文直译,实际将其称之为“微指令”更贴切,因为它是基于CISC复杂指令集的一种将复杂指令集合拆分为简单指令的办法。重点来了,敲黑板:微指令的作用是将机器指令与电路分离,这样机器指令可以更自由的进行设计与修改,而不用考虑到实际的电路架构。Intel正是利用CPU微码来为CPU打补丁的:指挥CPU执行新的、正确的设定、计算方式。

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第5张

具体一点,加电开机后,CPU结束初始化BIOS就会加载CPU微码,让CPU执行微码中的“新指令”——虽然不太贴切,你可以理解成BIOS在启动时加载了新的CPU指令任务,从而解决CPU内存在的BUG。理论上,CPU微码不仅可以通过BIOS加载,还可以保存到ROM(存储器)中、甚至是由操作系统加载。但是无疑BIOS加载是最好的,因为它的“层级”更高,用户基本是无感的,你需要做的工作,可能仅仅是更新个BIOS就完事了。

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第6张

换言之,CPU还是那个CPU,不过它可以根据带有新微码的BIOS“规范动作”执行不同的工作方式,计算方法,用以消弭问题。所以你现在明白了吗?

硬控你5分钟 给CPU打补丁这事儿是怎么发明的? - 第7张
本文版权为智趣东西所有,未经授权禁止转载。

相关文章