微软老员工解释为何Windows 95未采用HLT节能指令

摘要:

Windows 95是一款在当年极为流行的操作系统,可以说正是它让Windows和个人计算机逐渐走入主流。其重要性至今仍可见一斑。如今,又有一则与英特尔CPU中的某条指令实现相关的趣闻被披露。

这则故事再次来自微软老员工Raymond Chen。他解释说,80386处理器(也称为“Intel 386”或“i386”)包含对HLT指令(HALT的缩写)的支持。顾名思义,HLT会让CPU停止执行指令,直到有硬件中断(比如按键)发生。这主要用于在CPU无事可做时省电,因为它能让处理器进入低功耗模式。

尽管这在个人电脑中听起来十分有用,微软却没有在Windows 95中实现HLT指令。主要原因在于,许多PC厂商当时并未正确支持这一指令,导致一旦执行HLT,计算机就会出现无法恢复的死机。

由于这个原因并未被公开,很多人当时将矛头指向微软,指责其懒惰并未实现HLT,殊不知实际上问题出在PC厂商。

Chen指出,由于HLT一旦执行失败就相当于死机,因此公司认为在出现误判的情况下采用该指令风险过高,最终决定在Windows 95中完全放弃它。

微软其实曾考虑增加对HLT指令支持情况的检测,但这是高风险策略,因为有可能某些笔记本型号在Windows 95发布时尚未被识别到。如今PC通过MWAIT指令实现类似功能,然而在当年HLT是唯一的方法,因此微软未在Windows 95中利用i386的该指令去节省空闲CPU资源,最终遭到不少公众批评。

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看评论
created by ceallan