龍芯架構(gòu)(CPU指令集)參考手冊,至少每個字都認(rèn)識
在龍芯中科的官方網(wǎng)站上,現(xiàn)在已經(jīng)提供《龍芯架構(gòu)參考手冊(卷一:基礎(chǔ)架構(gòu))》和《龍芯架構(gòu)32位精簡版參考手冊》的下載。在官網(wǎng)上點開“龍芯產(chǎn)品-下載中心”即可找到下載鏈接。

龍芯中科不是國內(nèi)第一家自主設(shè)計CPU指令集的,但龍芯中科是第一家公開提供指令集參考手冊下載的,這說明龍芯自主設(shè)計的指令集確實已經(jīng)通過了嚴(yán)苛的知識產(chǎn)權(quán)評估,不存在任何的侵權(quán)成分。無論是Intel的還是MIPS或ARM的指令集手冊,無疑都是用英文編寫,這是我第一次見到CPU設(shè)計企業(yè)用中文編寫指令集手冊,不管能不看懂,至少每個字都認(rèn)識,特別有親切感。

雖然指令集手冊是用中文編寫的,但指令助記符肯定還是英文字母,中文編程的鼓吹者還請口下留德。畢竟英文字母只有26個,對于任何人都沒有學(xué)習(xí)障礙,敲三四個字母表示一個指令,要比敲三四個漢字快速得多。指令助記符格式主要包括指令名和操作數(shù)兩部分,龍芯架構(gòu)對指令名和操作數(shù)的前、后綴進行了統(tǒng)一考慮,以方便匯編編程人員和編譯器開發(fā)人員的使用。

龍芯架構(gòu)采用基礎(chǔ)部分(Loongson Base)加擴展部分的組織形式,其擴展部分包括:
二進制翻譯擴展(Loongson Binary Translation,簡稱LBT);
虛擬化擴展(Loongson Virtualization,簡稱LVA);
向量擴展(Loongson SIMD Extension,簡稱LSX);
高級向量擴展(Loongson Advanced SIMD Extension,簡稱LASX)。

當(dāng)前公開的只有“基礎(chǔ)架構(gòu)”部分,含32位(LA32)和64位(LA64)基礎(chǔ)指令說明。其向量擴展、虛擬化和二進制翻譯擴展的手冊還需要再等待一段時間。同時公開的還有“32位精簡版”,是對LA32的基礎(chǔ)部分的進一步簡化,目的是易于實現(xiàn),方便在教學(xué)和科研領(lǐng)域推廣使用。
我個人覺得龍芯架構(gòu)的存儲管理最有特色,與其它架構(gòu)不同的是,它提供了對內(nèi)存虛實地址映射的翻譯,提高了以二進制翻譯方式運行其它架構(gòu)的應(yīng)用程序時,從虛擬地址轉(zhuǎn)換到物理地址的效率,也就是與原生架構(gòu)有相近的內(nèi)存訪問效率。QEMU等純軟件的二進制翻譯,把進程的虛擬地址映射到物理地址至少需要十幾條指令進行計算,LoongArch的LBT則只需要2條指令,由于訪問內(nèi)存本身就需要數(shù)十個CPU周期,因此可以認(rèn)為使用LBT時只會降低幾十分之一的內(nèi)存訪問效率。
暫時就寫到這里,我得去詳細(xì)看看這本指令集手冊了,畢竟里面沒有不認(rèn)識的字,看的時候不需要翻譯軟件和詞典的輔助,大幅度地提高了閱讀效率?。?!