龍芯發布完全自主指令集架構LoongArch
上月,擁有MIPS指令集的Wave Computing轉投RISC-V陣營的消息引發關注。今天,MIPS生態的重要維護者龍芯也放棄MIPS指令系統,發布了完全自主指令集架構Loongson Architecture,簡稱龍芯架構或LoongArch。
龍芯委託國內第三方知名知識產權評估機構對龍芯基礎架構進行深入細緻的知識產權評估。從2020年二季度開始,雙方投入上百人月,將LoongArch與ALPHA、ARM、MIPS、POWER、RISC-V、X86等國際上主要指令系統有關資料和幾萬件專利進行深入對比分析。
2021年1月,針對被評估的基礎架構版本該評估機構認為:
- LoongArch在指令系統設計、指令格式、指令編碼、尋址模式等方面進行了自主設計。
- LoongArch指令系統手冊在章節結構、指令說明結構和指令內容表達方面與上述國際上主要指令系統存在明顯區別。
- LoongArch基礎架構未發現對上述國際上主要指令系統中國專利的侵權風險。
CPU指令系統是計算機的軟硬件界面,是CPU所執行的軟件指令的二進制編碼格式規範。一種指令系統承載了一個軟件生態,如x86指令系統和Windows操作系統形成的Wintel生態以及ARM指令系統和Android操作系統形成的AA生態。
無論是x86還是ARM指令系統,都需要獲得“授權”才能研製與之相兼容的CPU。採用授權指令系統可以研製產品,但不可能形成自主產業生態。
用個形象的比喻來解釋,中國人可以用英文寫小說,但不可能基於英文形成民族文化。這也就是擁有指令集的公司很容易就能對獲得授權的芯片設計公司卡脖子的原因,完全開源的RISCV,也是來源於美國伯克利大學,因此Loongson Architecture對中國集成電路產業而言是一個歷史性突破。
龍芯架構包括基礎架構部分和向量指令、虛擬化、二進制翻譯等擴展部分,近2000條指令,不包含MIPS指令系統,具有完全自主、技術先進、兼容生態三方面特點。
具體而言,龍芯架構從整個架構的頂層規劃,到各部分的功能定義,再到細節上每條指令的編碼、名稱、含義,在架構上進行自主重新設計,具有充分的自主性。
同時,龍芯架構摒棄了傳統指令系統中部分不適應當前軟硬件設計技術發展趨勢的陳舊內容,吸納了近年來指令系統設計領域諸多先進的技術發展成果。同原有兼容指令系統相比,不僅在硬件方面更易於高性能低功耗設計,而且在軟件方面更易於編譯優化和操作系統、虛擬機的開發。
生態方面,龍芯架構充分考慮兼容生態需求,融合了各國際主流指令系統的主要功能特性,基於龍芯團隊在二進制翻譯方面十餘年的技術積累創新,不僅能夠確保現有龍芯電腦上應用二進制的無損遷移,而且能夠實現多種國際主流指令系統的高效二進制翻譯。
龍芯2020年起新研的CPU均支持LoongArch架構。首款支持LoongArch架構的龍芯3A5000處理器芯片已成功流片,基於新架構的完整操作系統已經在3A5000計算機上穩定運行。同時,從其它主流指令系統到LoongArch的二進制翻譯系統已經可以在3A5000計算機上演示運行基於其它主流指令系統的複雜應用程序。
目前,龍芯中科已經在一定範圍內發布LoongArch的基礎架構指令系統手冊。待完成包括境外專利分析在內的進一步知識產權評估後,龍芯中科將在更大範圍內發布更完整的LoongArch指令系統手冊。龍芯中科還將聯合產業鏈夥伴在適當的時間建立開放指令系統聯盟,在聯盟成員內免費共享LoongArch及有關龍芯IP核。