LoongArch
此条目需要精通或熟悉相关主题的编者参与及协助编辑。 |
推出年份 | 2020年8月13日 |
---|---|
设计公司 | 龙芯中科 |
是否开放架构? | 是(仅限LA Primary) |
体系结构类型 | 寄存器-寄存器,Load-Store |
字长/寄存器资料宽度 | 32位、64位 |
字节序 | 小端序 |
指令集架构设计策略 | 精简指令集(RISC) |
扩展指令集 | LSX1/2 LASX LBT1/2/3 LVZ |
分支预测结构 | 比较和分支 |
通用寄存器 | 32 |
LoongArch,简称LA,是一个龙芯中科研发的指令集架构。该架构包含了架构翻译(Architecture Translate)的指令子集,可在软硬配合下高效率翻译诸如x86-64、ARM架构、MIPS架构、RISC-V架构等指令集架构。其拥有基础指令337条、虚拟机扩展10条、二进制翻译扩展176条、128位向量扩展1024条、256 位向量扩展1018条,共计2565条原生指令。[1][2]
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, 欲了解如何向维基百科条目内添加开放许可证文本,请见这里;欲知如何重用本站文字,请见使用条款。