Linux內核將淘汰AMD 3DNow!指令集,服役23年終於要退休了

作為Linux 5.17版內核變化的一部分,有關AMD 3DNow!指令集的代碼將會被放棄,相關更改也已 提交 。這些代碼已經在Linux內核裏存在23年了,終於到了退出歷史舞台的一刻。未來AMD的舊款處理器以及3DNow!的相關支持,將不能在Linux內核裏運行這些指令集。

AMD在1998年發佈了3DNow!指令集,這是建立在MMX指令集之上,為浮點數據的向量處理提供更高的性能。3DNow!指令集包含了21條新指令,首先應用於K6-2處理器,使之成為第一個能夠執行浮點SIMD指令的x86處理器。AMD在1999年發佈Athlon處理器的時候,還為3DNow!指令集增加了5條新指令,成為擴展3DNow!指令集。

在世紀之交的那段時間裏,3DNow!指令集得到了業界不少廠商的支持,有較為廣泛的應用,提高了遊戲、視頻播放甚至圖片處理等工作中的性能。從K6-2到Bulldozer架構的AMD處理器裏,都能找到3DNow!指令集。

為了對抗3DNow!指令集,英特爾隨後推出了SSE指令集,而且完全支持IEEE754標準,在提供3DNow!指令集幾乎所有功能的同時,大大提高了單精度浮點處理速度。通過Pentium III處理器的發佈,SSE指令集逐漸佔據了主導地位,後來AMD在2000年發佈代號雷鳥的Athlon處理器的時候也開始採用。

AMD官方早在2010年就宣佈,新處理器中將不再設置“3DNow! Instructions”的功能標誌位,未來一些處理器也不再提供支持。