LoongISA

LoongISA(简称LISA)是龙芯中科出品的,通过64位MIPS指令集扩展而来的CPU指令集架构。LoongISA 采用MIPS的指令集格式,包括MIPS64 Release 2全套指令集和MIPS64 Release 5中的部分指令模块,以及其他一系列龙芯中科自主扩展的指令集。LoongISA是龙芯中科的注册商标。

2021年4月15日,龙芯发布了新指令集架构LoongArch,同年出品了使用该架构的3A5000。此后的龙芯CPU都使用LoongArch,LoongISA进入弃用状态。

版本
LoongISA 1.0
LoongISA 1.0正式公开于在2015年8月18日的发布会,和龙芯3A2000、GS464E、Loongnix一起发布。
LoongISA指令系统在MIPS64架构500多条指令基础上,在基础指令、虚拟机指令、面向X86和ARM的二进制翻译指令、向量指令和核心态等多个方面增加了近1400条新指令,

|-
!指令集全称
!指令集简称
!指令集描述
!LoongISA 1.0
GS464E、GS264
!LoongISA 2.0
GS464V R2
!备注
|-
!colspan=6|MIPS部分(MIPS64 R2)
|-
|MIPS SIMD Architecture 1.0
|MSA 1
|MIPS64 可选SIMD模块
|
|
|
|-
|MIPS SIMD Architecture 2.0
|MSA 2
|MIPS64 可选SIMD模块
|
|
|
|-
|MIPS Virtualization
|VZ
|MIPS64 可选虚拟化模块
|
|
|
|-
|MIPS DSP
|DSP
|MIPS64 可选DSP模块
|
|
|
|-
|MIPS Cryptographic
|CGP
|MIPS64 可选密码学指令集
|
|
|
|-
!colspan=6|龙芯扩展指令
|-
|LoongMMI
|MMI
|龙芯多媒体扩展指令集
|
|
|
|-
|LoongCAM
|LCAMP
|硬件查找表功能指令集
|
|
|
|-
|LoongEXT 1
|EXT 1
|龙芯通用扩展指令集 I
|
|
|
|-
|LoongEXT 2
|EXT 2
|龙芯通用扩展指令集 II
|
|
|
|-
|LoongEXT 3
|EXT 3
|龙芯通用扩展指令集 III
|
|
|
|-
|LoongVZ
|LVZP
|龙芯虚拟化扩展指令集
|
|
|
|-
|LoongSX 1
|LSX 1
|龙芯向量扩展指令集 I
|
|
|
|-
|LoongSX 2
|LSX 2
|龙芯向量扩展指令集 II
|
|
|
|-
|LoongASX
|LASX
|龙芯高级向量扩展指令集
|
|
|
|-
|LoongSPW
|LSPW
|龙芯页表遍历扩展指令集
|
|
|
|-
|LoongAMO
|LAMO
|龙芯原子访存指令集
|
|
|
|-
|LoongBT 1
|LBT 1
|龙芯二进制翻译加速扩展指令集 I
|
|
|
|-
|LoongBT 2
|LBT 2
|龙芯二进制翻译加速扩展指令集 II
|
|
|
|-
|LoongBT 3
|LBT 3
|龙芯二进制翻译加速扩展指令集 III
|
|
|
|}

指令集
MIPS部分
与MIPS的不同点
浮点标准
LoongISA 1.0的浮点遵守IEEE754-1989标准,使用Legacy NaN的QNaN/SNaN定义。但是其MADD指令则按IEEE754-2008的Fused MADD标准实现,与MIPS64 Release2不同。

LoongISA 2.0则全部遵循IEEE754-2008标准,使用IEEE754-2008规定的NaN 2008的QNaN/SNaN定义,依照MIPS64 Release 5 实现浮点运算单元。

LoongMMI
LoongMMI(LoongMultiMedia extensions Instruction)指令集是龙芯多媒体扩展指令集的英文简称,用于多媒体加速。

LoongEXT
LoongEXT(简称LEXT)是龙芯通用扩展指令集。LoongEXT现在最新版为3.0,按照指令长度分LoongEXT32LoongEXT64两种类别。LoongEXT指令集已提交了对gcc社区的支持,可在编译中选用此指令集的优化选项。

LoongVZ
LoongVZ(简称LVZP)是龙芯针对MIPS64 Release 5中的VZ虚拟化模块指令集的扩展,现已在龙芯中科的KVM、QEMU和libvirt库中有所运用。

参考文献
参见

  • 龙芯
  • 龙芯中科
  • MIPS架构
  • 精简指令集

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。