龍芯中科成功發(fā)布新一代自主指令集 我國芯片系統(tǒng)架構(gòu)開啟新紀元
近期,龍芯中科發(fā)布了新一代自主指令系統(tǒng)架構(gòu)——龍芯架構(gòu) (LoongArch)。據(jù)了解,該系統(tǒng)架構(gòu)已經(jīng)通過國內(nèi)第三方知名知識產(chǎn)權(quán)評估機構(gòu)的評估。支持該架構(gòu)的龍芯3A5000處理器芯片已經(jīng)流片成功。基于新架構(gòu)的完整操作系統(tǒng)也已經(jīng)在3A5000計算機上穩(wěn)定運行。龍芯中科指令集的開發(fā)成功為我國系統(tǒng)架構(gòu)開啟了新的紀元,對于產(chǎn)業(yè)生態(tài)體系的建設(shè)和完善產(chǎn)生巨大的助力。
不能在別人的地基上砌房子
在半導(dǎo)體芯片領(lǐng)域,指令系統(tǒng)是一切軟硬件生態(tài)的起點。其中,ARM和X86最為人們所熟知,它們分別隸屬于RISC精簡指令集和CISC復(fù)雜指令集。隨著物聯(lián)網(wǎng)、5G、AI新興領(lǐng)域的興起,RISC-V和MIPS兩大精簡指令集架構(gòu)也頻繁地出現(xiàn)在人們的視野內(nèi)。
近年來,盡管本土芯片都在各自領(lǐng)域取得了不俗的成績,但其底層的指令集根基往往掌握在別人手里。例如,華為麒麟采用的是ARM架構(gòu)、兆芯所采用的是X86架構(gòu)、申威采用的是Alpha架構(gòu)、龍芯所采用的是MIPS架構(gòu)。這導(dǎo)致了芯片和指令集之間,往往是“一榮俱榮,一損俱損”。MIPS最初開發(fā)的目的是面向注重速度和性能的高性能計算,在功耗和面積上有所欠缺,商業(yè)化后存在一定不足,一度導(dǎo)致采用MIPS架構(gòu)的龍芯芯片發(fā)展滯后。
“若想尋求長遠發(fā)展,我們不能基于國外指令系統(tǒng)建設(shè)自主的信息生態(tài)體系。這就好比,我們不能在別人的地基上砌房子,那樣的房子,就算建好了,也沒有自主權(quán)。”龍芯中科技術(shù)有限公司董事長、中國科學(xué)院計算技術(shù)研究所研究員胡偉武說道。
因此,發(fā)展本土自主可控的指令集,成為了半導(dǎo)體產(chǎn)業(yè)關(guān)注的焦點,也是打破核心技術(shù)壟斷的關(guān)鍵。賽迪智庫分析師鐘新龍認為,此次龍芯推出自主指令架構(gòu),最大的突破在于擺脫了MIPS的束縛。如今,MIPS已不適應(yīng)現(xiàn)代CPU高性能設(shè)計,以及高性能操作系統(tǒng)的架構(gòu)體系,因此,若想更好地對CPU性能進行提升,需要對指令集系統(tǒng)進行一個較大的調(diào)整和性能的提升。據(jù)悉,此次發(fā)布的龍芯架構(gòu),在仿真測試中,僅僅在CPU譯碼部分,就比MIPS的性能增加了16%。
兼容并濟是市場競爭關(guān)鍵
盡管打造一套本土自主可控的指令集異常關(guān)鍵,然而,若想在ARM、X86、RISC-V以及MIPS所壟斷的市場中尋找生存機遇,如何能夠兼容不同的指令集也是最為關(guān)鍵的一環(huán)。胡偉武表示,如果把C語言、JAVA語言等直接翻譯成新的指令系統(tǒng),不僅會降低效率,還會使產(chǎn)品性能大幅降低。
此次新推出的龍芯架構(gòu)最大的特點不僅僅在于自主性,而是在具備自主性的同時,也可以兼容其他主流指令集。這是本次發(fā)布指令集的一大突破。胡偉武表示,此次推出的龍芯架構(gòu)包括基礎(chǔ)架構(gòu)部分,以及向量擴展LSX、高級向量擴展LASX、虛擬化LVZ、二進制翻譯LBT等擴展部分,總共接近2000條指令,同時不包含龍芯此前使用的MIPS指令系統(tǒng)。
可見,此次推出的龍芯架構(gòu)從整個架構(gòu)的頂層規(guī)劃,到各部分的功能定義,再到細節(jié)上每條指令的編碼、名稱、含義,在架構(gòu)上進行了自主重新設(shè)計,具有充分的自主性,同時也能兼容多種主流指令系統(tǒng)。
據(jù)胡偉武介紹,若想做到指令集既自主又兼容,需要滿足三點基本要求:第一,先進性,需要企業(yè)不斷吸收近年來指令集發(fā)展的先進技術(shù)成果,并適度摒棄一些“過時”的技術(shù)特征。第二,兼容性,需要融合X86、MIPS、ARM指令系統(tǒng)的主要特點,高效支持二進制翻譯。第三,擴展性,指令槽需要留有余地,有利于日后的持續(xù)演進。
建立既自主又兼容的指令集并非易事。盡管本土指令集需要本著“不能在別人的地基上砌房子”的初心,但是也需要保證在擁自己的“地基”后,讓更多人來“砌房子”。兼容并濟,海納百川,是本土指令集立足于市場,參與競爭的關(guān)鍵一環(huán)。
消除指令系統(tǒng)間的壁壘
在打造既兼容又自主的系統(tǒng)生態(tài)過程中,消除指令系統(tǒng)壁壘是本土指令集順利發(fā)展的又一大因素。胡偉武表示,目前,本土指令集的自主性相對還處于過渡性的階段。本土指令集需要發(fā)展自己的應(yīng)用,建立自主生態(tài);與此同時,需要先消除指令系統(tǒng)間的壁壘。而消除的關(guān)鍵在于二進制的翻譯。
據(jù)悉,二進制翻譯本質(zhì)上是一種跨指令系統(tǒng)的虛擬機,支持虛擬機的很多基礎(chǔ)設(shè)施在二進制翻譯體系中可以復(fù)用。然而,它的技術(shù)挑戰(zhàn)也非常大,實現(xiàn)精確翻譯的復(fù)雜度高且工作量大,并且不易控制。
“二進制翻譯不僅需要翻譯指令,還需要翻譯整個體系結(jié)構(gòu)。與此同時,不同體系的語義會產(chǎn)生一定的鴻溝,除指令集以外,像ABI、函數(shù)庫、操作系統(tǒng)、工具鏈以及應(yīng)用層等,體系結(jié)構(gòu)都有些許差異,都會給翻譯造成一定困難。就好比我們的語言,最基本的字、單詞、發(fā)音都是統(tǒng)一的,但若匯編成成語、書籍、歌曲等,需要不同的字詞結(jié)構(gòu)組合,且相互之間難以直接關(guān)聯(lián),對于系統(tǒng)架構(gòu)來說也是如此?!焙鷤ノ湔f道。
因此,胡偉武認為,在未來,國產(chǎn)指令集在消除指令壁壘的過程中,可以嘗試通過硬件支持不斷深入消除壁壘。例如,晶體管、CPU等性能的提升。此外,也可以采用一些特殊的二進制翻譯方式來縮小鴻溝,而這也是行業(yè)內(nèi)普遍采用的手段之一。
“以語言翻譯為例,若是從繁體中文翻譯成簡體中文,這個翻譯非常簡單,但是如何把英文翻成中文,這個就相對較難。因此,可以選擇語義鴻溝較小的架構(gòu)來作為過渡,例如,X86和MIPS語義鴻溝確實比較大,二者之間相當(dāng)于英文和中文之間的翻譯,難度較高,但是X86與龍芯之間的語義鴻溝較小,有2/3的指令翻譯相當(dāng)于從繁體中文翻譯成簡體中文。雖然最終目標是建立自己的生態(tài)體系,但是在發(fā)展過程中,可以借助其他指令集來進行過渡。這樣不僅可以減少客戶因更換指令集而帶來的負擔(dān),同時也能以最快的速度有效減少指令壁壘?!焙鷤ノ湔f道。
可見,設(shè)計出新的自主指令集只是萬里長征的第一步,未來需要不斷完善軟硬件生態(tài),消除指令系統(tǒng)壁壘,讓原始的系統(tǒng)、辦公、娛樂和游戲程序都能正常地運行在新的指令集之上。否則,指令集和相關(guān)芯片只能成為空中樓閣,無法真正落地。
