本页使用了标题或全文手工转换

草稿:LoongArch

维基百科,自由的百科全书
跳到导航 跳到搜索
LoongArch
推出年份2020年8月13日,​2個月前​(2020-08-13
設計公司龙芯中科
體系結構類型寄存器-寄存器,Load-Store
字長/暫存器資料寬度32位64位
位元組序小端序
指令集架構設計策略精簡指令集(RISC)
擴展指令集LSX1/2
LASX
LBT1/2/3
LVZ
分支預測結構比較和分支

LoongArch,简称LArch,是一个龙芯中科研发的指令集架构。该架构包含了架构翻译(Architecture Translate)的指令子集,可在软硬配合下高效率翻译诸如x86-64ARM架构MIPS架构RISC-V架构等指令集架构。其拥有基础指令 337 条、虚拟机扩展 10 条、二进制翻译扩展 176 条、128 位向量扩展 1024 条、256 位向量扩展 1018 条,共计 2565 条原生指令。[1][2]

设计[编辑]

设计理念[编辑]

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]

指令子集[编辑]

指令集名称 描述 指令数量
基本指令集
LoongArch 基础指令 337 条
扩展指令子集
LSX 128 位向量扩展 1024 条
LASX 256 位向量扩展 1018 条
LBT(LAT) 二进制翻译扩展 176 条
LVZ 虚拟机扩展 10 条

指令集架构和微架构实现特点[编辑]

參考資料[编辑]

  1. ^ 1.0 1.1 guee. 如何看待龙芯对外公开的 LoongArch 指令集?. 2020-08-21 [2020-10-11]. 
  2. ^ 2.0 2.1 maomaobear. 龙芯放弃MIPS指令集就能实现自主可控吗?. 2020-08-18 11:30:34 [2020-10-11]. 

外部連結[编辑]

Definition of Free Cultural Works logo notext.svg 本条目包含了自由内容作品内的文本。 在CC-BY-SA 3.0协议下释出(许可证声明): 《如何看待龙芯对外公开的 LoongArch 指令集?》, 知乎用户guee, 欲了解如何向维基百科条目内添加开放许可证文本,请见这里;欲知如何重用本站文字,请见使用条款

Category:使用创建条目精灵建立的页面