跳转至
灵犀指令集架构
介绍
正在初始化搜索引擎
LinxISA/linx-isa
灵犀指令集架构
LinxISA/linx-isa
设计背景
总体架构
总体架构
块指令定义
跳转方式
执行模型
执行机制
块体执行方式
程序序
访问控制环
中断异常
主动修复
指令集约束
灵犀Core
灵犀Core
概览
微架构契约
外部接口契约
验证矩阵
模块目录
流水线阶段目录
访问控制环
访问控制环
运行特权级
特权级切换
异常
中断
通用定时器
架构寄存器
架构寄存器
介绍
BPC
GGPR
TILE
BARG
TPC
SGPR
VGPR
LGPR
LTAR
LOOP
PRED
系统寄存器
系统寄存器
系统寄存器简介
通用系统寄存器
通用系统寄存器
介绍
TP
GP
TIME
CYCLE
CSTATE
LXLCID
VENDOR
VERSION
LCFR
LCFR_EN
BLOCKNUM
BLOCKID
轻核定制系统寄存器
轻核定制系统寄存器
介绍
TR
SYSCNT
CW
MSGB
ACR特定系统寄存器
ACR特定系统寄存器
介绍
ECSTATE
EVBASE
TRAPNO
TRAPARG0
ETEMP
FUTO
ECONFIG
IPENDING
TOPEI
EOIEI
EBPC
EBARG
ETPC
EBPCN
MMTBASE
MMCONFIG
TIMER_TIME
TIMER_TIMECMP
XBINFO
ACR_PARAM
数据类型
数据类型
介绍
FP64
FP32
TF32
HF32
FP16
BF16
FP8
HiF8
FP6
FP4
HiF4
MX_Microscaling
HiF_Microscaling
指令集总览
指令集总览
指令集概述
指令空间总览
基础指令集
基础指令扩展
压缩指令扩展
标准指令扩展
增强指令扩展
超长指令扩展
块类型介绍
块类型介绍
整型标量块
整型标量块
类型说明
块头定义
块体指令
系统块
系统块
类型说明
块头定义
块体指令
浮点标量块
浮点标量块
类型说明
块头定义
块体指令
访存数据块
访存数据块
类型说明
分组模式
块头定义
块内跳转
块体指令
向量数据块
向量数据块
类型说明
块头定义
申请栈空间
块内跳转
块体指令
矩阵数据块
矩阵数据块
类型说明
块头定义
数据搬运块
数据搬运块
类型说明
块头定义
模版数据块
模版数据块
类型说明
块头定义
系统调用块
系统调用块
类型说明
块头定义
标量指令集
标量指令集
参数配置
参数配置
B.CATR
B.DATR
B.HINT
B.TEXT
B.IOR
B.IOT
B.IOD
B.DIM
C.B.DIM
BSTOP
数据搬移
数据搬移
C.MOVR
C.MOVI
低位扩展
低位扩展
C.SEXT.B
C.SEXT.H
C.SEXT.W
C.ZEXT.B
C.ZEXT.H
C.ZEXT.W
算术运算
算术运算
简介
C.ADD
C.SUB
C.AND
C.OR
C.ADDI
C.SLLI
C.SRLI
ADD
SUB
AND
OR
XOR
SRL
SRA
SLL
ADDI
SUBI
ANDI
ORI
XORI
SRLI
SRAI
SLLI
ADDW
SUBW
ANDW
ORW
XORW
SRLW
SRAW
SLLW
ADDIW
SUBIW
ANDIW
ORIW
XORIW
SRLIW
SRAIW
SLLIW
HL.ADDI
HL.SUBI
HL.ANDI
HL.ORI
HL.XORI
HL.ADDIW
HL.SUBIW
HL.ANDIW
HL.ORIW
HL.XORIW
L.ADDLI
比较操作
比较操作
简介
C.CMP.EQI
C.CMP.NEI
CMP.EQ
CMP.NE
CMP.AND
CMP.OR
CMP.LT
CMP.LTU
CMP.GE
CMP.GEU
CMP.EQI
CMP.NEI
CMP.ANDI
CMP.ORI
CMP.LTI
CMP.LTUI
CMP.GEI
CMP.GEUI
HL.CMP.EQI
HL.CMP.NEI
HL.CMP.ANDI
HL.CMP.ORI
HL.CMP.LTI
HL.CMP.LTUI
HL.CMP.GEI
HL.CMP.GEUI
跳转参数设置
跳转参数设置
简介
C.SETC.EQ
C.SETC.NE
C.SETC.TGT
SETC.EQ
SETC.NE
SETC.AND
SETC.OR
SETC.LT
SETC.LTU
SETC.GE
SETC.GEU
SETC.EQI
SETC.NEI
SETC.ANDI
SETC.ORI
SETC.LTI
SETC.LTUI
SETC.GEI
SETC.GEUI
SETC.TGT
HL.SETC.EQI
HL.SETC.NEI
HL.SETC.ANDI
HL.SETC.ORI
HL.SETC.LTI
HL.SETC.LTUI
HL.SETC.GEI
HL.SETC.GEUI
地址计算类
地址计算类
简介
C.SETRET
ADDTPC
SETRET
HL.ADDTPC
HL.SETRET
常量加载
常量加载
LUI
HL.LIS
HL.LIU
HL.LUI
块内跳转
块内跳转
简介
B.EQ
B.NE
B.LT
B.GE
B.LTU
B.GEU
B.Z
B.NZ
J
JR
乘法操作
乘法操作
简介
MUL
MULU
MULW
MULUW
MADD
MADDW
HL.MUL
HL.MULU
HL.MADD
HL.MADDW
带立即数乘
带立即数乘
HL.MIADD
HL.MISUB
除法操作
除法操作
简介
DIV
DIVU
DIVW
DIVUW
REM
REMU
REMW
REMUW
HL.DIV
HL.DIVU
HL.DIVW
HL.DIVUW
HL.REM
HL.REMU
HL.REMW
HL.REMUW
比特位操作
比特位操作
简介
BXU
BXS
BIC
BIS
CTZ
CLZ
BCNT
REV
HL.BFI
HL.CCAT
HL.CCATW
条件选择
条件选择
CSEL
寄存器偏移访存
寄存器偏移访存
LB
LH
LW
LD
LBU
LHU
LWU
HL.LB.PR
HL.LH.PR
HL.LW.PR
HL.LD.PR
HL.LBU.PR
HL.LHU.PR
HL.LWU.PR
HL.LB.PO
HL.LH.PO
HL.LW.PO
HL.LD.PO
HL.LBU.PO
HL.LHU.PO
HL.LWU.PO
HL.LBP
HL.LHP
HL.LWP
HL.LDP
HL.LBUP
HL.LHUP
HL.LWUP
SB
SH
SW
SD
SH.U
SW.U
SD.U
HL.SBP
HL.SHP
HL.SWP
HL.SDP
HL.SHP.U
HL.SWP.U
HL.SDP.U
HL.SB.PR
HL.SH.PR
HL.SW.PR
HL.SD.PR
HL.SH.UPR
HL.SW.UPR
HL.SD.UPR
HL.SB.PO
HL.SH.PO
HL.SW.PO
HL.SD.PO
HL.SH.UPO
HL.SW.UPO
HL.SD.UPO
立即数偏移访存
立即数偏移访存
C.LWI
C.LDI
LBI
LHI
LWI
LDI
LBUI
LHUI
LWUI
LHI.U
LWI.U
LDI.U
LHUI.U
LWUI.U
HL.LBI
HL.LHI
HL.LWI
HL.LDI
HL.LBUI
HL.LHUI
HL.LWUI
HL.LHI.U
HL.LWI.U
HL.LDI.U
HL.LHUI.U
HL.LWUI.U
HL.LBIP
HL.LHIP
HL.LWIP
HL.LDIP
HL.LBUIP
HL.LHUIP
HL.LWUIP
HL.LHIP.U
HL.LWIP.U
HL.LDIP.U
HL.LHUIP.U
HL.LWUIP.U
HL.LBI.PR
HL.LHI.PR
HL.LWI.PR
HL.LDI.PR
HL.LBUI.PR
HL.LHUI.PR
HL.LWUI.PR
HL.LHI.UPR
HL.LWI.UPR
HL.LDI.UPR
HL.LHUI.UPR
HL.LWUI.UPR
HL.LBI.PO
HL.LHI.PO
HL.LWI.PO
HL.LDI.PO
HL.LBUI.PO
HL.LHUI.PO
HL.LWUI.PO
HL.LHI.UPO
HL.LWI.UPO
HL.LDI.UPO
HL.LHUI.UPO
HL.LWUI.UPO
C.SWI
C.SDI
SBI
SHI
SWI
SDI
SHI.U
SWI.U
SDI.U
HL.SBI
HL.SHI
HL.SWI
HL.SDI
HL.SHI.U
HL.SWI.U
HL.SDI.U
HL.SBIP
HL.SHIP
HL.SWIP
HL.SDIP
HL.SHIP.U
HL.SWIP.U
HL.SDIP.U
HL.SBI.PR
HL.SHI.PR
HL.SWI.PR
HL.SDI.PR
HL.SHI.UPR
HL.SWI.UPR
HL.SDI.UPR
HL.SBI.PO
HL.SHI.PO
HL.SWI.PO
HL.SDI.PO
HL.SHI.UPO
HL.SWI.UPO
HL.SDI.UPO
PC相对访存
PC相对访存
LB.PCR
LH.PCR
LW.PCR
LD.PCR
LBU.PCR
LHU.PCR
LWU.PCR
HL.LB.PCR
HL.LH.PCR
HL.LW.PCR
HL.LD.PCR
HL.LBU.PCR
HL.LHU.PCR
HL.LWU.PCR
L.LB.PCR
L.LH.PCR
L.LW.PCR
L.LD.PCR
L.LBU.PCR
L.LHU.PCR
L.LWU.PCR
SB.PCR
SH.PCR
SW.PCR
SD.PCR
HL.SB.PCR
HL.SH.PCR
HL.SW.PCR
HL.SD.PCR
L.SB.PCR
L.SH.PCR
L.SW.PCR
L.SD.PCR
预取操作
预取操作
HL.PRF
HL.PRF.A
HL.PRFI.U
HL.PRFI.UA
特殊寄存器访问
特殊寄存器访问
简介
C.SSRGET
SSRGET
SSRSET
SSRSWAP
LSRGET
浮点基础运算
浮点基础运算
简介
FADD
FSUB
FMUL
FDIV
FMADD
FMSUB
FNMADD
FNMSUB
浮点特殊运算
浮点特殊运算
FABS
FSQRT
FRECIP
FEXP
浮点比较类
浮点比较类
简介
FEQ
FNE
FLT
FGE
FEQS
FNES
FLTS
FGES
最大最小值
最大最小值
简介
MAX
MAXU
FMAX
MIN
MINU
FMIN
数据格式转换
数据格式转换
简介
FCVT
FCVTA
FCVTM
FCVTN
FCVTP
FCVTZ
SCVTF
UCVTF
软件断点
软件断点
C.EBREAK
EBREAK
算术运算
算术运算
L.ADD
L.SUB
L.AND
L.OR
L.XOR
L.SRL
L.SRA
L.SLL
L.ADDI
L.SUBI
L.ANDI
L.ORI
L.XORI
L.SRLI
L.SRAI
L.SLLI
比较操作
比较操作
L.CMP.EQ
L.CMP.NE
L.CMP.AND
L.CMP.OR
L.CMP.LT
L.CMP.GE
L.CMP.LTU
L.CMP.GEU
L.CMP.EQI
L.CMP.NEI
L.CMP.ANDI
L.CMP.ORI
L.CMP.LTI
L.CMP.GEI
L.CMP.LTUI
L.CMP.GEUI
乘除法运算
乘除法运算
L.MUL
L.MADD
L.DIV
L.REM
条件选择
条件选择
L.CSEL
比特位操作
比特位操作
L.BXS
L.BXU
L.BIC
L.BIS
L.CTZ
L.CLZ
L.BCNT
L.REV
访存指令
访存指令
L.LB
L.LH
L.LW
L.LD
L.LBU
L.LHU
L.LWU
L.LBI
L.LHI
L.LWI
L.LDI
L.LBUI
L.LHUI
L.LWUI
L.LHI.U
L.LWI.U
L.LDI.U
L.LHUI.U
L.LWUI.U
L.SB
L.SH
L.SW
L.SD
L.SH.U
L.SW.U
L.SD.U
L.SBI
L.SHI
L.SWI
L.SDI
L.SHI.U
L.SWI.U
L.SDI.U
原子操作
原子操作
L.LW.ADD
L.LW.AND
L.LW.OR
L.LW.XOR
L.LW.MAX
L.LW.MIN
L.LD.ADD
L.LD.AND
L.LD.OR
L.LD.XOR
L.LD.MAX
L.LD.MIN
L.SW.ADD
L.SW.AND
L.SW.OR
L.SW.XOR
L.SW.MAX
L.SW.MIN
L.SD.ADD
L.SD.AND
L.SD.OR
L.SD.XOR
L.SD.MAX
L.SD.MIN
浮点计算类
浮点计算类
L.FADD
L.FSUB
L.FMUL
L.FDIV
L.FMADD
L.FMSUB
L.FNMADD
L.FNMSUB
L.FABS
L.FSQRT
L.FEXP
L.FRECIP
L.FCLASS
浮点比较类
浮点比较类
L.FEQ
L.FNE
L.FLT
L.FGE
L.FEQS
L.FNES
L.FLTS
L.FGES
最大最小值
最大最小值
L.MAX
L.MIN
L.FMAX
L.FMIN
格式转换类
格式转换类
L.FCVT
L.FCVTI
L.ICVT
L.ICVTF
队列管理
队列管理
L.QPUSH
L.QPOP
系统指令集
系统指令集
系统控制类
系统控制类
简介
BSE
BWE
BWI
BWT
ASSERT
DSB
ISB
ACRC
ACRE
直接内存存取
直接内存存取
DMA
加载保留与条件存储
加载保留与条件存储
简介
LR.B
LR.H
LR.W
LR.D
SC.B
SC.H
SC.W
SC.D
原子操作
原子操作
简介
LD.ADD
LD.AND
LD.OR
LD.XOR
LD.SMAX
LD.SMIN
LD.UMAX
LD.UMIN
SD.ADD
SD.AND
SD.OR
SD.XOR
SD.SMAX
SD.SMIN
SD.UMAX
SD.UMIN
LW.ADD
LW.AND
LW.OR
LW.XOR
LW.SMAX
LW.SMIN
LW.UMAX
LW.UMIN
SW.ADD
SW.AND
SW.OR
SW.XOR
SW.SMAX
SW.SMIN
SW.UMAX
SW.UMIN
SWAPB
SWAPH
SWAPW
SWAPD
HL.CASB
HL.CASH
HL.CASW
HL.CASD
L.CASBP
L.CASHP
L.CASWP
L.CASDP
缓存管理类
缓存管理类
简介
BC.IVA
BC.IALL
IC.IVA
IC.IALL
DC.IVA
DC.IALL
DC.CVA
DC.CIVA
DC.ISW
DC.CSW
DC.CISW
DC.ZVA
页表管理类
页表管理类
简介
TLB.IA
TLB.IV
TLB.IAV
TLB.IALL
系统寄存器访问
系统寄存器访问
HL.SSRGET
HL.SSRSET
通用队列管理
通用队列管理
简介
HL.QMT
HL.QPUSH
HL.QPOP
向量指令集
向量指令集
介绍
算术运算
算术运算
简介
V.ADD
V.SUB
V.AND
V.OR
V.XOR
V.SRL
V.SRA
V.SLL
V.ADDI
V.SUBI
V.ANDI
V.ORI
V.XORI
V.SRLI
V.SRAI
V.SLLI
比较操作
比较操作
简介
V.CMP.EQ
V.CMP.NE
V.CMP.AND
V.CMP.OR
V.CMP.LT
V.CMP.GE
V.CMP.LTU
V.CMP.GEU
V.CMP.EQI
V.CMP.NEI
V.CMP.ANDI
V.CMP.ORI
V.CMP.LTI
V.CMP.GEI
V.CMP.LTUI
V.CMP.GEUI
乘除法运算
乘除法运算
简介
V.MUL
V.MADD
V.DIV
V.REM
条件选择
条件选择
V.CSEL
V.PSEL
比特位操作
比特位操作
简介
V.BXS
V.BXU
V.BIC
V.BIS
V.CTZ
V.CLZ
V.BCNT
V.REV
普通访存指令
普通访存指令
简介
V.LB
V.LH
V.LW
V.LD
V.LBU
V.LHU
V.LWU
V.LBI
V.LHI
V.LWI
V.LDI
V.LBUI
V.LHUI
V.LWUI
V.LHI.U
V.LWI.U
V.LDI.U
V.LHUI.U
V.LWUI.U
V.SB
V.SH
V.SW
V.SD
V.SH.U
V.SW.U
V.SD.U
V.SBI
V.SHI
V.SWI
V.SDI
V.SHI.U
V.SWI.U
V.SDI.U
桥接访存指令
桥接访存指令
简介
V.LB.BRG
V.LH.BRG
V.LW.BRG
V.LD.BRG
V.LBU.BRG
V.LHU.BRG
V.LWU.BRG
V.LBI.BRG
V.LHI.BRG
V.LWI.BRG
V.LDI.BRG
V.LBUI.BRG
V.LHUI.BRG
V.LWUI.BRG
V.LHI.U.BRG
V.LWI.U.BRG
V.LDI.U.BRG
V.LHUI.U.BRG
V.LWUI.U.BRG
V.SB.BRG
V.SH.BRG
V.SW.BRG
V.SD.BRG
V.SH.U.BRG
V.SW.U.BRG
V.SD.U.BRG
V.SBI.BRG
V.SHI.BRG
V.SWI.BRG
V.SDI.BRG
V.SHI.U.BRG
V.SWI.U.BRG
V.SDI.U.BRG
原子操作
原子操作
简介
V.LW.ADD
V.LW.AND
V.LW.OR
V.LW.XOR
V.LW.MAX
V.LW.MIN
V.LD.ADD
V.LD.AND
V.LD.OR
V.LD.XOR
V.LD.MAX
V.LD.MIN
V.SW.ADD
V.SW.AND
V.SW.OR
V.SW.XOR
V.SW.MAX
V.SW.MIN
V.SD.ADD
V.SD.AND
V.SD.OR
V.SD.XOR
V.SD.MAX
V.SD.MIN
浮点计算类
浮点计算类
简介
V.FADD
V.FSUB
V.FMUL
V.FDIV
V.FMADD
V.FMSUB
V.FNMADD
V.FNMSUB
V.FABS
V.FSQRT
V.FEXP
V.FRECIP
V.FCLASS
浮点比较类
浮点比较类
简介
V.FEQ
V.FNE
V.FLT
V.FGE
V.FEQS
V.FNES
V.FLTS
V.FGES
最大最小值
最大最小值
简介
V.MAX
V.MIN
V.FMAX
V.FMIN
格式转换类
格式转换类
简介
V.FCVT
V.FCVTI
V.ICVT
V.ICVTF
归约操作
归约操作
简介
V.RDADD
V.RDAND
V.RDOR
V.RDXOR
V.RDFADD
V.RDMAX
V.RDMIN
V.RDFMAX
V.RDFMIN
跨通道数据搬移
跨通道数据搬移
简介
V.SHFL.UP
V.SHFL.DOWN
V.SHFL.BFLY
V.SHFL.IDX
V.SHFLI.UP
V.SHFLI.DOWN
V.SHFLI.BFLY
V.SHFLI.IDX
寄存器移动
寄存器移动
V.MOV
队列管理
队列管理
简介
V.QPUSH
V.QPOP
张量指令集
张量指令集
简介
逐元素操作
逐元素操作
TADD
TSUB
TMUL
TDIV
TREM
TFMOD
TAND
TOR
TXOR
TSHL
TSHR
TMAX
TMIN
TCMP
TPRELU
TABS
TNOT
TNEG
TEXP
TLOG
TRECIP
TSQRT
TRSQRT
TRELU
TADDC
TSUBC
TSEL
TCVT
逐元素和标量操作
逐元素和标量操作
TADDS
TSUBS
TMULS
TDIVS
TREMS
TFMODS
TANDS
TORS
TXORS
TSHLS
TSHRS
TMAXS
TMINS
TCMPS
TLRELU
TADDSC
TSUBSC
TSELS
TEXPANDS
按轴逐元素操作
按轴逐元素操作
TROWSUM
TROWMAX
TROWMIN
TROWPROD
TROWEXPAND
TROWEXPANDADD
TROWEXPANDSUB
TROWEXPANDMUL
TROWEXPANDDIV
TROWEXPANDMAX
TROWEXPANDMIN
TROWEXPANDEXPDIF
TCOLSUM
TCOLMAX
TCOLMIN
TCOLPROD
TCOLEXPAND
TCOLEXPANDADD
TCOLEXPANDSUB
TCOLEXPANDMUL
TCOLEXPANDDIV
TCOLEXPANDMAX
TCOLEXPANDMIN
TCOLEXPANDEXPDIF
矩阵乘操作
矩阵乘操作
TMATMUL
TMATMUL.BIAS
TMATMUL.ACC
TMATMULMX
TMATMULMX.BIAS
TMATMULMX.ACC
TGEMV
TGEMV.BIAS
TGEMV.ACC
TGEMVMX
TGEMVMX.BIAS
TGEMVMX.ACC
固定管线操作
固定管线操作
ACCCVT
访存操作
访存操作
TLOAD
TSTORE
TMOV
MGATHER
MGATHER.MASK
MSCATTER
MSCATTER.MASK
复杂操作
复杂操作
THISTOGRAM
模版指令集
模版指令集
介绍
MCOPY
MCOPY.D
MSET
FENTRY
FEXIT
FRET.RA
FRET.STK
ESAVE
ERCOV
GETMSG
编程手册
编程手册
介绍
架构和寄存器
介绍汇编语言
介绍汇编语言
综述
其他架构汇编的区别
汇编链接工具介绍
汇编语法
汇编语法
汇编语法
标签
段
汇编指令
汇编指令
汇编指令
块头
块头
综述
块头开始伪指令BSTART
块头结束伪指令BSTOP
块体地址指示指令B.TEXT
块控制属性伪指令B.CATR
块头示例
微指令
微指令
微指令介绍
常量值和立即数
状态标志和条件执行
微指令汇编指令
微指令汇编指令
综述
公有汇编指令
公有汇编指令
压缩指令
标准二进制整数运算
比较,分支,跳转
PC计算指令
常量指令
访存指令
乘除法指令
位操作指令
系统寄存器操作
私有汇编指令
私有汇编指令
标量块微指令
系统块微指令
浮点块微指令
并行块微指令
模板块
汇编器内置指令
ELF的layout调整
内联汇编
调用约定
软件码块标记指导
介绍
¶
本文描述灵犀指令集架构下,利用llvm内置汇编链接工具为基础实现的汇编器及链接器相关一些语法及选项等使用方式描述,以便用户更好地手写汇编或使用汇编器及链接器。