移至主內容
DarkRanger's Secret Area

主導覽

  • 首頁
  • 關於本站
  • Linux
  • 程式開發
  • N900
  • 譯文
  • 資訊技術辭典

文章分類

  • 影劇
  • 遊戲
  • 筆記
  • 雜文
  • 資訊技術
  • 站務訊息

最新內容

  • How-To:Linux 安裝 DevilutionX
  • 於 2012 年建立的一份音樂播放清單
  • How-To:Linux 安裝 Medal of Honor: Allied Assault
  • Fallout 4 (2015)
  • How-To:Linux 安裝 Blood
  • 《終極動員令》系列早期作品原始碼釋出
  • How-To:Linux 安裝 Doom 3
  • Nausicaä of the Valley of the Wind (1984)
  • Intel 內顯與 Linux 桌面死當問題排解
  • 《哥吉拉 -1.0》心得補遺

Those Win9x Crashes on Fast Machines

發表日期:星期日, 07/19/2020 - 21:16

雖然我們多少都聽過類似的事情:若在較新的 CPU 上執行陳年的作業系統或應用程式,可能會因為當時的程式設計沒有考量到 CPU 速度的演進而遇到各種怪事。不過來自 OS/2 Museum 網站的一篇文章:《Those Win9x Crashes on Fast Machines…》,則關注了一件相對久遠的歷史事件,且硬體與軟體之間的年份並沒有那麼大的差距。

 

在 1998 年,AMD 推出了 K6-2 處理器系列,型號以運作時脈劃分,從 200 到 550 MHz 不等。然而當時出現的一項問題,是 Windows 95 在 K6-2 350 MHz 以上的型號都會發生崩潰,為此微軟也釋出了更新程式。但令人疑惑的是,在同一時期、同時脈的 Intel Pentium II 處理器卻不會發生崩潰──按理講 Pentitum II 的平均效能應該要優於 K6-2 才是?

 

原來 K6-2 確實在某些方面比 Pentium II 要快,它的 x86 LOOP 指令執行速度,比起同時脈的 Pentium II 快上好幾倍。但這是有風險的,一旦程式碼將 LOOP 指令執行時長所花費的毫秒數作為除數,就有可能會發生除以零的問題,或者是除數過小以致商數高於預期的風險。反之 Intel 似乎意識到了什麼,它並沒有與 AMD 在 LOOP 指令上做競爭,同時也明文建議開發者不要使用 LOOP。

 

箇中細節在文章裡有精闢的調查,值得有興趣的人加以閱讀。

 

資訊技術