龍芯自主指令集架構,“國產之光”還是“PPT式勝利”?
4月15日,龍芯發布了完全自主的指令集架構LoongArch,與此同時,支持龍芯架構的龍芯3A5000處理器芯片已經流片成功,基于新架構的完整操作系統已經在3A5000計算機上穩定運行。
龍芯在LoongArch之前,一直是采用MIPS的授權。但有意思的是,當年曾比肩x86、Arm,被稱為全球三大架構之一的MIPS,其所屬公司在今年3月已經宣布放棄繼續設計MIPS架構,轉而投身到RISC-V陣容當中。
實際上,MIPS架構在現在看來確實有不少較為落后的設計,比如對睿頻支持不友好、部分指令老舊拖低性能等。另一方面,中美貿易戰背景下,不少國產CPU制造商都受到了不同程度的影響。采用Arm架構的華為、飛騰,以及采用x86架構的海光,相繼被列入“實體清單”,指令集授權或是芯片制造都受到嚴重制約。因此,在這樣的背景之下,自主指令集架構的必要性便不言而喻。
早在去年8月,在全國計算機體系結構學術年會上,龍芯創始人胡偉武就透露了LoongArch架構,他聲稱要研發一款既“自主”又“兼容”的指令集,如果最終達成目標,這將是一個自帶生態的自主可控指令集架構。
眾所周知,軟件生態對于CPU架構而言幾乎就是生命。一個全新的指令集架構要能夠獲得市場認可,目前而言最便捷的方法就是兼容其他指令集架構的生態。比如蘋果Mac OS從使用x86 CPU過渡到Arm CPU的過程中,采用了Rosetta 2將原本只支持x86運行環境的軟件通過動態二進制翻譯來轉譯代碼,以使得軟件可以在Arm CPU下運行。
同樣,官方宣稱龍芯的LoongArch能夠兼容MIPS、x86、ARM、RISC-V這幾種指令集的 Linux程序,采用軟硬件結合的二進制翻譯方式,對Arm和RISC-V的翻譯效率要比x86更高。甚至根據官方說法,翻譯執行MIPS能達到100%原生性能,翻譯執行ARM達到90%原生性能,翻譯執行x86也能夠達到80%原生性能,并可通過某種方式安裝運行Windows,對Windows的整體翻譯可以有70%原生性能。
不過在編者看來,LoongArch到目前為止依然存在很多疑點。首先,龍芯宣稱翻譯Arm和x86指令的效率分別達到90%和80%,MIPS甚至實現100%原生性能,但目前除了發布會上的PPT,并沒有任何證據能夠證明能夠達到如此高的翻譯效率。而歷史上,無論是從PowerPC到x86,還是從x86到Arm,翻譯二進制都只是被用于過渡,最終都要利用軟件適配才能發揮指令集架構的優勢。
另一方面,根據偷跑的性能測試顯示,采用LoongArch架構的龍芯3A5000整數性能只比2019年9月發布的飛騰FT-2000/4高出10%;在全局光照渲染器smallpt測試算法性能時,3A5000更是不如FT-2000/4。回想起龍芯上一代曾經號稱“國產最強桌面CPU”,但直到2021年最新一代才趕上了對手第一代的水平,實在讓人懷疑龍芯的PPT存在“夸大”的嫌疑。
當然,不排除是測試軟件或是系統平臺對LoongArch適配不完善,那么這就回到了生態問題上。目前為止,龍芯所公開的數據少之又少,甚至連指令集手冊都沒有開放,生態從何談起?縱觀歷史,x86依靠PC浪潮崛起,Arm趕上了移動設備的需求,RISC-V擁抱了物聯網時代。而即使是國產替代的需求,龍芯也不具備飛騰等廠商的出貨量支撐,更沒有華為這樣的生態號召力。到底是騾子是馬,還得拉出來溜溜,希望等到5A3000正式上市的時候能帶來更多好消息。
