LoongArch
此條目需要精通或熟悉相關主題的編者參與及協助編輯。 |
LoongArch,簡稱LA,是一個龍芯中科研發的指令集架構。該架構包含了架構翻譯(Architecture Translate)的指令子集,可在軟硬配合下高效率翻譯諸如x86-64、ARM架構、MIPS架構、RISC-V架構等指令集架構。其擁有基礎指令337條、虛擬機器擴充10條、二進制翻譯擴充176條、128位元向量擴充1024條、256 位向量擴充1018條,共計2565條原生指令。[1][2]
推出年份 | 2020年8月13日 |
---|---|
設計公司 | 龍芯中科 |
是否開放架構? | 是(僅限LA Primary) |
體系結構類型 | 暫存器-暫存器,Load-Store |
字長/暫存器資料寬度 | 32位元、64位元 |
位元組序 | 小端序 |
指令集架構設計策略 | 精簡指令集(RISC) |
擴展指令集 | LSX1/2 LASX LBT1/2/3 LVZ |
分支預測結構 | 比較和分支 |
通用暫存器 | 32 |
2020年8月13日,龍芯中科董事長胡偉武在視訊會議上首次公開介紹了LoongArch。2021年4月15日,LoongArch在2021年山西資訊科技應用創新論壇主論壇上正式對外釋出。[3][4]2021年4月30日,LoongArch32和LoongArch64基本指令集手冊正式公布。[5]
設計
設計理念
LoongArch為32位元定長RISC指令集,32個通用暫存器、32個浮點/向量暫存器,LoongArch可用的格式多達10種 ,其包含3種無立即數格式和7種有立即數格式。相對於MIPS,摒棄部分不適合現代CPU的指令,做了改進和擴充,例如單條指令支援的立即數從MIPS的最大16位元擴充到最大24位元,分支跳轉偏移也從64KiB擴充到1MiB位元組,以及定址空間從固定分段改變為單一平面等,有效減少編譯結果的目標指令條數和訪存次數,提高了效能。[1][2]
指令格式
類型 | 位 | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
無立即數 | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
rk (5) | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
fa (5) | fk (5) | rj (5) | rd (5) | |||||||||||||||||||||||||||||
有立即數 | immediate (6) | rj (5) | rd (5) | |||||||||||||||||||||||||||||
immediate (8) | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
immediate (12) | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
immediate (14) | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
immediate (16) | rj (5) | rd (5) | ||||||||||||||||||||||||||||||
immediate [15:0] | rj (5) | immediate [20:16] | ||||||||||||||||||||||||||||||
immediate [15:0] | immediate [24:16] |
指令子集
指令集名稱 | 描述 | 指令數量 |
---|---|---|
基本指令集 | ||
LoongArch64 | 64位基礎指令 | 337 條 |
LoongArch32 | 32位元基礎指令 | |
LoongArch
Primary |
32位元精簡指令 | 79 條 |
擴充指令子集 | ||
LSX | 128位元向量擴充 | 1024 條 |
LASX | 256位向量擴充 | 1018 條 |
LBT | 二進制翻譯擴充 | 176 條 |
LVZ | 虛擬機器擴充 | 10 條 |
指令集架構和微架構實現特點
暫存器集中包含RISC所具備的0號暫存器。[1]整體上,LoongArch64是MIPS64R6和RV64GC的超集,且原生上相容RISC-V64的使用者態指令。
糾紛
2021年6月2日,上海芯聯芯釋出公告,稱LoongArch或與其所擁有的MIPS專利存在智慧財產權侵權,在香港國際仲裁中心發起仲裁訴訟。[6][7]之後雙方在廣州、上海、北京多地知識產權法院提起訴訟。[8][9]2023年2月,北京知識產權法院審理認為龍芯未侵權,[10]但芯聯芯稱結果暫無法律效力。[11]2023年6月25日,香港仲裁結果公布,芯聯芯提出的7項仲裁主張中有6項被駁回,1項(少報版稅)被判定為尚待解決事項,本次仲裁不會對龍芯中科技術方面產生重大不利影響。[12][13]
參見
參考資料
- ^ 1.0 1.1 1.2 guee. 如何看待龙芯对外公开的 LoongArch 指令集?. 2020-08-21 [2020-10-11].
- ^ 2.0 2.1 maomaobear. 龙芯放弃MIPS指令集就能实现自主可控吗?. 2020-08-18 11:30:34 [2020-10-11]. (原始內容存檔於2020-08-20).
- ^ 自主需要从根--龙芯中科正式发布完全自主指令集架构LoongArch. 2021-04-16 17:15:31 [2021-06-07]. (原始內容存檔於2021-06-07).
- ^ IT之家. 龙芯3A5000国产CPU即将发布:基于完全自主指令系统架构LoongArch. 2021-04-22 12:20:13 [2021-06-07]. (原始內容存檔於2021-06-07).
- ^ 龙芯正式发布LoongArch指令系统手册. 2021年04月30日 20:50:26 [2021-06-07]. (原始內容存檔於2021-06-07).
- ^ 龙芯中科LoongArch或存知识产权侵权风险 芯联芯称已对其提起仲裁_腾讯新闻. new.qq.com. [2021-06-07]. (原始內容存檔於2021-06-07).
- ^ 龙芯中科LoongArch或存知识产权侵权风险被提起仲裁_财经_澎湃新闻-The Paper. www.thepaper.cn. [2021-06-07]. (原始內容存檔於2021-06-07).
- ^ 起诉龙芯大败而归:芯联芯内部巨变 干不下去了. [2024-04-18]. (原始內容存檔於2024-04-18).
- ^ 自由時報電子報. 「芯」情很差!中國判龍芯未侵權 台籍團隊被坑了 - 自由財經. ec.ltn.com.tw. 2023-02-09 [2024-04-18]. (原始內容存檔於2024-04-18) (中文(臺灣)).
- ^ 科技plus. 龙芯官司赢了!LoongArch指令集100%自研,不再依赖国外MIPS_LoongISA_路线_技术. www.sohu.com. [2023-04-10]. (原始內容存檔於2023-04-19).[來源可靠?]
- ^ 声明. www.cipunited.com. 2023-02-08 [2023-04-10]. (原始內容存檔於2023-04-10).[需要非第一手來源]
- ^ 500亿芯片巨头知识产权纠纷,有了最新结果!. www.stcn.com. [2024-04-18]. (原始內容存檔於2024-04-18).
- ^ 国产龙芯自研指令集未侵权MIPS,芯联芯7项仲裁主张6项被驳回. [2024-04-18]. (原始內容存檔於2024-04-18).
外部連結
- 丢掉幻想!龙芯中科将推出LoongArch自主指令集,深度兼容Windows、Linux、Android程序. 《麻省理工科技評論》中文網. [2020-10-18]. (原始內容存檔於2020-11-17).
- xianyi/OpenBLAS / kernel/loongarch64 (頁面存檔備份,存於網際網路檔案館): LSX/LASX 組譯在龍芯OpenBLAS實現中的例子,由"Robin" (頁面存檔備份,存於網際網路檔案館)發現
本條目包含了自由內容作品內的文字。 在CC-BY-SA 3.0協定下釋出(授權條款聲明): 《如何看待龍芯對外公開的 LoongArch 指令集?》, 知乎使用者guee, 欲了解如何向維基百科條目內添加開放授權條款文字,請見這裡;欲知如何重用本站文字,請見使用條款。