FB 建議貼文

選取貼文複製成功(包含文章連結)!

Windows 95 為何沒用HLT 省電指令?微軟老員工曝:不是我們懶,是硬體廠商搞不懂

Windows 95 為何沒用HLT 省電指令?微軟老員工曝:不是我們懶,是硬體廠商搞不懂

當年被罵慘,如今真相曝光。微軟老員工近日解釋,Windows 95 其實不是「沒做節能」,而是當年 PC 廠根本沒準備好。

HLT 是什麼?為何能省電?

這個故事來自微軟的老工程師 Raymond Chen,他近日在部落格《The Old New Thing》裡透露,當初其實有想過在 Windows 95 加入 HLT 指令支援。

所謂的 HLT(HALT 縮寫)是 Intel 386 處理器內建的指令,當 CPU 沒事做時,可以執行 HLT 指令讓處理器進入「待機省電」狀態,直到有中斷(像是鍵盤輸入)才會再喚醒。這在筆電或桌機待機時聽起來超實用,也早在 90 年代初的處理器中就存在。

為什麼 Windows 95 不敢用?

但當時微軟卻選擇放棄這項設計,原因是——太多 PC 廠沒搞懂這個功能。

Raymond Chen 解釋,微軟內部實測發現,某些 PC 廠的 BIOS 或主機板根本不支援 HLT 指令,導致一旦系統執行 HLT,就會直接死機,根本無法回到桌面或喚醒。

這在現在看起來像是硬體問題,但當年使用者根本不會管底層細節,失敗了就怪微軟。再加上微軟無法全面掌握每一款筆電與桌機的相容狀況,因此最終選擇:乾脆完全不使用 HLT 指令,以避免災難性風險。

曾考慮加偵測機制,但風險太高

其實微軟內部曾討論過,要不要在 Windows 95 中加一個檢測機制:能支援 HLT 的機型就啟用、省電,不能支援的就略過。

但 Chen 表示,這樣做還是風險很高,因為當時出貨的筆電型號繁多,而且 BIOS 設計不統一,實在無法保證不會出包。萬一出了錯,整台電腦死當,責任還是會被算在 Windows 頭上。

現代的解法是 MWAIT,但那時沒有

現在的處理器大多改用 MWAIT 指令或其他先進電源管理機制,讓空閒時的 CPU 也能自動降低功耗、待機休眠。但在 1995 年那個年代,HLT 幾乎是唯一的省電解法。

可惜的是,因為 PC 生態系還不夠成熟,微軟只能忍痛放棄,也因此當年不少人以為微軟沒做省電設計,對 Windows 95 留下「跑起來很熱、很耗電」的印象。

這段歷史說明了一件事:軟體與硬體的整合沒做好,最終受害的還是使用者。Windows 95 沒用 HLT,不是微軟偷懶,而是當時整個 PC 產業還沒有準備好。

Raymond Chen 分享這段往事後,也讓不少工程師在社群留言表示:「當年我們都怪錯人了」。

 

 

cnBeta
作者

cnBeta.COM(被網友簡稱為CB、cβ),官方自我定位「中文業界資訊站」,是一個提供IT相關新聞資訊、技術文章和評論的中文網站。其主要特色為遊客的匿名評論及線上互動,形成獨特的社群文化。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則